Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/pace/model/gt/GTAuthorMapper.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/pace/model/gt/GTAuthorMapper.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/pace/model/gt/GTAuthorMapper.java	(revision 51225)
@@ -0,0 +1,115 @@
+package eu.dnetlib.pace.model.gt;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Iterables;
+import eu.dnetlib.data.proto.FieldTypeProtos.DataInfo;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.FieldTypeProtos.StringField;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.PersonProtos.Person.CoAuthor;
+import eu.dnetlib.data.proto.PersonProtos.Person.MergedPerson;
+import eu.dnetlib.data.proto.PersonProtos.Person.Metadata;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.lang3.StringUtils;
+
+public class GTAuthorMapper {
+
+	public DNGF map(final GTAuthor gta) {
+
+		final DNGF.Builder oaf = DNGF.newBuilder();
+
+		oaf.setDataInfo(getDataInfo());
+		oaf.setLastupdatetimestamp(System.currentTimeMillis());
+		oaf.setKind(Kind.entity);
+		oaf.setEntity(getDNGFEntity(gta));
+
+		return oaf.build();
+	}
+
+	private DNGFEntity getDNGFEntity(final GTAuthor gta) {
+		final DNGFEntity.Builder entity = DNGFEntity.newBuilder();
+		entity.setType(Type.person);
+		entity.setId(gta.getId());
+		entity.setPerson(getPerson(gta));
+		return entity.build();
+	}
+
+	private Person getPerson(final GTAuthor gta) {
+		final Person.Builder person = Person.newBuilder();
+
+		if (gta.getAuthor() != null) {
+			final Person.Metadata.Builder m = Person.Metadata.newBuilder();
+
+			if (StringUtils.isNotBlank(gta.getAuthor().getFullname())) {
+				m.setFullname(sf(gta.getAuthor().getFullname()));
+			}
+			if (StringUtils.isNotBlank(gta.getAuthor().getFirstname())) {
+				m.setFirstname(sf(gta.getAuthor().getFirstname()));
+			}
+			if (StringUtils.isNotBlank(gta.getAuthor().getSecondnames())) {
+				m.addSecondnames(sf(gta.getAuthor().getSecondnames()));
+			}
+
+			person.setMetadata(m.build());
+		}
+
+		person.setAnchor(true);
+		person.addAllMergedperson(Iterables.transform(gta.getMerged(), new Function<Author, MergedPerson>() {
+
+			@Override
+			public MergedPerson apply(final Author a) {
+				final MergedPerson.Builder mp = MergedPerson.newBuilder();
+				mp.setId(a.getId());
+				mp.setMetadata(getMetadata(a));
+				return mp.build();
+			}
+
+		}));
+
+		person.addAllCoauthor(Iterables.transform(gta.getCoAuthors(), new Function<eu.dnetlib.pace.model.gt.CoAuthor, CoAuthor>() {
+
+			@Override
+			public CoAuthor apply(final eu.dnetlib.pace.model.gt.CoAuthor ca) {
+				final CoAuthor.Builder coAuthor = CoAuthor.newBuilder();
+				coAuthor.setId(ca.getId());
+				if (StringUtils.isNotBlank(ca.getAnchorId())) {
+					coAuthor.setAnchorId(ca.getAnchorId());
+				}
+				coAuthor.setMetadata(getMetadata(ca));
+				return coAuthor.build();
+			}
+		}));
+
+		return person.build();
+	}
+
+	private Metadata getMetadata(final Author a) {
+		final Metadata.Builder m = Metadata.newBuilder();
+		m.setFullname(sf(a.getFullname()));
+		if (a.isWellFormed()) {
+			m.setFirstname(sf(a.getFirstname()));
+			m.addSecondnames(sf(a.getSecondnames()));
+		}
+		return m.build();
+	}
+
+	private DataInfo getDataInfo() {
+		final DataInfo.Builder d = DataInfo.newBuilder();
+		d.setDeletedbyinference(false);
+		d.setInferred(true);
+		d.setTrust("0.5");
+		d.setInferenceprovenance("dedup-person-groundtruth");
+		d.setProvenanceaction(Qualifier.newBuilder().setClassid("").setClassname("").setSchemeid("").setSchemename(""));
+		return d.build();
+	}
+
+	private StringField sf(final String s) {
+		final StringField.Builder sf = StringField.newBuilder();
+		sf.setValue(s);
+		return sf.build();
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedWDSDataJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedWDSDataJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedWDSDataJob.xml	(revision 51225)
@@ -0,0 +1,55 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="4bf4bdc4-3668-4dc5-977c-a98862ad7a24_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="elasticsearchFeedWDSDataJob" type="mapreduce">
+            <DESCRIPTION>map only job that builds WDS records and index them on ES</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class" value="org.elasticsearch.hadoop.mr.EsOutputFormat"/>
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.wds.IndexWDSMapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- MISC -->
+                <PROPERTY key="es.nodes"
+                          value="ip-90-147-167-137.ct1.garrservices.it:9200, ip-90-147-167-126.ct1.garrservices.it:9200, ip-90-147-167-13.ct1.garrservices.it:9200, ip-90-147-167-125.ct1.garrservices.it:9200"/>
+                <PROPERTY key="es.nodes.resolve.hostname" value="false"/>
+                <PROPERTY key="es.nodes.wan.only" value="true"/>
+
+                <PROPERTY key="es.resource" value="wds/item"/>
+                <PROPERTY key="es.mapping.id" value="id"/>
+                <PROPERTY key="es.input.json" value="yes"/>
+
+                <PROPERTY key="mapred.reduce.tasks" value="0"/>
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+                <PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS/>
+                <FAMILIES/>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupBuildRootsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupBuildRootsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupBuildRootsJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="895ce6a9-4131-4954-b9ed-949ff78f5448_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupBuildRootsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that build the roots and redirects the rels</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupBuildRootsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupBuildRootsReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Writable" />				
+	
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+                <PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+                <PROPERTY key="mapred.task.timeout" value="2400000"/>
+			
+				<PROPERTY key="mapred.reduce.tasks" value="10" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+	
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN caching="10">
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES/>        		
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedDliScholixDataJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedDliScholixDataJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedDliScholixDataJob.xml	(revision 51225)
@@ -0,0 +1,71 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                        value="6e96b76e-8398-4afe-a74b-56cea0b1dc68_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="elasticsearchFeedDliScholixDataJob" type="mapreduce">
+            <DESCRIPTION>map reduce job that joins the entities on the hbase table and produces scholix records that are indexed on ES</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class" value="org.elasticsearch.hadoop.mr.EsOutputFormat" />
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dli.PrepareScholixDataMapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.DliKey"/>
+                <PROPERTY key="mapreduce.mapoutput.key.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.DliKey"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+
+                <!-- PARTITIONER -->
+                <PROPERTY key="mapred.partitioner.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyPartitioner"/>
+                <PROPERTY key="mapreduce.partitioner.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyPartitioner"/>
+                <PROPERTY key="mapred.output.value.groupfn.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyGroupingComparator"/>
+                <PROPERTY key="mapreduce.output.value.groupfn.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyGroupingComparator"/>
+                <!--<PROPERTY key="mapred.output.key.comparator.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.CompositeKeyComparator"/>-->
+
+                <!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dli.PrepareScholixDataReducer"/>
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- MISC -->
+                <PROPERTY key="es.nodes"
+                          value="90.147.167.27:9200,90.147.167.25:9200,90.147.167.28:9200,90.147.167.26:9200"/>
+                <PROPERTY key="es.nodes.resolve.hostname" value="false"/>
+                <PROPERTY key="es.nodes.wan.only" value="true"/>
+                <PROPERTY key="es.resource" value="dli/scholix"/>
+                <PROPERTY key="es.input.json" value="yes"/>
+                <PROPERTY key="mapred.reduce.tasks" value="10"/>
+
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+
+                <!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+                <!--  	Uncomment to override the default lib path -->
+                <!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+                <PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS/>
+                <FAMILIES/>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFixRelationsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFixRelationsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFixRelationsJob.xml	(revision 51225)
@@ -0,0 +1,72 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="5b99d940-7477-40db-a458-549d301419c5_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupFixRelationsJob" type="mapreduce">
+            <DESCRIPTION>map reduce job that redirects the rels to fix the graph consistency</DESCRIPTION>
+            <STATIC_CONFIGURATION><!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class"
+                          value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat"/>
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupFixRelationMapper"/>
+                <PROPERTY key="mapreduce.mapoutput.key.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.kv.DNGFKey"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.kv.DNGFKey"/>
+                <PROPERTY key="mapreduce.mapoutput.value.class"
+                          value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+                <!-- PARTITIONER / SECONDARY SORTING -->
+                <PROPERTY key="mapreduce.partitioner.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dedup.kv.DNGFKeyPartitioner"/>
+                <PROPERTY key="mapred.partitioner.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dedup.kv.DNGFKeyPartitioner"/>
+
+                <PROPERTY key="mapred.output.value.groupfn.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dedup.kv.DNGFKeyGroupingComparator"/>
+                <PROPERTY key="mapreduce.output.value.groupfn.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dedup.kv.DNGFKeyGroupingComparator"/>
+				<!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupFixRelationReducer"/>
+                <PROPERTY key="mapreduce.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+                <PROPERTY key="mapreduce.output.value.class" value="org.apache.hadoop.io.Writable"/>
+                <!-- MISC -->
+                <PROPERTY key="mapreduce.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapreduce.map.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapreduce.map.speculative" value="false"/>
+                <PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.speculative" value="false"/>
+                <PROPERTY key="mapred.reduce.speculative" value="false"/>
+                <PROPERTY key="mapred.reduce.tasks" value="100"/>
+
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+                <PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table"/>
+                <PARAM name="ontologies" required="true"
+                       description="ontology values fetched from the information system"/>
+            </JOB_INTERFACE>
+            <SCAN caching="10">
+                <FILTERS operator="MUST_PASS_ALL">
+                    <FILTER type="prefix" param="entityTypeId"/>
+                </FILTERS>
+                <FAMILIES/>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2017-03-16T10:45:48+01:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="2"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFUtils.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFUtils.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFUtils.java	(revision 51225)
@@ -0,0 +1,129 @@
+package eu.dnetlib.data.graph.model;
+
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+import com.google.protobuf.Descriptors;
+import com.google.protobuf.GeneratedMessage;
+import eu.dnetlib.data.proto.*;
+
+import java.util.Arrays;
+import java.util.Set;
+
+/**
+ * Created by sandro on 12/13/16.
+ */
+public class DNGFUtils {
+
+    public static Set<String> entities() {
+        return Sets.newHashSet(Iterables.transform(Lists.newArrayList(TypeProtos.Type.values()), t -> t.toString()));
+    }
+
+    public static Predicate<DNGFProtos.DNGF> relationFilter() {
+        return dngf -> dngf.getKind().equals(KindProtos.Kind.relation);
+    }
+
+    public static Predicate<DNGFProtos.DNGF> entityFilter() {
+        return dngf -> dngf.getKind().equals(KindProtos.Kind.entity);
+    }
+
+    public static Function<DNGFDecoder, String> idDecoder() {
+        return input -> input.getEntityId();
+    }
+
+    public static Predicate<FieldTypeProtos.StructuredProperty> mainTitleFilter() {
+        return sp -> (sp.getQualifier() != null) && sp.getQualifier().getClassname().equals("main title");
+    }
+
+    public static Set<String> getFieldNames(final Descriptors.Descriptor d, final Integer... tag) {
+        return Sets.newHashSet(Iterables.transform(Arrays.asList(tag), i -> {
+            final Descriptors.FieldDescriptor fd = d.findFieldByNumber(i);
+            if (fd == null) throw new IllegalArgumentException("undefined tag: " + i + " for type: " + d.getFullName());
+            return fd.getName();
+        }));
+    }
+
+    public static FieldTypeProtos.StringField sf(final String value) {
+        return FieldTypeProtos.StringField.newBuilder().setValue(value).build();
+    }
+
+    public static FieldTypeProtos.StructuredProperty sp(final String value, final String classid, final String schemeid) {
+        return sp(value, classid, schemeid, di());
+    }
+
+    public static FieldTypeProtos.StructuredProperty sp(final String value, final String classid, final String schemeid, final FieldTypeProtos.DataInfo di) {
+        return FieldTypeProtos.StructuredProperty.newBuilder().setValue(value).setQualifier(simpleQualifier(classid, schemeid)).setDataInfo(di).build();
+    }
+
+    public static FieldTypeProtos.KeyValue kv(final String k, final String v) {
+        return FieldTypeProtos.KeyValue.newBuilder().setKey(k).setValue(v).build();
+    }
+
+    public static FieldTypeProtos.Qualifier simpleQualifier(final String classid, final String schemeid) {
+        return q(classid, classid, schemeid, schemeid);
+    }
+
+    public static FieldTypeProtos.Qualifier q(final String classid, final String classname, final String schemeid, final String schemename) {
+        return FieldTypeProtos.Qualifier.newBuilder()
+                .setClassid(classid)
+                .setClassname(classname)
+                .setSchemename(schemeid)
+                .setSchemeid(schemename).build();
+    }
+
+    public static FieldTypeProtos.DataInfo di(final String trust) {
+        return di(false, "", false, simpleQualifier("", ""), trust);
+    }
+
+    public static FieldTypeProtos.DataInfo di() {
+        return di("");
+    }
+
+    public static FieldTypeProtos.DataInfo di(Boolean deletedByInference, String inferenceProvenance, Boolean inferred, FieldTypeProtos.Qualifier provenanceAction, String trust) {
+        return FieldTypeProtos.DataInfo.newBuilder()
+                .setDeletedbyinference(deletedByInference)
+                .setInferenceprovenance(inferenceProvenance)
+                .setInferred(inferred)
+                .setProvenanceaction(provenanceAction)
+                .setTrust(trust).build();
+    }
+
+    public static FieldTypeProtos.Context context(final String id) {
+        return FieldTypeProtos.Context.newBuilder().setId(id).build();
+    }
+
+
+    public static DNGFDecoder embed(final GeneratedMessage msg,
+                                    final KindProtos.Kind kind,
+                                    final boolean deletedByInference,
+                                    final boolean inferred,
+                                    final String provenance,
+                                    final String action) {
+
+        final DNGFProtos.DNGF.Builder DNGF = DNGFProtos.DNGF
+                .newBuilder()
+                .setKind(kind)
+                .setLastupdatetimestamp(System.currentTimeMillis())
+                .setDataInfo(di(deletedByInference, provenance, inferred, simpleQualifier(action, action), "0.5"));
+        switch (kind) {
+            case entity:
+                DNGF.setEntity((DNGFProtos.DNGFEntity) msg);
+                break;
+            case relation:
+                DNGF.setRel((DNGFProtos.DNGFRel) msg);
+                break;
+            default:
+                break;
+        }
+
+        return DNGFDecoder.decode(DNGF.build());
+    }
+
+    public static DNGFDecoder embed(final GeneratedMessage msg, final KindProtos.Kind kind) {
+        return embed(msg, kind, false, false, "inference_provenance", "provenance_action");
+    }
+
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/utils/RelDescriptor.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/utils/RelDescriptor.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/utils/RelDescriptor.java	(revision 51225)
@@ -0,0 +1,136 @@
+package eu.dnetlib.data.graph.utils;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import org.apache.commons.lang3.StringUtils;
+
+public class RelDescriptor {
+
+    public static final String ONTOLOGY_SEPARATOR = "_";
+
+	public static final String QUALIFIER_SEPARATOR = ":";
+
+	public static final String RELTYPE_REGEX = "(\\w+_\\w+)_(\\w+)";
+	public static final String ID_REGEX = "([0-9][0-9]\\|.{12}::[a-zA-Z0-9]{32})";
+
+	public static final Pattern QUALIFIER_PATTERN = Pattern.compile("^" + RELTYPE_REGEX + "$");
+	public static final Pattern FULL_QUALIFIER_PATTERN = Pattern.compile("^" + RELTYPE_REGEX + QUALIFIER_SEPARATOR + ID_REGEX + "$");
+
+    private String code;
+
+	private String ontologyCode;
+
+	private String termCode;
+
+	private String targetId = null;
+
+    public RelDescriptor(final String ontologyCode, final String termCode) {
+        this.ontologyCode = ontologyCode;
+        this.termCode = termCode;
+        this.code = ontologyCode + ONTOLOGY_SEPARATOR + termCode;
+    }
+
+	public RelDescriptor(final String ontologyCode, final String termCode, final String targetId) {
+		this(ontologyCode, termCode);
+		this.targetId = targetId;
+	}
+
+	public RelDescriptor(final String value) {
+		if (StringUtils.isBlank(value)) {
+			throw new IllegalArgumentException("empty value is not permitted");
+		}
+
+		final Matcher matcher = QUALIFIER_PATTERN.matcher(value);
+		if (matcher.matches()) {
+			this.code = value;
+			this.ontologyCode = matcher.group(1);
+			this.termCode = matcher.group(2);
+		} else {
+			final Matcher fullMatcher = FULL_QUALIFIER_PATTERN.matcher(value);
+			if (fullMatcher.matches()) {
+				this.code = fullMatcher.group(1) + ONTOLOGY_SEPARATOR + fullMatcher.group(2);
+				this.ontologyCode = fullMatcher.group(1);
+				this.termCode = fullMatcher.group(2);
+				this.targetId = fullMatcher.group(3);
+			} else {
+				throw new IllegalArgumentException(String.format("invalid qualifier format: '%s'", value));
+			}
+		}
+    }
+
+    public String shortQualifier() {
+    	return getOntologyCode() + ONTOLOGY_SEPARATOR + getTermCode();
+    }
+
+    public String qualifier() {
+		return qualifier(getTargetId());
+    }
+
+	public String qualifier(final String targetId) {
+		if (StringUtils.isBlank(targetId)) {
+			throw new IllegalStateException("incomplete qualifier");
+		}
+
+		return shortQualifier() + QUALIFIER_SEPARATOR + targetId;
+	}
+
+	public static String asString(final Qualifier qualifier) {
+    	if (qualifier == null) {
+		    throw new IllegalArgumentException("invalid qualifier");
+	    }
+    	return qualifier.getSchemeid() + ONTOLOGY_SEPARATOR + qualifier.getClassid();
+	}
+
+	public Qualifier asQualifier() {
+		return Qualifier.newBuilder()
+				.setClassid(getTermCode()).setClassname(getTermCode())
+				.setSchemeid(getOntologyCode()).setSchemename(getOntologyCode()).build();
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public String getOntologyCode() {
+		return ontologyCode;
+	}
+
+	public String getTermCode() {
+		return termCode;
+	}
+
+	@Override
+	public String toString() {
+		return getCode();
+	}
+
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = (prime * result) + ((code == null) ? 0 : code.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(final Object obj) {
+		if (this == obj) return true;
+		if (obj == null) return false;
+		if (getClass() != obj.getClass()) return false;
+		RelDescriptor other = (RelDescriptor) obj;
+		if (code == null) {
+			if (other.code != null) return false;
+		} else if (!code.equals(other.code)) return false;
+		return true;
+	}
+
+	public String getTargetId() {
+		return targetId;
+	}
+
+	public void setTargetId(final String targetId) {
+		this.targetId = targetId;
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionDeserialiser.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionDeserialiser.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionDeserialiser.java	(revision 51225)
@@ -0,0 +1,77 @@
+package eu.dnetlib.data.actionmanager.actions;
+
+import java.lang.reflect.Type;
+
+import com.google.gson.*;
+import com.googlecode.protobuf.format.JsonFormat;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.Agent;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.AbstractActionSerializer;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.AtomicAction;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Created by claudio on 30/09/15.
+ */
+public class AtomicActionDeserialiser extends AbstractActionSerializer implements JsonDeserializer<AtomicAction> {
+
+	private static final Log log = LogFactory.getLog(AtomicActionDeserialiser.class);
+
+	public static AtomicAction fromJSON(String s) {
+		final GsonBuilder gson = new GsonBuilder();
+
+		gson.registerTypeAdapter(AtomicAction.class, new AtomicActionDeserialiser());
+
+		return gson.create().fromJson(s, AtomicAction.class);
+	}
+
+	@Override
+	public AtomicAction deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context) throws JsonParseException {
+
+		if (json.isJsonObject()) {
+			final JsonObject j = (JsonObject) json;
+
+			final Agent a = new Agent();
+
+			final JsonObject aj = j.get(agent).getAsJsonObject();
+			a.setId(aj.get(agent_id).getAsString());
+			a.setName(aj.get(agent_name).getAsString());
+			a.setType(Agent.AGENT_TYPE.valueOf(aj.get(agent_type).getAsString()));
+
+			AtomicAction aa = new AtomicAction(j.get(rawSet).getAsString(), a);
+
+			aa.setTargetColumn(j.get(targetColumn).getAsString());
+			aa.setTargetColumnFamily(j.get(targetColumnFamily).getAsString());
+			aa.setTargetRowKey(j.get(targetRowKey).getAsString());
+
+			aa.setRowKey(j.get(rowKey).getAsString());
+			aa.setTargetValue(decodeTargetValue(j.get(targetValue).getAsString()));
+
+			return aa;
+		}
+
+		throw new JsonParseException("input is not a json object");
+	}
+
+	private byte[] decodeTargetValue(final String s) {
+		if (StringUtils.isBlank(s)) {
+			return null;
+		}
+		try {
+			final String json = new String(Base64.decodeBase64(s.getBytes()));
+
+			DNGF.Builder oaf = DNGF.newBuilder();
+			JsonFormat.merge(json, oaf);
+
+			return oaf.build().toByteArray();
+		} catch (JsonFormat.ParseException e) {
+			log.error("unable to parse proto", e);
+			return null;
+		}
+	}
+
+}
+
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/AbstractDNetXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/AbstractDNetXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/AbstractDNetXsltFunctions.java	(revision 51225)
@@ -0,0 +1,567 @@
+package eu.dnetlib.data.transform.xml;
+
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.protobuf.Descriptors.Descriptor;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.InvalidProtocolBufferException;
+import com.google.protobuf.Message;
+import com.google.protobuf.Message.Builder;
+import com.google.protobuf.ProtocolMessageEnum;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.FieldTypeProtos.*;
+import eu.dnetlib.data.proto.FieldTypeProtos.OAIProvenance.OriginDescription;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import eu.dnetlib.miscutils.collections.Pair;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.codec.binary.Hex;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.math.NumberUtils;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import java.nio.charset.Charset;
+import java.security.MessageDigest;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+public abstract class AbstractDNetXsltFunctions {
+
+	public static final String URL_REGEX = "^(http|https|ftp)\\://.*";
+	private static final int MAX_NSPREFIX_LEN = 12;
+
+
+	public static Predicate<String> urlFilter = s -> s.trim().matches(URL_REGEX);
+
+	// Builder for Entities
+	protected static DNGF getOaf(final DNGFEntity.Builder entity, final DataInfo.Builder info) {
+		return _getOaf(DNGF.newBuilder(), info).setKind(Kind.entity).setEntity(entity).build();
+	}
+
+	// Builder for Rels
+	protected static DNGF getOaf(final DNGFRel.Builder rel, final DataInfo.Builder info) {
+		return _getOaf(DNGF.newBuilder(), info).setKind(Kind.relation).setRel(rel).build();
+	}
+
+	private static DNGF.Builder _getOaf(final DNGF.Builder oaf, final DataInfo.Builder info) {
+		if (info != null) {
+			return oaf.setDataInfo(ensureDataInfo(info));
+		} else return oaf;
+	}
+
+	protected static DataInfo.Builder ensureDataInfo(final DataInfo.Builder info) {
+		if (info.isInitialized()) return info;
+		return getDataInfo(null, "UNKNOWN", "0.9", false, false);
+	}
+
+	protected static KeyValue getKV(final String id, final String name) {
+		return KeyValue.newBuilder().setKey(id).setValue(name).build();
+	}
+
+	protected static DNGFRel.Builder getRel(
+			final String sourceId,
+			final Type sourceType,
+			final String targetId,
+			final Type targetType,
+			final Qualifier relType,
+			final boolean isChild) {
+		return DNGFRel.newBuilder().setSource(sourceId).setTarget(targetId)
+				.setSourceType(sourceType)
+				.setTargetType(targetType).setRelType(relType)
+				.setChild(isChild);
+	}
+
+	protected static DNGFEntity.Builder getEntity(final Type type,
+			final String id,
+			final KeyValue collectedFrom,
+			final List<String> originalIds,
+			final String dateOfCollection,
+			final String dateOfTransformation,
+			final List<StructuredProperty> pids) {
+		final DNGFEntity.Builder builder = DNGFEntity.newBuilder().setType(type).setId(id);
+		if (collectedFrom != null) builder.addCollectedfrom(collectedFrom);
+		builder.setDateoftransformation(StringUtils.isBlank(dateOfTransformation) ? "" : dateOfTransformation);
+		builder.setDateofcollection(StringUtils.isBlank(dateOfCollection) ? "" : dateOfCollection);
+
+		if ((originalIds != null) && !originalIds.isEmpty()) {
+			builder.addAllOriginalId(Iterables.filter(originalIds, getPredicateNotBlankString()));
+		}
+
+		if ((pids != null) && !pids.isEmpty()) {
+			builder.addAllPid(Iterables.filter(pids, Predicates.notNull()));
+		}
+
+		return builder;
+	}
+
+    public static Predicate<String> getPredicateNotBlankString() {
+        return s -> StringUtils.isNotBlank(s);
+	}
+
+
+	public static Node getDataInfo(final NodeList about) {
+		if (about.getLength() > 0) {
+			final NodeList aboutChildren = about.item(0).getChildNodes();
+			for (int i = 0; i < aboutChildren.getLength(); i++) {
+				final Node currentNode = aboutChildren.item(i);
+				if ("datainfo".equals(currentNode.getLocalName())) {
+					return currentNode;
+				}
+			}
+		}
+		return null;
+	}
+
+
+	public static DataInfo.Builder getDataInfo(final NodeList about,
+			final String provenanceaction,
+			final String trust,
+			final boolean deletedbyinference,
+			final boolean inferred) {
+
+		final DataInfo.Builder dataInfoBuilder = DataInfo.newBuilder();
+		dataInfoBuilder.setInferred(Boolean.valueOf(inferred));
+		dataInfoBuilder.setDeletedbyinference(Boolean.valueOf(deletedbyinference));
+		dataInfoBuilder.setTrust(trust);
+		dataInfoBuilder.setProvenanceaction(getSimpleQualifier(provenanceaction, "dnet:provenanceActions").build());
+
+		// checking instanceof because when receiving an empty <oaf:datainfo> we don't want to parse it.
+		if (((about != null) && (about.getLength() > 0)) /* && (dataInfo instanceof org.w3c.dom.Element) */) {
+
+			final org.w3c.dom.Element dataInfoElement = getDirectChild((org.w3c.dom.Element) about.item(0), "datainfo");
+			if (dataInfoElement != null) {
+				org.w3c.dom.Element elem = getDirectChild(dataInfoElement, "inferred");
+				dataInfoBuilder.setInferred(Boolean.valueOf(getStringValue(elem, String.valueOf(inferred))));
+
+				elem = getDirectChild(dataInfoElement, "deletedbyinference");
+				dataInfoBuilder.setDeletedbyinference(Boolean.valueOf(getStringValue(elem, String.valueOf(deletedbyinference))));
+
+				elem = getDirectChild(dataInfoElement, "trust");
+				dataInfoBuilder.setTrust(getStringValue(elem, trust));
+
+				elem = getDirectChild(dataInfoElement, "inferenceprovenance");
+				dataInfoBuilder.setInferenceprovenance(getStringValue(elem));
+
+				elem = getDirectChild(dataInfoElement, "provenanceaction");
+				final Qualifier.Builder pBuilder = Qualifier.newBuilder();
+				if (elem != null && elem.hasAttributes()) {
+					final NamedNodeMap attributes = elem.getAttributes();
+					pBuilder.setClassid(getAttributeValue(attributes, "classid"));
+					pBuilder.setClassname(getAttributeValue(attributes, "classname"));
+					pBuilder.setSchemeid(getAttributeValue(attributes, "schemeid"));
+					pBuilder.setSchemename(getAttributeValue(attributes, "schemename"));
+				} else {
+					pBuilder.mergeFrom(getSimpleQualifier(provenanceaction, "dnet:provenanceActions").build());
+				}
+				dataInfoBuilder.setProvenanceaction(pBuilder);
+			}
+		}
+
+		return dataInfoBuilder;
+	}
+
+
+
+	protected static OAIProvenance getOAIProvenance(final NodeList about) {
+
+		OAIProvenance.Builder oaiProv = OAIProvenance.newBuilder();
+
+		if (((about != null) && (about.getLength() > 0))) {
+
+			final org.w3c.dom.Element provenance = getDirectChild((org.w3c.dom.Element) about.item(0), "provenance");
+
+			if (provenance != null) {
+				final org.w3c.dom.Element origDesc = getDirectChild(provenance, "originDescription");
+				oaiProv.setOriginDescription(buildOriginDescription(origDesc, OriginDescription.newBuilder()));
+			}
+		}
+
+		return oaiProv.build();
+	}
+
+	private static OriginDescription buildOriginDescription(final org.w3c.dom.Element origDesc, final OriginDescription.Builder od) {
+		od.setHarvestDate(origDesc.getAttribute("harvestDate")).setAltered(Boolean.valueOf(origDesc.getAttribute("altered")));
+
+		org.w3c.dom.Element elem = getDirectChild(origDesc, "baseURL");
+		od.setBaseURL(getStringValue(elem));
+
+		elem = getDirectChild(origDesc, "identifier");
+		od.setIdentifier(getStringValue(elem));
+
+		elem = getDirectChild(origDesc, "datestamp");
+		od.setDatestamp(getStringValue(elem));
+
+		elem = getDirectChild(origDesc, "metadataNamespace");
+		od.setMetadataNamespace(getStringValue(elem));
+
+		elem = getDirectChild(origDesc, "originDescription");
+
+		if (elem != null) {
+
+			od.setOriginDescription(buildOriginDescription(elem, OriginDescription.newBuilder()));
+		}
+
+		return od.build();
+	}
+
+	protected static String getStringValue(final org.w3c.dom.Element elem, final String defaultValue) {
+		return (elem != null && elem.getTextContent() != null) ? elem.getTextContent() : defaultValue;
+	}
+
+	protected static String getStringValue(final org.w3c.dom.Element elem) {
+		return getStringValue(elem, "");
+	}
+
+	protected static String getAttributeValue(final NamedNodeMap attributes, final String name) {
+		final Node attr = attributes.getNamedItem(name);
+		if (attr == null) return "";
+		final String value = attr.getNodeValue();
+		return value != null ? value : "";
+	}
+
+	protected static org.w3c.dom.Element getDirectChild(final org.w3c.dom.Element parent, final String name) {
+		for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
+			if ((child instanceof org.w3c.dom.Element) && name.equals(child.getLocalName())) return (org.w3c.dom.Element) child;
+		}
+		return null;
+	}
+
+	protected static Qualifier.Builder getSimpleQualifier(final String classname, final String schemename) {
+		return getQualifier(classname, classname, schemename, schemename);
+	}
+
+	protected static Qualifier.Builder getSimpleQualifier(final ProtocolMessageEnum classname, final String schemename) {
+		return getQualifier(classname.toString(), classname.toString(), schemename, schemename);
+	}
+
+	protected static Qualifier.Builder getQualifier(final String classid, final String classname, final String schemeid, final String schemename) {
+		return Qualifier.newBuilder().setClassid(classid).setClassname(classname).setSchemeid(schemeid).setSchemename(schemename);
+	}
+
+	protected static Qualifier.Builder setQualifier(final Qualifier.Builder qualifier, final List<String> fields) {
+		if ((fields == null) || fields.isEmpty() || fields.get(0).isEmpty()) return null;
+
+		if ((fields != null) && !fields.isEmpty() && (fields.get(0) != null)) {
+			qualifier.setClassid(fields.get(0));
+			qualifier.setClassname(fields.get(0));
+		}
+		return qualifier;
+	}
+
+	protected static void addStructuredProps(final Builder builder,
+			final FieldDescriptor fd,
+			final List<String> values,
+			final String classid,
+			final String schemeid) {
+		if (values != null) {
+			for (final String s : values) {
+				addField(builder, fd, getStructuredProperty(s, classid, classid, schemeid, schemeid));
+			}
+		}
+	}
+
+	protected static List<StructuredProperty> parsePids(final NodeList nodelist) {
+
+		final List<StructuredProperty> pids = Lists.newArrayList();
+
+		for (int i = 0; i < nodelist.getLength(); i++) {
+			final Node node = nodelist.item(i);
+			Node pidType = null;
+			if (node.getNodeType() == Node.ELEMENT_NODE) {
+				if (node.getLocalName().equalsIgnoreCase("identifier")) {
+					pidType = node.getAttributes().getNamedItem("identifierType");
+				}
+				//this is to handle dataset pids
+				if (node.getLocalName().equalsIgnoreCase("alternateIdentifier")) {
+					pidType = node.getAttributes().getNamedItem("alternateIdentifierType");
+				}
+
+				for (int j = 0; j < node.getChildNodes().getLength(); j++) {
+					final Node child = node.getChildNodes().item(j);
+
+					if ((child.getNodeType() == Node.TEXT_NODE) && (pidType != null) && (pidType.getNodeValue() != null) && !pidType.getNodeValue().isEmpty()
+							&& !pidType.getNodeValue().equalsIgnoreCase("url")) {
+
+						final String type = pidType.getNodeValue().toLowerCase();
+
+						final String value = child.getTextContent();
+
+						pids.add(getStructuredProperty(value, type, type, "dnet:pid_types", "dnet:pid_types"));
+						break;
+					}
+				}
+			}
+		}
+		return pids;
+	}
+
+	@SuppressWarnings("unchecked")
+	protected static void addField(final Builder builder, final FieldDescriptor descriptor, Object value) {
+
+		if (value == null) return;
+
+		if (value instanceof List<?>) {
+			for (final Object o : (List<Object>) value) {
+				addField(builder, descriptor, o);
+			}
+		} else {
+			Object fieldValue = value;
+			switch (descriptor.getType()) {
+			case BOOL:
+				fieldValue = Boolean.valueOf(value.toString());
+				break;
+			case BYTES:
+				fieldValue = value.toString().getBytes(Charset.forName("UTF-8"));
+				break;
+			case DOUBLE:
+				fieldValue = Double.valueOf(value.toString());
+				break;
+			case FLOAT:
+				fieldValue = Float.valueOf(value.toString());
+				break;
+			case INT32:
+			case INT64:
+			case SINT32:
+			case SINT64:
+				fieldValue = Integer.valueOf(value.toString());
+				break;
+			case MESSAGE:
+				final Builder q = builder.newBuilderForField(descriptor);
+
+				if (value instanceof Builder) {
+					value = ((Builder) value).build();
+					final byte[] b = ((Message) value).toByteArray();
+					try {
+						q.mergeFrom(b);
+					} catch (final InvalidProtocolBufferException e) {
+						throw new IllegalArgumentException("Unable to merge value: " + value + " with builder: " + q.getDescriptorForType().getName());
+					}
+				} else if (Qualifier.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof Qualifier) {
+						q.mergeFrom((Qualifier) value);
+					} else {
+						parseMessage(q, Qualifier.getDescriptor(), value.toString(), "@@@");
+					}
+				} else if (StructuredProperty.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof StructuredProperty) {
+						q.mergeFrom((StructuredProperty) value);
+					} else {
+						parseMessage(q, StructuredProperty.getDescriptor(), value.toString(), "###");
+					}
+				} else if (KeyValue.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof KeyValue) {
+						q.mergeFrom((KeyValue) value);
+					} else {
+						parseMessage(q, KeyValue.getDescriptor(), value.toString(), "&&&");
+					}
+				} else if (StringField.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof StringField) {
+						q.mergeFrom((StringField) value);
+					} else {
+						q.setField(StringField.getDescriptor().findFieldByName("value"), value);
+					}
+				} else if (BoolField.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof BoolField) {
+						q.mergeFrom((BoolField) value);
+					} else if (value instanceof String) {
+						q.setField(BoolField.getDescriptor().findFieldByName("value"), Boolean.valueOf((String) value));
+					} else {
+						q.setField(BoolField.getDescriptor().findFieldByName("value"), value);
+					}
+				} else if (IntField.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof IntField) {
+						q.mergeFrom((IntField) value);
+					} else if (value instanceof String) {
+						q.setField(IntField.getDescriptor().findFieldByName("value"), NumberUtils.toInt((String) value));
+					} else {
+						q.setField(IntField.getDescriptor().findFieldByName("value"), value);
+					}
+				}
+
+				fieldValue = q.buildPartial();
+				break;
+			default:
+				break;
+			}
+
+			doAddField(builder, descriptor, fieldValue);
+		}
+
+	}
+
+	protected static void doAddField(final Builder builder, final FieldDescriptor fd, final Object value) {
+		if (value != null) {
+			if (fd.isRepeated()) {
+				builder.addRepeatedField(fd, value);
+			} else if (fd.isOptional() || fd.isRequired()) {
+				builder.setField(fd, value);
+			}
+		}
+	}
+
+	protected static void parseMessage(final Builder builder, final Descriptor descriptor, final String value, final String split) {
+
+		Iterable<Pair> iterablePair = () -> {
+
+			final Iterator<FieldDescriptor> fields = descriptor.getFields().iterator();
+			final Iterator<String> values = Lists.newArrayList(Splitter.on(split).trimResults().split(value)).iterator();
+
+			return new Iterator<Pair>() {
+				@Override
+				public boolean hasNext() {
+					return fields.hasNext() && values.hasNext();
+				}
+
+				@Override
+				public Pair next() {
+					final FieldDescriptor field = fields.next();
+					final String value1 = values.next();
+					return new Pair(field, value1);
+				}
+
+				@Override
+				public void remove() {
+					throw new UnsupportedOperationException("cannot remove");
+				}
+			};
+		};
+
+//		final IterablePair<FieldDescriptor, String> iterablePair =
+//				new IterablePair<FieldDescriptor, String>(descriptor.getFields(), Lists.newArrayList(Splitter
+//						.on(split).trimResults().split(value)));
+
+		for (final Pair<FieldDescriptor, String> p : iterablePair) {
+			addField(builder, p.getKey(), p.getValue());
+		}
+	}
+
+	protected static String base64(final byte[] data) {
+		final byte[] bytes = Base64.encodeBase64(data);
+		return new String(bytes);
+	}
+
+	public static String replace(final String s, final String regex, final String replacement) {
+		return s.replaceAll(regex, replacement);
+	}
+
+	public static String trim(final String s) {
+		return s.trim();
+	}
+
+	protected static String removePrefix(final Type type, final String s) {
+		return removePrefix(type.toString(), s);
+	}
+
+	private static String removePrefix(final String prefix, final String s) {
+		return StringUtils.removeStart("" + s, prefix + "|");
+	}
+
+	protected static Qualifier.Builder getDefaultQualifier(final String scheme) {
+		final Qualifier.Builder qualifier = Qualifier.newBuilder().setSchemeid(scheme).setSchemename(scheme);
+		return qualifier;
+	}
+
+	protected static StructuredProperty getStructuredProperty(final String value,
+			final String classid,
+			final String classname,
+			final String schemeid,
+			final String schemename) {
+		if ((value == null) || value.isEmpty()) return null;
+		return StructuredProperty.newBuilder().setValue(value).setQualifier(getQualifier(classid, classname, schemeid, schemename)).build();
+	}
+
+	protected static StringField.Builder sf(final String s) {
+		return StringField.newBuilder().setValue(s);
+	}
+
+	public static String generateNsPrefix(final String prefix, final String externalId) {
+		return StringUtils.substring(prefix + StringUtils.leftPad(externalId, MAX_NSPREFIX_LEN - prefix.length(), "_"), 0, MAX_NSPREFIX_LEN);
+	}
+
+	public static String md5(final String s) {
+		try {
+			final MessageDigest md = MessageDigest.getInstance("MD5");
+			md.update(s.getBytes("UTF-8"));
+			return new String(Hex.encodeHex(md.digest()));
+		} catch (final Exception e) {
+			System.err.println("Error creating id");
+			return null;
+		}
+	}
+
+	public static String oafId(final String entityType, final String prefix, final String id) {
+		if (id.isEmpty() || prefix.isEmpty()) return "";
+		return oafSimpleId(entityType, prefix + "::" + md5(id));
+	}
+
+	public static String oafSimpleId(final String entityType, final String id) {
+		String returnValue = (Type.valueOf(entityType).getNumber() + "|" + id).replaceAll("\\s|\\n", "");
+		return returnValue;
+	}
+
+	public static String oafSplitId(final String entityType, final String fullId) {
+		return oafId(entityType, StringUtils.substringBefore(fullId, "::"), StringUtils.substringAfter(fullId, "::"));
+	}
+
+	/**
+	 * Utility method, allows to perform param based map lookups in xsl
+	 *
+	 * @param map
+	 * @param key
+	 * @return value associated to the key.
+	 */
+	public static Object lookupValue(final Map<String, Object> map, final String key) {
+		return map.get(key);
+	}
+
+	/**
+	 * Utility method, allows to perform param based map lookups in xsl
+	 *
+	 * @param map
+	 * @param key
+	 * @return value associated to the key.
+	 */
+	public static int mustMerge(final Map<String, Object> map, final String key) {
+		final Object val = lookupValue(map, key);
+		return (val != null) && (val instanceof String) && val.equals("true") ? 1 : 0;
+	}
+
+	/**
+	 * Formats the first valid date as YYYY-MM-DD
+	 * @param dates List of dates
+	 * @return the first valid date
+	 */
+	public static String formatDates(final List<String> dates){
+
+		SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
+
+
+		for(String d: dates){
+
+			try {
+				dt.parse(d);
+
+				return d;
+			} catch (ParseException e) {
+
+				continue;
+			}
+		}
+
+		return "";
+	}
+
+
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/OafToHbaseXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/OafToHbaseXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/OafToHbaseXsltFunctions.java	(revision 51225)
@@ -0,0 +1,220 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.protobuf.Descriptors.Descriptor;
+import eu.dnetlib.data.graph.model.DNGFRowKeyDecoder;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.FieldTypeProtos.*;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.PublicationProtos.Publication;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.lang3.StringUtils;
+import org.w3c.dom.NodeList;
+
+public class OafToHbaseXsltFunctions extends CommonDNetXsltFunctions {
+
+	public static String oafPublication(
+			final String resultId,
+			final String provenance,
+			final String trust,
+			final NodeList about,
+			final String hostedbyId,
+			final String hostedbyName,
+			final String collectedFromId,
+			final String collectedFromName,
+			final String originalId,
+			final String dateOfCollection,
+			final String dateOfTransformation,
+			final NodeList nodelist) {
+		try {
+			final String entityId = DNGFRowKeyDecoder.decode(resultId).getKey();
+			final ValueMap values = ValueMap.parseNodeList(nodelist);
+			final Descriptor mDesc = Publication.Metadata.getDescriptor();
+
+			final Publication.Metadata.Builder metadata = buildMetadata(values, mDesc);
+			final Publication.Builder result = buildPublication(metadata, values, mDesc, hostedbyId, hostedbyName);
+			final DNGFEntity.Builder entity = buildOafEntity(result, entityId, nodelist, getKV(collectedFromId, collectedFromName), originalId);
+			entity.setDateofcollection(dateOfCollection)
+					.setDateoftransformation(dateOfTransformation).setOaiprovenance(getOAIProvenance(about));
+
+			final DNGF oaf = getOaf(entity, getDataInfo(about, provenance, trust, false, false));
+			return base64(oaf.toByteArray());
+		} catch (final Throwable e) {
+			handleException(e, resultId, hostedbyId, hostedbyName, provenance, trust, collectedFromId, collectedFromName, originalId, dateOfCollection);
+		}
+		return null;
+	}
+
+	public static String oafPublicationUpdate(final String resultId,
+			final String provenance,
+			final String trust,
+			final NodeList nodelist,
+			final String hostedbyId,
+			final String hostedbyName) {
+		try {
+			final String entityId = DNGFRowKeyDecoder.decode(resultId).getKey();
+			final ValueMap values = ValueMap.parseNodeList(nodelist);
+			final Descriptor mDesc = Publication.Metadata.getDescriptor();
+
+			final Publication.Metadata.Builder metadata = buildMetadata(values, mDesc);
+			final Publication.Builder result = buildPublication(metadata, values, mDesc, hostedbyId, hostedbyName);
+
+			final DNGFEntity.Builder entity = buildOafEntity(result, entityId, nodelist, null, null);
+			final DNGF oaf = getOaf(entity, null);
+			return base64(oaf.toByteArray());
+		} catch (final Throwable e) {
+			handleException(e, resultId, hostedbyId, hostedbyName, provenance, trust, null, null, null, null);
+		}
+		return null;
+	}
+
+	private static DNGFEntity.Builder buildOafEntity(final Publication.Builder pub,
+			final String entityId,
+			final NodeList nodelist,
+			KeyValue collectedFrom,
+			String originalId) {
+
+		final List<StructuredProperty> pids = Lists.newArrayList();
+		pids.addAll(parsePids(nodelist));
+
+		final DNGFEntity.Builder entity =
+				getEntity(Type.publication, entityId, collectedFrom, StringUtils.isBlank(originalId) ? null : Lists.newArrayList(originalId), null, null, pids)
+						.setPublication(pub);
+		return entity;
+	}
+
+	protected static Publication.Metadata.Builder buildMetadata(final ValueMap values, final Descriptor mDesc) {
+		final Publication.Metadata.Builder metadata = Publication.Metadata.newBuilder();
+		addStructuredProps(metadata, mDesc.findFieldByName("subject"), values.get("subject").listValues(), "keyword", "dnet:result_subject");
+		addStructuredProps(metadata, mDesc.findFieldByName("title"), values.get("title").listValues(), "main title", "dnet:dataCite_title");
+		for (final String fieldname : Lists.newArrayList("description", "source", "contributor")) {
+			if (values.get(fieldname) != null) {
+				for (final String s : values.get(fieldname).listValues()) {
+					addField(metadata, mDesc.findFieldByName(fieldname), s);
+				}
+			}
+		}
+		addField(metadata, mDesc.findFieldByName("language"), setQualifier(getDefaultQualifier("dnet:languages"), values.get("language").listValues()));
+		addField(metadata, mDesc.findFieldByName("dateofacceptance"), values.get("dateaccepted").listValues());
+		addField(metadata, mDesc.findFieldByName("publisher"), values.get("publisher").listValues());
+		addField(metadata, mDesc.findFieldByName("embargoenddate"), values.get("embargoenddate").listValues());
+		addField(metadata, mDesc.findFieldByName("storagedate"), values.get("storagedate").listValues());
+
+		addField(metadata, mDesc.findFieldByName("resulttype"), getSimpleQualifier("publication", "dnet:result_typologies"));
+
+		addField(metadata, mDesc.findFieldByName("fulltext"), values.get("fulltext").listValues());
+		addField(metadata, mDesc.findFieldByName("format"), values.get("format").listValues());
+		if (values.get("concept") != null) {
+			for (final Element e : values.get("concept")) {
+				final String id = e.getAttributes().get("id");
+				if (StringUtils.isBlank(id)) throw new IllegalArgumentException("Context id cannot be blank");
+				metadata.addContext(Context.newBuilder().setId(id));
+			}
+		}
+		if (values.get("journal") != null) {
+			for (final Element e : values.get("journal")) {
+
+				final Journal.Builder journal = Journal.newBuilder();
+				if (e.getText() != null) {
+					journal.setName(e.getText());
+				}
+
+				final Map<String, String> attr = e.getAttributes();
+				if (attr != null) {
+					if (attr.get("issn") != null) {
+						journal.setIssnPrinted(attr.get("issn"));
+					}
+					if (attr.get("eissn") != null) {
+						journal.setIssnOnline(attr.get("eissn"));
+					}
+					if (attr.get("lissn") != null) {
+						journal.setIssnLinking(attr.get("lissn"));
+					}
+				}
+				metadata.setJournal(journal.build());
+			}
+		}
+		return metadata;
+	}
+
+	protected static Publication.Builder buildPublication(final Publication.Metadata.Builder metadata,
+			final ValueMap values,
+			final Descriptor mDesc,
+			final String hostedbyId,
+			final String hostedbyName) {
+		final Publication.Builder result = Publication.newBuilder();
+		if (values.get("creator") != null) {
+			for (final String fullname : values.get("creator").listValues()) {
+
+				final Person.Metadata.Builder authorMetadata = Person.Metadata.newBuilder();
+
+				authorMetadata.setFullname(sf(fullname));
+
+				final eu.dnetlib.pace.model.Person p = new eu.dnetlib.pace.model.Person(fullname, false);
+				if (p.isAccurate()) {
+					authorMetadata.setFirstname(sf(p.getNormalisedFirstName()));
+					authorMetadata.clearSecondnames().addSecondnames(sf(p.getNormalisedSurname()));
+					authorMetadata.setFullname(sf(p.getNormalisedFullname()));
+				}
+
+				result.addAuthor(Person.newBuilder().setMetadata(authorMetadata));
+			}
+		}
+
+		final Instance.Builder instance = Instance.newBuilder().setHostedby(getKV(hostedbyId, hostedbyName));
+
+		addField(instance, Instance.getDescriptor().findFieldByName("licence"),
+				setQualifier(getDefaultQualifier("dnet:access_modes"), values.get("accessrights").listValues()));
+		addField(instance, Instance.getDescriptor().findFieldByName("instancetype"),
+				setQualifier(getDefaultQualifier("dnet:publication_resource"), values.get("cobjcategory").listValues()));
+
+		if (values.get("identifier") != null) {
+			addField(instance, Instance.getDescriptor().findFieldByName("url"),
+					Lists.newArrayList(Iterables.filter(values.get("identifier").listValues(), urlFilter)));
+		}
+
+		result.addInstance(instance);
+
+		final List<Element> extrefs = values.get("reference");
+		if (!extrefs.isEmpty()) {
+			final Descriptor extDesc = ExternalReference.getDescriptor();
+			for (final Element element : extrefs) {
+				final ExternalReference.Builder extref = ExternalReference.newBuilder();
+				addField(extref, extDesc.findFieldByName("url"), element.getText());
+				addField(extref, extDesc.findFieldByName("sitename"), element.getAttributes().get("source"));
+				addField(extref, extDesc.findFieldByName("refidentifier"), element.getAttributes().get("identifier"));
+				addField(extref, extDesc.findFieldByName("label"), element.getAttributes().get("title"));
+				addField(extref, extDesc.findFieldByName("query"), element.getAttributes().get("query"));
+				addField(extref, extDesc.findFieldByName("qualifier"),
+						setQualifier(getDefaultQualifier("dnet:externalReference_typologies"), Lists.newArrayList(element.getAttributes().get("type")))
+								.build());
+
+				result.addExternalReference(extref);
+			}
+		}
+
+		return result.setMetadata(metadata);
+	}
+
+	private static void handleException(Throwable e, final String resultId, final String hostedbyId, final String hostedbyName,
+			final String provenance, final String trust, final String collectedFromId, final String collectedFromName,
+			final String originalId, final String dateOfCollection) {
+		System.err.println("resultId: " + resultId);
+		if (StringUtils.isNotBlank(hostedbyId)) System.err.println("hostedbyId: " + hostedbyId);
+		if (StringUtils.isNotBlank(hostedbyName)) System.err.println("hostedbyName: " + hostedbyName);
+		if (StringUtils.isNotBlank(provenance)) System.err.println("provenance: " + provenance);
+		if (StringUtils.isNotBlank(trust)) System.err.println("trust: " + trust);
+		if (StringUtils.isNotBlank(collectedFromId)) System.err.println("collectedFromId: " + collectedFromId);
+		if (StringUtils.isNotBlank(collectedFromName)) System.err.println("collectedFromName: " + collectedFromName);
+		if (StringUtils.isNotBlank(originalId)) System.err.println("originalId: " + originalId);
+		if (StringUtils.isNotBlank(dateOfCollection)) System.err.println("dateOfCollection: " + dateOfCollection);
+		e.printStackTrace();
+		throw new RuntimeException(e);
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/OdfToHbaseXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/OdfToHbaseXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/OdfToHbaseXsltFunctions.java	(revision 51225)
@@ -0,0 +1,229 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import eu.dnetlib.data.graph.model.DNGFRowKeyDecoder;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DatasetProtos.Dataset;
+import eu.dnetlib.data.proto.FieldTypeProtos.Instance;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class OdfToHbaseXsltFunctions extends CommonDNetXsltFunctions {
+
+	private static Map<String, String> mappingAccess = Maps.newHashMap();
+
+	static {
+
+		mappingAccess.put("info:eu-repo/semantics/openAccess", "OPEN");
+		mappingAccess.put("info:eu-repo/semantics/closedAccess", "CLOSED");
+		mappingAccess.put("info:eu-repo/semantics/restrictedAccess", "RESTRICTED");
+		mappingAccess.put("info:eu-repo/semantics/embargoedAccess", "EMBARGO");
+
+		// Transformator now maps the access rights into proper values, not sure if it does for all datasets.
+		mappingAccess.put("OPEN", "OPEN");
+		mappingAccess.put("CLOSED", "CLOSED");
+		mappingAccess.put("RESTRICTED", "RESTRICTED");
+		mappingAccess.put("EMBARGO", "EMBARGO");
+
+	}
+
+	protected static DNGFEntity.Builder odfDatasetProto(
+			final String resultId,
+			final NodeList about,
+			final NodeList titles,
+			final NodeList subjects,
+			final NodeList publisher,
+			final NodeList descriptions,
+			final NodeList dates,
+			final NodeList dateaccepted,
+			final NodeList resourceTypes,
+			final NodeList formats,
+			final NodeList sizes,
+			final NodeList languages,
+			final NodeList cobjcategory,
+			final NodeList contributors,
+			final NodeList rights,
+			final NodeList version,
+			final NodeList pidList,
+			final String hostedbyId,
+			final String hostedbyName,
+			final String collectedfromId,
+			final String collectedfromName,
+			final NodeList originalIds,
+			final String instanceUri,
+			final String dateOfCollection,
+			final String dateOfTransformation) {
+
+		final String entityId = DNGFRowKeyDecoder.decode(resultId).getKey();
+
+		final Dataset.Builder dataset = Dataset.newBuilder();
+		Dataset.Metadata.Builder metadataProto = Dataset.Metadata.newBuilder();
+
+		// subject
+		for (int i = 0; i < subjects.getLength(); i++) {
+			Node currentNode = subjects.item(i);
+			NodeList childNodes = currentNode.getChildNodes();
+			if (childNodes.getLength() > 0) {
+				String subjectValue = childNodes.item(0).getNodeValue();
+				addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("subject"),
+						getStructuredProperty(subjectValue, "keyword", "keyword", "dnet:result_subject", "dnet:result_subject"));
+			}
+		}
+
+		// title
+        manageTitle(titles, metadataProto);
+
+		// description
+		for (int i = 0; i < descriptions.getLength(); i++) {
+			Node currentNode = descriptions.item(i);
+			if (currentNode != null && currentNode.hasChildNodes()) {
+				String descriptionValue = currentNode.getChildNodes().item(0).getNodeValue();
+				addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("description"), descriptionValue);
+			}
+		}
+
+		// contributors
+		for (int i = 0; i < contributors.getLength(); i++) {
+			Node currentNode = contributors.item(i);
+			if (currentNode != null && currentNode.hasChildNodes()) {
+				String contributorValue = currentNode.getChildNodes().item(0).getNodeValue();
+				addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("contributor"), contributorValue);
+			}
+		}
+
+		// publisher
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("publisher"), getFirstItem(publisher));
+
+		// dates
+        manageDate(dates, metadataProto);
+
+
+		// dateofacceptance
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("dateofacceptance"), getFirstItem(dateaccepted));
+
+		// size
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("size"), getFirstItem(sizes));
+
+		// format
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("format"), getFirstItem(formats));
+
+		// version
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("version"), getFirstItem(version));
+
+		// language
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("language"),
+				setQualifier(getDefaultQualifier("dnet:languages"), Lists.newArrayList(getFirstItem(languages))));
+
+		//resource type
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("resourcetype"),
+				setQualifier(getDefaultQualifier("dnet:dataCite_resource"), Lists.newArrayList(getFirstItem(resourceTypes))));
+
+		// resultType
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("resulttype"), getSimpleQualifier("dataset", "dnet:result_typologies"));
+
+		String tmpID;
+		String TmpName;
+
+		if (hostedbyId == null && hostedbyName == null) {
+			tmpID = collectedfromId;
+			TmpName = collectedfromName;
+		} else {
+			tmpID = hostedbyId;
+			TmpName = hostedbyName;
+		}
+
+		final Instance.Builder instance = Instance.newBuilder().setHostedby(getKV(tmpID, TmpName));
+
+		String tmpRigths = "UNKNOWN";
+		final String firstRight = getFirstItem(rights);
+		if (mappingAccess.containsKey(firstRight)) {
+			tmpRigths = mappingAccess.get(firstRight);
+		}
+
+		addField(instance, Instance.getDescriptor().findFieldByName("licence"),
+				setQualifier(getDefaultQualifier("dnet:access_modes"), Lists.newArrayList(tmpRigths)));
+
+		addField(instance, Instance.getDescriptor().findFieldByName("instancetype"),
+				setQualifier(getDefaultQualifier("dnet:dataCite_resource"), Lists.newArrayList(getFirstItem(cobjcategory))));
+
+		addField(instance, Instance.getDescriptor().findFieldByName("url"), instanceUri);
+
+		dataset.addInstance(instance);
+
+		List<StructuredProperty> pids = parsePids(pidList);
+
+		// original ids
+		final List<String> originalIdList = Lists.newArrayList();
+		for (int i = 0; i < originalIds.getLength(); i++) {
+			Node currentNode = originalIds.item(i);
+			if (currentNode != null && currentNode.hasChildNodes()) {
+				originalIdList.add(currentNode.getChildNodes().item(0).getNodeValue());
+			}
+		}
+
+		DNGFEntity.Builder entity =
+				getEntity(Type.dataset, entityId, getKV(collectedfromId, collectedfromName), originalIdList, dateOfCollection, dateOfTransformation, pids).setDataset(
+						dataset.setMetadata(metadataProto));
+
+		entity.setOaiprovenance(getOAIProvenance(about));
+
+		return entity;
+	}
+
+
+    public static String odfDataset(
+			final String resultId,
+			final NodeList about,
+			final NodeList metadata,
+			final NodeList titles,
+			final NodeList subjects,
+			final NodeList publisher,
+			final NodeList descriptions,
+			final NodeList dates,
+			final NodeList dateaccepted,
+			final NodeList resourceTypes,
+			final NodeList formats,
+			final NodeList sizes,
+			final NodeList languages,
+			final NodeList cobjcategory,
+			final NodeList contributors,
+			final NodeList rights,
+			final NodeList version,
+			final NodeList pidList,
+			final String provenance,
+			final String trust,
+			final String hostedbyId,
+			final String hostedbyName,
+			final String collectedfromId,
+			final String collectedfromName,
+			final NodeList originalIds,
+			final String instanceUri,
+			final String dateOfCollection,
+			final String dateOfTransformation) {
+
+		try {
+			final DNGFEntity.Builder entity = odfDatasetProto(
+					resultId, about, titles, subjects, publisher, descriptions, dates, dateaccepted,
+					resourceTypes, formats, sizes, languages, cobjcategory, contributors, rights, version,
+					pidList, hostedbyId, hostedbyName, collectedfromId, collectedfromName,
+					originalIds, instanceUri, dateOfCollection, dateOfTransformation);
+
+			final DNGF dngf = getOaf(entity, getDataInfo(about, provenance, trust, false, false));
+			return base64(dngf.toByteArray());
+		} catch (Throwable e) {
+			e.printStackTrace(System.err);
+			throw new RuntimeException(e);
+		}
+
+	}
+
+
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2GraphJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2GraphJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2GraphJob.xml	(revision 51225)
@@ -0,0 +1,65 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="5907741a-d97e-41ea-9dbe-963209aa58d9_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="dedupSimilarity2GraphJob" type="mapreduce">
+			<DESCRIPTION>map only job that scans a given entity type and creates the similarRel graph as adjacency lists</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.HBaseToSimilarityGraphMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable"/>
+
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.output.value.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.compress.map.output" value="false"/>
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="0"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+				<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs"/>
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" param="entityTypeId"/>
+				</FILTERS>
+				<FAMILIES>
+					<FAMILY value="rels" qualifier="person_person_isSimilarTo" />
+					<FAMILY value="rels" qualifier="dataset_dataset_isSimilarTo" />
+					<FAMILY value="rels" qualifier="publication_publication_isSimilarTo" />
+					<FAMILY value="rels" qualifier="organization_organization_isSimilarTo" />
+				</FAMILIES>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindPersonRootsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindPersonRootsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindPersonRootsJob.xml	(revision 51225)
@@ -0,0 +1,66 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="8ec4731e-4e91-4863-9a4b-7f0a8ca0542e_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupFindPersonRootsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that find the root of a similarity group (person)</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupFindRootsPersonMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupFindRootsPersonReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Writable" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />		
+			
+				<PROPERTY key="mapred.reduce.tasks" value="100" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+			        <FAMILY value="datasetDataset_dedupSimilarity_isSimilarTo" />
+			        <FAMILY value="publicationPublication_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/CommonDNetXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/CommonDNetXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/CommonDNetXsltFunctions.java	(revision 51225)
@@ -0,0 +1,283 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import eu.dnetlib.data.graph.model.DNGFRowKeyDecoder;
+import eu.dnetlib.data.graph.utils.RelDescriptor;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.DatasetProtos;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.PersonProtos.Person.CoAuthor;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.lang3.StringUtils;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * Created by claudio on 01/12/15.
+ */
+public class CommonDNetXsltFunctions extends AbstractDNetXsltFunctions {
+
+	private static final int MAX_COAUTHORS = 50;
+
+	public static String authorship(
+			final String source,
+			final String target,
+			final int rank,
+			final String relTypeId,
+			final String relTypeScheme,
+			final String provenanceAction,
+			final String trust,
+			final NodeList about) {
+
+		final Map<String, String> params = Maps.newHashMap();
+		params.put("rank", "" + rank);
+        return rel(source, target, relTypeId, relTypeScheme, provenanceAction, trust, about, params);
+    }
+
+	public static String rel(
+            final String source,
+            final String target,
+            final String relTypeId,
+            final String relTypeScheme,
+            final String provenanceAction,
+            final String trust) {
+		return rel(source, target, relTypeId, relTypeScheme, provenanceAction, trust, null, null);
+	}
+
+	public static String rel(
+			final String source,
+			final String target,
+			final String relTypeId,
+			final String relTypeScheme,
+			final String provenanceAction,
+			final String trust,
+			final NodeList about) {
+		return rel(source, target, relTypeId, relTypeScheme, provenanceAction, trust, about, null);
+	}
+
+	// dnet:oafRel($resultId, $datasetId, 'resultResult', 'part' 'isPartOf', $about)
+	public static String rel(
+            final String source,
+            final String target,
+            final String relTypeId,
+            final String relTypeScheme,
+            final String provenanceAction,
+            final String trust,
+            final NodeList about,
+            final Map<String, String> params) {
+        try {
+
+            final DNGFRel.Builder rel = relProto(source, target, relTypeId, relTypeScheme);
+            final DNGF oaf = getOaf(rel, getDataInfo(about, provenanceAction, trust, false, false));
+
+            //TODO DO SOMEtHING WITH PARAM
+
+            return base64(oaf.toByteArray());
+        } catch (Throwable e) {
+            e.printStackTrace(System.err);
+            throw new RuntimeException(e);
+        }
+    }
+
+
+    protected static DNGFRel.Builder relProto(
+            final String source,
+            final String target,
+            final String relTypeId,
+            final String relTypeScheme
+    ) {
+        try {
+            final DNGFRowKeyDecoder sd = DNGFRowKeyDecoder.decode(source);
+            final DNGFRowKeyDecoder td = DNGFRowKeyDecoder.decode(target);
+
+            final Qualifier.Builder relType = getSimpleQualifier(relTypeId, relTypeScheme);
+            final DNGFRel.Builder rel = getRel(sd.getKey(), sd.getType(), td.getKey(), td.getType(), relType.build(), false);
+
+            return rel;
+
+        } catch (Throwable e) {
+            e.printStackTrace(System.err);
+            throw new RuntimeException(e);
+        }
+    }
+
+	public static String person(
+			final String personId,
+			final NodeList about,
+			final String provenanceAction,
+			final String trust,
+			final String collectedFromId,
+			final String collectedFromName,
+			final String originalId,
+			final String dateOfCollection,
+			final String dateOfTransformation,
+			final String fullname,
+			final String nameIdentifier,
+			final String nameIdentifierScheme) {
+		return person(personId, fullname, nameIdentifier, nameIdentifierScheme, null, null, null, provenanceAction, trust, about, collectedFromId,
+				collectedFromName, originalId, dateOfCollection, dateOfTransformation);
+	}
+
+	// $personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname, $originalPersonId, $dateofcollection, normalize-space(.))
+	public static String person(
+			final String personId,
+			final String fullname,
+			final String nameIdentifier,
+			final String nameIdentifierScheme,
+			final NodeList authors,
+			final String namespaceprefix,
+			final String objIdentifier,
+			final String provenanceAction,
+			final String trust,
+			final NodeList about,
+			final String collectedFromId,
+			final String collectedFromName,
+			final String originalId,
+			final String dateOfCollection,
+			final String dateOfTransformation) {
+		try {
+			final String entityId = DNGFRowKeyDecoder.decode(personId).getKey();
+
+			final Person.Builder person = Person.newBuilder();
+			final Person.Metadata.Builder metadata = getMetadata(fullname);
+
+			if (authors != null) {
+				for (int i = 0; (i < authors.getLength()) && (i < MAX_COAUTHORS); i++) {
+					final Node node = authors.item(i);
+
+					final String name = StringUtils.trim(node.getTextContent());
+					if (!name.equals(fullname)) {
+
+						final CoAuthor.Builder coAuthor = CoAuthor.newBuilder();
+
+						coAuthor.setId(oafId("person", namespaceprefix, objIdentifier + "::" + name));
+						coAuthor.setMetadata(getMetadata(name));
+
+						person.addCoauthor(coAuthor);
+					}
+				}
+			}
+
+			final List<StructuredProperty> pids = Lists.newArrayList();
+			if (StringUtils.isNotBlank(nameIdentifier) && StringUtils.isNotBlank(nameIdentifierScheme)) {
+				pids.add(getStructuredProperty(nameIdentifier, nameIdentifierScheme, nameIdentifierScheme, "dnet:pid_types", "dnet:pid_types"));
+			}
+
+			final DNGFEntity.Builder entity =
+					getEntity(Type.person, entityId, getKV(collectedFromId, collectedFromName), Lists.newArrayList(originalId), dateOfCollection,
+							dateOfTransformation, pids)
+							.setPerson(person.setMetadata(metadata));
+
+			final DNGF oaf = getOaf(entity, getDataInfo(about, provenanceAction, trust, false, false));
+			return base64(oaf.toByteArray());
+		} catch (final Throwable e) {
+			System.err.println("personId: " + personId);
+			System.err.println("fullname: " + fullname);
+			System.err.println("provenanceAction: " + provenanceAction);
+			System.err.println("trust: " + trust);
+			System.err.println("collectedFromId: " + collectedFromId);
+			System.err.println("collectedFromName: " + collectedFromName);
+			System.err.println("originalId: " + originalId);
+			System.err.println("dateOfCollection: " + dateOfCollection);
+			e.printStackTrace();
+			throw new RuntimeException(e);
+		}
+	}
+
+	private static Person.Metadata.Builder getMetadata(final String fullname) {
+		final Person.Metadata.Builder metadata = Person.Metadata.newBuilder();
+
+		metadata.setFullname(sf(fullname));
+
+		final eu.dnetlib.pace.model.Person p = new eu.dnetlib.pace.model.Person(fullname, false);
+		if (p.isAccurate()) {
+			metadata.setFirstname(sf(p.getNormalisedFirstName()));
+			metadata.clearSecondnames().addSecondnames(sf(p.getNormalisedSurname()));
+			// metadata.setFullname(sf(p.getNormalisedFullname()));
+		}
+		return metadata;
+	}
+
+    protected static void manageTitle(NodeList titles, DatasetProtos.Dataset.Metadata.Builder metadataProto) {
+        for (int i = 0; i < titles.getLength(); i++) {
+            Node currentNode = titles.item(i);
+            NodeList childNodes = currentNode.getChildNodes();
+            if (childNodes.getLength() > 0) {
+                String titleValue = childNodes.item(0).getNodeValue();
+                String classname = "main title";
+                String classid = "main title";
+                if (currentNode.hasAttributes()) {
+                    NamedNodeMap attributes = currentNode.getAttributes();
+                    Node titleType = attributes.getNamedItem("titleType");
+
+                    if (titleType != null && titleType.getNodeValue().equals("AlternativeTitle")) {
+                        classname = "alternative title";
+                        classid = "alternative title";
+                    }
+                    if (titleType != null && titleType.getNodeValue().equals("Subtitle")) {
+                        classname = "subtitle";
+                        classid = "subtitle";
+                    }
+                    if (titleType != null && titleType.getNodeValue().equals("TranslatedTitle")) {
+                        classname = "translated title";
+                        classid = "translated title";
+                    }
+                }
+                addField(metadataProto, DatasetProtos.Dataset.Metadata.getDescriptor().findFieldByName("title"),
+                        getStructuredProperty(titleValue, classname, classid, "dnet:dataCite_title", "dnet:dataCite_title"));
+            }
+        }
+    }
+
+
+    public static String relQualifier(final String ontology, final String termCode, final String targetId) {
+        return new RelDescriptor(ontology, termCode, targetId).qualifier();
+    }
+
+    protected static void manageDate(NodeList dates, DatasetProtos.Dataset.Metadata.Builder metadataProto) {
+        for (int i = 0; i < dates.getLength(); i++) {
+            Node currentNode = dates.item(i);
+            if (currentNode != null && currentNode.hasAttributes() && currentNode.hasChildNodes()) {
+                String dateAttribute = currentNode.getAttributes().getNamedItem("dateType").getNodeValue();
+                String dateValue = currentNode.getChildNodes().item(0).getNodeValue();
+                String protoAttribute = "relevantdate";
+                if ("Accepted".equals(dateAttribute)) {
+                    protoAttribute = "dateofacceptance";
+                } else if ("Issued".equals(dateAttribute)) {
+                    protoAttribute = "storagedate";
+                } else if ("Updated".equals(dateAttribute)) {
+                    protoAttribute = "lastmetadataupdate";
+                } else if ("Available".equals(dateAttribute)) {
+                    protoAttribute = "embargoenddate";
+                }
+                if (protoAttribute.equals("relevantdate") == false) {
+                    addField(metadataProto, DatasetProtos.Dataset.Metadata.getDescriptor().findFieldByName(protoAttribute), dateValue);
+                } else {
+                    addField(metadataProto, DatasetProtos.Dataset.Metadata.getDescriptor().findFieldByName(protoAttribute),
+                            getStructuredProperty(dateValue, "UNKNOWN", "UNKNOWN", "dnet:dataCite_date", "dnet:dataCite_date"));
+                }
+            }
+        }
+    }
+
+    public static String getFirstItem(final NodeList list) {
+        String out = "";
+        if (list != null) {
+
+            if (list.getLength() > 0 && list.item(0).getChildNodes() != null && list.item(0).getChildNodes().getLength() > 0) {
+                out = list.item(0).getChildNodes().item(0).getNodeValue();
+            }
+        }
+        return out;
+    }
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/index/CloudIndexClient.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/index/CloudIndexClient.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/index/CloudIndexClient.java	(revision 51225)
@@ -0,0 +1,109 @@
+package eu.dnetlib.data.index;
+
+import java.util.List;
+
+import com.google.common.base.Function;
+
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.solr.client.solrj.SolrQuery;
+import org.apache.solr.client.solrj.impl.CloudSolrServer;
+import org.apache.solr.client.solrj.response.QueryResponse;
+import org.apache.solr.client.solrj.response.UpdateResponse;
+import org.apache.solr.common.SolrInputDocument;
+
+/**
+ * Created by michele on 11/11/15.
+ */
+public class CloudIndexClient {
+
+	private static final Log log = LogFactory.getLog(CloudIndexClient.class);
+	private static final String INDEX_RECORD_RESULT_FIELD = "dnetResult";
+
+	private final CloudSolrServer solrServer;
+
+	protected CloudIndexClient(final CloudSolrServer solrServer) {
+		this.solrServer = solrServer;
+	}
+
+	public int feed(final String record, final String indexDsId, final Function<String, String> toIndexRecord) throws CloudIndexClientException {
+		try {
+			final SolrInputDocument doc = prepareSolrDocument(record, indexDsId, toIndexRecord);
+			if ((doc == null) || doc.isEmpty()) throw new CloudIndexClientException("Invalid solr document");
+			return feed(doc);
+		} catch (final Throwable e) {
+			throw new CloudIndexClientException("Error feeding document", e);
+		}
+	}
+
+	public int feed(final SolrInputDocument document) throws CloudIndexClientException {
+		try {
+			final UpdateResponse res = solrServer.add(document);
+			//log.debug("feed time for single records, elapsed time: " + HumanTime.exactly(res.getElapsedTime()));
+			if (res.getStatus() != 0) {
+				throw new CloudIndexClientException("bad status: " + res.getStatus());
+			}
+			solrServer.commit();
+			return res.getStatus();
+		} catch (final Throwable e) {
+			throw new CloudIndexClientException("Error feeding document", e);
+		}
+	}
+
+	public void feed(final List<SolrInputDocument> docs, final AfterFeedingCallback callback) throws CloudIndexClientException {
+		try {
+			final UpdateResponse res = solrServer.add(docs);
+			//log.debug("feed time for " + docs.size() + " records, elapsed tipe: : " + HumanTime.exactly(res.getElapsedTime()));
+			solrServer.commit();
+			if (callback != null) {
+				callback.doAfterFeeding(res);
+			}
+			if (res.getStatus() != 0) throw new CloudIndexClientException("bad status: " + res.getStatus());
+		} catch (final Throwable e) {
+			throw new CloudIndexClientException("Error feeding documents", e);
+		}
+	}
+
+	public SolrInputDocument prepareSolrDocument(final String record, final String indexDsId, final Function<String, String> toIndexRecord)
+			throws CloudIndexClientException {
+		try {
+			/*
+			final StreamingInputDocumentFactory documentFactory = new StreamingInputDocumentFactory();
+
+			final String version = (new SimpleDateFormat("yyyy-MM-dd\'T\'hh:mm:ss\'Z\'")).format(new Date());
+			final String indexRecord = toIndexRecord.apply(record);
+
+			if (log.isDebugEnabled()) {
+				log.debug("***************************************\nSubmitting index record:\n" + indexRecord + "\n***************************************\n");
+			}
+
+			return documentFactory.parseDocument(version, indexRecord, indexDsId, INDEX_RECORD_RESULT_FIELD);*/
+			return null;
+		} catch (final Throwable e) {
+			throw new CloudIndexClientException("Error creating solr document", e);
+		}
+	}
+
+	public boolean isRecordIndexed(final String id) throws CloudIndexClientException {
+		try {
+			final SolrQuery query = new SolrQuery();
+			query.setQuery("objidentifier:\"" + id + "\"");
+			final QueryResponse res = solrServer.query(query);
+			return res.getResults().size() > 0;
+		} catch (final Throwable e) {
+			throw new CloudIndexClientException("Error searching documents", e);
+		}
+	}
+
+	public void close() {
+		if (solrServer != null) {
+			solrServer.shutdown();
+		}
+	}
+
+	public interface AfterFeedingCallback {
+
+		void doAfterFeeding(final UpdateResponse response);
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/index/CloudIndexClientException.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/index/CloudIndexClientException.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/index/CloudIndexClientException.java	(revision 51225)
@@ -0,0 +1,15 @@
+package eu.dnetlib.data.index;
+
+/**
+ * Created by michele on 23/11/15.
+ */
+public class CloudIndexClientException extends Exception {
+
+	public CloudIndexClientException(final String message) {
+		super(message);
+	}
+
+	public CloudIndexClientException(final String message, final Throwable cause) {
+		super(message, cause);
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/DbmfToHbaseXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/DbmfToHbaseXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/DbmfToHbaseXsltFunctions.java	(revision 51225)
@@ -0,0 +1,202 @@
+package eu.dnetlib.data.transform.xml;
+
+import com.google.common.collect.Lists;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.Message.Builder;
+import eu.dnetlib.data.graph.model.DNGFRowKeyDecoder;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.DatasetProtos.Dataset;
+import eu.dnetlib.data.proto.DatasourceProtos.Datasource;
+import eu.dnetlib.data.proto.FieldTypeProtos.DataInfo;
+import eu.dnetlib.data.proto.FieldTypeProtos.Instance;
+import eu.dnetlib.data.proto.FieldTypeProtos.KeyValue;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.OrganizationProtos.Organization;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.ProjectProtos.Project;
+import eu.dnetlib.data.proto.PublicationProtos.Publication;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.lang3.StringUtils;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class DbmfToHbaseXsltFunctions extends CommonDNetXsltFunctions {
+
+	public static String oafEntity(
+			final String id,
+			final String collectedFromId,
+			final String collectedFromName,
+			final String originalId,
+			final String dateOfCollection,
+			final String dateOfTransformation,
+			final NodeList nodeList) {
+
+		final DNGFRowKeyDecoder d = DNGFRowKeyDecoder.decode(id);
+		final String entityId = d.getKey();
+		switch (d.getType()) {
+		case datasource:
+			return serializeOafEntity(nodeList, Type.datasource, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Datasource.newBuilder());
+		case organization:
+			return serializeOafEntity(nodeList, Type.organization, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Organization.newBuilder());
+		case person:
+			return serializeOafEntity(nodeList, Type.person, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Person.newBuilder());
+		case project:
+			return serializeOafEntity(nodeList, Type.project, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Project.newBuilder());
+		case publication:
+			return serializeOafEntity(nodeList, Type.publication, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Publication.newBuilder());
+		case dataset:
+			return serializeOafEntity(nodeList, Type.dataset, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Dataset.newBuilder());
+		default:
+			throw new IllegalArgumentException("Invalid entity type: " + d.getType());
+		}
+	}
+
+	public static String rel(
+			final String source,
+			final String target,
+			final String relClass,
+			final String relScheme) {
+		return rel(source, target, null, relClass, relScheme);
+	}
+
+	public static String rel(
+			final String source,
+			final String target,
+			final NodeList nodeList,
+			final String relClass,
+			final String relScheme) {
+
+		final DNGFRowKeyDecoder sd = DNGFRowKeyDecoder.decode(source);
+		final DNGFRowKeyDecoder td = DNGFRowKeyDecoder.decode(target);
+		final Qualifier relType = getSimpleQualifier(relClass, relScheme).build();
+
+		return serializeOafRel(nodeList, sd.getKey(), sd.getType(), td.getKey(), td.getType(), relType, false);
+	}
+
+	// ////////////////////////////////////////////////////////
+
+	protected static String serializeOafEntity(final NodeList nodelist,
+			final Type type,
+			final String id,
+			final KeyValue collectedFrom,
+			final String originalId,
+			final String dateOfCollection,
+			final String dateOfTransformation,
+			final Builder entity) {
+		try {
+			final FieldDescriptor md = entity.getDescriptorForType().findFieldByName("metadata");
+
+			final DNGFEntity.Builder parent = getEntity(type, id, collectedFrom, Lists.newArrayList(originalId), dateOfCollection, dateOfTransformation, null);
+			final Builder metadata = entity.newBuilderForField(md);
+			final DataInfo.Builder dataInfo = DataInfo.newBuilder();
+
+			if (type.equals(Type.publication)) {
+				final Instance.Builder instance = Instance.newBuilder();
+				parseNodelist(nodelist, instance);
+				FieldDescriptor instanceDescriptor = Publication.getDescriptor().findFieldByName(Instance.getDescriptor().getName());
+				if (instanceDescriptor != null) {
+					entity.setField(instanceDescriptor, instance);
+				}
+			}
+			if (type.equals(Type.dataset)) {
+				final Instance.Builder instance = Instance.newBuilder();
+				parseNodelist(nodelist, instance);
+				FieldDescriptor instanceDescriptor = Dataset.getDescriptor().findFieldByName(Instance.getDescriptor().getName());
+				if (instanceDescriptor != null) {
+					entity.setField(instanceDescriptor, instance);
+				}
+			}
+			parseNodelist(nodelist, parent, entity, metadata, dataInfo);
+
+			final FieldDescriptor entityDescriptor = DNGFEntity.getDescriptor().findFieldByName(type.toString());
+
+			final DNGF build = getOaf(parent.setField(entityDescriptor, entity.setField(md, metadata.build()).build()), dataInfo);
+
+			return base64(build.toByteArray());
+		} catch (Exception e) {
+			e.printStackTrace(System.err);
+			throw new RuntimeException(e);
+		}
+	}
+
+	protected static String serializeOafRel(
+			final NodeList nodeList,
+			final String sourceId,
+			final Type sourceType,
+			final String targetId,
+			final Type targetType,
+			final Qualifier relType,
+			final boolean isChild) {
+		try {
+			final DataInfo.Builder dataInfo = DataInfo.newBuilder();
+
+			parseNodelist(nodeList, dataInfo);
+
+			DNGFRel.Builder builder = getRel(sourceId, sourceType, targetId, targetType, relType, isChild);
+
+			DNGF build = getOaf(builder, dataInfo);
+			return base64(build.toByteArray());
+		} catch (Exception e) {
+			e.printStackTrace(System.err);
+			throw new RuntimeException(e);
+		}
+	}
+
+	private static void parseNodelist(final NodeList nodeList, final Builder... builders) {
+
+		if (nodeList == null) return;
+
+		for (int i = 0; i < nodeList.getLength(); i++) {
+
+			final Node fieldNode = nodeList.item(i);
+			final Node attr = fieldNode.getAttributes().getNamedItem("name");
+
+			final String fieldName = attr.getNodeValue();
+			final NodeList chilidren = fieldNode.getChildNodes();
+
+			for (int j = 0; j < chilidren.getLength(); j++) {
+
+				final Node child = chilidren.item(j);
+				final String childName = child.getLocalName();
+				if ("ITEM".equals(childName) || StringUtils.isBlank(childName)) {
+					for (Builder builder : builders) {
+						FieldDescriptor desc = builder.getDescriptorForType().findFieldByName(fieldName);
+						if (desc != null) {
+							String text = getText((StringUtils.isBlank(childName)) ? fieldNode : child);
+							if (!StringUtils.isBlank(text)) {
+								addField(builder, desc, text);
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+
+	private static String getText(final Node node) {
+		StringBuffer result = new StringBuffer();
+		if (!node.hasChildNodes()) { return ""; }
+
+		NodeList list = node.getChildNodes();
+		for (int i = 0; i < list.getLength(); i++) {
+			Node subnode = list.item(i);
+			if (subnode.getNodeType() == Node.TEXT_NODE) {
+				result.append(subnode.getNodeValue());
+			} else if (subnode.getNodeType() == Node.CDATA_SECTION_NODE) {
+				result.append(subnode.getNodeValue());
+			} else if (subnode.getNodeType() == Node.ENTITY_REFERENCE_NODE) {
+				result.append(getText(subnode));
+			}
+		}
+		return result.toString().trim();
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMinDistGraphJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMinDistGraphJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMinDistGraphJob.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="de888da6-2d10-4d42-a624-a44d4083414a_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="dedupMinDistGraphJob" type="mapreduce">
+			<DESCRIPTION>map reduce job that finds the minimum vertex in each connected component in the input graph (as adjacency lists)</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.MindistSearchMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable"/>
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.MindistSearchReducer"/>
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.output.value.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.compress.map.output" value="false"/>
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="100"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs"/>
+				<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs"/>
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS/>
+				<FAMILIES/>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupCandidateScanJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupCandidateScanJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupCandidateScanJob.xml	(revision 51225)
@@ -0,0 +1,64 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="675f1436-205a-4b19-8b6b-35e1c17fb125_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupCandidateScanJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that scans a given entity type and creates the similarRel graph</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Writable" />				
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="10" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="dedup.conf" required="true" description="dedup configuration" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY value="metadata" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingQuickJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingQuickJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingQuickJob.xml	(revision 51225)
@@ -0,0 +1,51 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="13beed98-81bf-4fbd-ab4f-de071177997c_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+    	<HADOOP_JOB name="iisPreprocessingQuickJob" type="oozie">
+        	<DESCRIPTION>IIS preprocessing</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+				<!-- Cluster wide -->
+                <PROPERTY key="queueName" value="default"/>
+				<PROPERTY key="user.name" value="dnet" />
+
+				<!-- Runtime -->
+                <PROPERTY key="workingDir" value="/tmp/integration/working_dir/preprocessing_quick_test"/>
+                <PROPERTY key="oozie.wf.validate.ForkJoin" value="false"/>
+                <PROPERTY key="input_referenceextraction_project" value="/user/marek.horst/share/referenceextraction/document_projects/2014-04-11"/>
+                <PROPERTY key="input_referenceextraction_dataset" value="/user/marek.horst/share/referenceextraction/document_datasets/all/2014-04-11"/>
+                <PROPERTY key="export_action_hbase_table_initialize" value="false"/>
+            </STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+ 		       	<PARAM name="import_content_object_store_location" required="true" description="mdstore service location" />
+        		<PARAM name="import_mdstore_service_location" required="true" description="mdstore service location" />
+        		<PARAM name="import_dataset_mdstore_ids_csv" required="true" description="mdstore id for dataset records" />
+        		<PARAM name="import_wos_mdstore_id" required="true" description="mdstore id for WoS records" />
+        		<PARAM name="import_database_service_location" required="true" description="database service endpoint" />
+        		<PARAM name="import_content_datacite_objectstores_csv" required="true" description="objecstore ids subject to dataset reference extraction" />
+        		<PARAM name="import_content_wos_plaintext_objectstores_csv" required="true" description="objecstore ids for WoS plaintext" />
+	      		<PARAM name="export_action_hbase_table_name" required="true" description="destination action manager table" />
+        		<PARAM name="export_action_hbase_remote_zookeeper_quorum" required="true" description="ZK quorum" />
+        		<PARAM name="export_action_hbase_remote_zookeeper_clientport" required="true" description="ZK port" />
+        		<PARAM name="nameNode" required="true" description="hdfs name node" />
+        		<PARAM name="jobTracker" required="true" description="job tracker name" />
+        		<PARAM name="oozie.wf.application.path" required="true" description="oozie job application absolute path" />
+       			<PARAM name="export_action_set_id_document_referencedProjects" required="true" description="target action set for project references" />
+       			<PARAM name="export_action_set_id_document_referencedDatasets" required="true" description="target action set for dataset references" />
+       			<PARAM name="export_action_set_id_entity_wos" required="true" description="target action set for WoS entities" />
+     			<PARAM name="export_action_set_id_entity_dataset" required="true" description="target action set for dataset entities" />
+        	</JOB_INTERFACE>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctions.java	(revision 51225)
@@ -0,0 +1,66 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.lang.reflect.Type;
+import java.util.List;
+
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * * <xsl:stylesheet ... xmlns:openTrials="eu.dnetlib.miscutils.functional.xml.OpenTrialsFunctions"> ... </xsl:stylesheet>
+ * Created by alessia on 13/05/16.
+ */
+public class OpenTrialsXsltFunctions {
+
+	/**
+	 * Parses a json to get the first url item.
+	 *
+	 * @param jsonProvList A json string in the following format: [{"url" : "theUrl", "sourceID" : "theSourceId", "sourceName" : "theSourceName"}]
+	 * @return the url value in the first object in the list
+	 */
+	public static String getMainIdentifierURL(String jsonProvList) {
+		List<JsonProv> provs = getProvs(jsonProvList);
+		for (JsonProv prov : provs) {
+			if (StringUtils.isNotBlank(prov.getUrl())) return prov.getUrl();
+		}
+		return "";
+	}
+
+
+	public static List<JsonProv> getProvs(String jsonProvList) {
+		Gson gson = new Gson();
+		Type type = new TypeToken<List<JsonProv>>() {
+		}.getType();
+		return gson.fromJson(jsonProvList, type);
+	}
+
+	static class JsonProv {
+
+		String url, sourceId, sourceName;
+
+		public String getUrl() {
+			return url;
+		}
+
+		public void setUrl(final String url) {
+			this.url = url;
+		}
+
+		public String getSourceId() {
+			return sourceId;
+		}
+
+		public void setSourceId(final String sourceId) {
+			this.sourceId = sourceId;
+		}
+
+		public String getSourceName() {
+			return sourceName;
+		}
+
+		public void setSourceName(final String sourceName) {
+			this.sourceName = sourceName;
+		}
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/createDumpScholixDataJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/createDumpScholixDataJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/createDumpScholixDataJob.xml	(revision 51225)
@@ -0,0 +1,71 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                        value="c5c969db-20ff-4baa-ba08-553b2f9a563d_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="createDumpScholixDataJob" type="mapreduce">
+            <DESCRIPTION>map reduce job that joins the entities on the hbase table and produces scholix dumps</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class" value="org.elasticsearch.hadoop.mr.EsOutputFormat" />
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dli.PrepareScholixDumpMapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.DliKey"/>
+                <PROPERTY key="mapreduce.mapoutput.key.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.DliKey"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+
+                <!-- PARTITIONER -->
+                <PROPERTY key="mapred.partitioner.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyPartitioner"/>
+                <PROPERTY key="mapreduce.partitioner.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyPartitioner"/>
+                <PROPERTY key="mapred.output.value.groupfn.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyGroupingComparator"/>
+                <PROPERTY key="mapreduce.output.value.groupfn.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyGroupingComparator"/>
+                <!--<PROPERTY key="mapred.output.key.comparator.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.CompositeKeyComparator"/>-->
+
+                <!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dli.PrepareScholixDumpReducer"/>
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- MISC -->
+                 <PROPERTY key="es.nodes"
+                          value="90.147.167.27:9200,90.147.167.25:9200,90.147.167.28:9200,90.147.167.26:9200"/>
+                <PROPERTY key="es.nodes.resolve.hostname" value="false"/>
+                <PROPERTY key="es.nodes.wan.only" value="true"/>
+                <PROPERTY key="es.resource" value="dli/scholix"/>
+                <PROPERTY key="es.input.json" value="yes"/>
+                <PROPERTY key="mapred.reduce.tasks" value="10"/>
+
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+
+                <!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+                <!--  	Uncomment to override the default lib path -->
+                <!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+                <PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS/>
+                <FAMILIES/>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/ElementList.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/ElementList.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/ElementList.java	(revision 51225)
@@ -0,0 +1,19 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+@SuppressWarnings("serial")
+public class ElementList extends ArrayList<Element> {
+	public List<String> listValues() {
+		return Lists.newArrayList(Iterables.transform(this, new Function<Element, String>() {
+			@Override
+			public String apply(Element e) {
+				return e.getText();
+			}}));
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMarkDeletedEntityJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMarkDeletedEntityJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMarkDeletedEntityJob.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="667fe203-ee51-4dff-8c9c-b90e66e96eb4_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="dedupMarkDeletedEntityJob" type="mapreduce">
+			<DESCRIPTION>map only job that closes the similarity mesh</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupMarkDeletedEntityMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="0"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+				<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table"/>
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+				<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table"/>
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" param="entityTypeId"/>
+				</FILTERS>
+				<FAMILIES>
+					<FAMILY value="metadata"/>
+					<FAMILY value="rels"/>
+				</FAMILIES>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/Element.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/Element.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/Element.java	(revision 51225)
@@ -0,0 +1,61 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+import com.google.common.collect.Maps;
+
+public class Element {
+
+	private String text;
+	private Map<String, String> attributes;
+
+	public Element(final String text, final Map<String, String> attributes) {
+		this.text = text;
+		this.attributes = attributes;
+	}
+
+	public Element(final String text) {
+		this.text = text;
+		this.attributes = Maps.newHashMap();
+	}
+
+	public Element() {
+		this.text = "";
+		this.attributes = Maps.newHashMap();
+	}
+
+	public String getText() {
+		return text;
+	}
+
+	public void setText(final String text) {
+		this.text = text;
+	}
+
+	public Map<String, String> getAttributes() {
+		return attributes;
+	}
+
+	public void setAttributes(final Map<String, String> attributes) {
+		this.attributes = attributes;
+	}
+
+	public boolean isEmpty() {
+		return !(hasText() || hasAttributes());
+	}
+
+	private boolean hasAttributes() {
+		return (getAttributes() != null) && !getAttributes().isEmpty();
+	}
+
+	public boolean hasText() {
+		return (getText() != null) && !getText().isEmpty();
+	}
+
+	@Override
+	public String toString() {
+		return "{ " + StringUtils.left(text, 20) + attributes.toString() + " }";
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/ValueMap.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/ValueMap.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/xml/ValueMap.java	(revision 51225)
@@ -0,0 +1,66 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import com.google.common.collect.Maps;
+
+@SuppressWarnings("serial")
+public class ValueMap extends HashMap<String, ElementList> {
+
+	public static ValueMap parseNodeList(final NodeList nodeList) {
+		final ValueMap values = new ValueMap();
+
+		for (int i = 0; i < nodeList.getLength(); i++) {
+			getNodeValue(nodeList.item(i), values);
+		}
+		return values;
+	}
+
+	protected static void getNodeValue(final Node node, final ValueMap values) {
+
+		final String nodeName = node.getLocalName().toLowerCase();
+
+		final Node nodeText = node.getFirstChild();
+		final Element element = nodeText != null ? new Element(nodeText.getNodeValue()) : new Element();
+		final Map<String, String> attrs = Maps.newHashMap();
+
+		final NamedNodeMap attributeList = node.getAttributes();
+		for (int j = 0; j < attributeList.getLength(); j++) {
+			Node attr = attributeList.item(j);
+			if ((attr.getNodeValue() != null) && !attr.getNodeValue().isEmpty()) {
+				attrs.put(attr.getLocalName(), attr.getNodeValue());
+			}
+		}
+		element.setAttributes(attrs);
+
+		if (!element.isEmpty()) {
+			if (!values.containsKey(nodeName)) {
+				values.put(nodeName, new ElementList());
+			}
+
+			values.get(nodeName).add(element);
+		}
+	}
+
+	@Override
+	public ElementList get(final Object key) {
+		ElementList e = super.get(key);
+		return e != null ? e : new ElementList();
+	}
+
+	@Override
+	public String toString() {
+		StringBuilder sb = new StringBuilder();
+		sb.append("{");
+		for (String k : this.keySet()) {
+			sb.append(k).append("=").append(this.get(k)).append("\n");
+		}
+		sb.append("}");
+		return sb.toString();
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGrouperJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGrouperJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGrouperJob.xml	(revision 51225)
@@ -0,0 +1,60 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="6b2d8db3-346f-4ddc-8591-39fd488c1191_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupGrouperJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that closes the similarity mesh</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />		        	
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupGrouperMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+			        <FAMILY value="datasetDataset_dedupSimilarity_isSimilarTo" />
+			        <FAMILY value="publicationPublication_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Ontology.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Ontology.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Ontology.java	(revision 51225)
@@ -0,0 +1,69 @@
+package eu.dnetlib.data.transform;
+
+import java.util.Map;
+
+import com.google.gson.Gson;
+import eu.dnetlib.data.graph.utils.RelDescriptor;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Created by claudio on 12/12/2016.
+ */
+public class Ontology {
+
+	private static final Log log = LogFactory.getLog(Ontology.class);
+
+	private String code;
+	private String description;
+
+	private Map<String, OntologyTerm> terms;
+
+	public String getCode() {
+		return code;
+	}
+
+	public Ontology setCode(final String code) {
+		this.code = code;
+		return this;
+	}
+
+    public String getDescription() {
+        return description;
+    }
+
+	public Ontology setDescription(final String description) {
+		this.description = description;
+		return this;
+	}
+
+    public Map<String, OntologyTerm> getTerms() {
+        return terms;
+    }
+
+	public Ontology setTerms(final Map<String, OntologyTerm> terms) {
+		this.terms = terms;
+		return this;
+	}
+
+    public String inverseOf(final String termCode) {
+        if (getTerms() == null || !getTerms().containsKey(termCode)) {
+            //log.warn(String.format("unable to find inverse for term '%s', terms: %s", termCode, getTerms()));
+            return null;
+        }
+        return getTerms().get(termCode).getInverseCode();
+    }
+
+    public String inverseOf(final RelDescriptor rd) {
+        if (getTerms() == null || !getTerms().containsKey(rd.getTermCode())) {
+            return null;
+        }
+        return getTerms().get(rd.getTermCode()).getInverseCode();
+    }
+
+	@Override
+	public String toString() {
+		return new Gson().toJson(this);
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Ontologies.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Ontologies.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Ontologies.java	(revision 51225)
@@ -0,0 +1,69 @@
+package eu.dnetlib.data.transform;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Maps;
+import com.google.gson.GsonBuilder;
+import eu.dnetlib.data.graph.utils.RelDescriptor;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Created by sandro on 12/13/16.
+ */
+public class Ontologies extends HashMap<String, Ontology> {
+
+	private static final Log log = LogFactory.getLog(Ontologies.class);
+
+	private Map<String, List<OntologyTerm>> inverse = Maps.newHashMap();
+
+	public String inverseOf(final RelDescriptor rd) {
+
+        if (!containsKey(rd.getOntologyCode())) {
+        	log.warn(String.format("unable to find ontology '%s'", rd.getOntologyCode()));
+	        return null;
+        }
+        return get(rd.getOntologyCode()).inverseOf(rd.getTermCode());
+    }
+
+    public List<OntologyTerm> getTerms(final String termCode) {
+		if (inverse.isEmpty()) {
+			initInverse();
+		}
+		return inverse.get(termCode);
+    }
+
+	private void initInverse() {
+		log.info("initialising inverse Ontology terms");
+		values().forEach(o -> o.getTerms().values().forEach(t -> {
+				if (!inverse.containsKey(t.getCode())) {
+				inverse.put(t.getCode(), new ArrayList<>());
+			}
+			inverse.get(t.getCode()).add(t);
+		}));
+
+	}
+
+	public String toJson() {
+        return toJson(false);
+    }
+
+	public String toJson(boolean pretty) {
+
+		final GsonBuilder gson = new GsonBuilder();
+		if (pretty) {
+			gson.setPrettyPrinting();
+		}
+
+		return gson.create().toJson(this);
+	}
+
+	@Override
+	public String toString() {
+		return toJson();
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindRootsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindRootsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindRootsJob.xml	(revision 51225)
@@ -0,0 +1,60 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="61f9270e-ffc1-4095-9f76-3852e4d227fb_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupFindRootsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that find the root of a similarity group</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupFindRootsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+        			<FAMILY value="resultResult_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/DNGFEntityMerger.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/DNGFEntityMerger.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/DNGFEntityMerger.java	(revision 51225)
@@ -0,0 +1,308 @@
+package eu.dnetlib.data.transform;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.Message.Builder;
+import eu.dnetlib.data.graph.model.DNGFUtils;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DatasetProtos.Dataset;
+import eu.dnetlib.data.proto.FieldTypeProtos.KeyValue;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.FieldTypeProtos.StringField;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.PersonProtos.Person.CoAuthor;
+import eu.dnetlib.data.proto.PersonProtos.Person.MergedPerson;
+import eu.dnetlib.data.proto.PersonProtos.Person.Metadata;
+import eu.dnetlib.data.proto.PublicationProtos.Publication;
+import eu.dnetlib.data.proto.SpecialTrustProtos.SpecialTrust;
+import eu.dnetlib.pace.config.DedupConfig;
+import org.apache.commons.lang3.StringUtils;
+
+public class DNGFEntityMerger {
+
+	private static final String DEDUP_CLASSID = "sysimport:dedup";
+
+	private static final String DNET_PROVENANCE_SCHEME = "dnet:provenanceActions";
+
+	private final Predicate<StringField> skipEmptyStringField = s -> (s != null) && (s.getValue() != null) && !s.getValue().isEmpty();
+
+	private final Predicate<String> skipEmptyString = s -> StringUtils.isNotBlank(s);
+
+	public static DNGF.Builder merge(final String id, final Iterable<DNGF> entities) {
+		return merge(null, id, entities);
+	}
+
+	public static DNGF.Builder merge(final DedupConfig dedupConf, final String id, final Iterable<DNGF> entities) {
+		return new DNGFEntityMerger().mergeEntities(dedupConf, id, entities);
+	}
+
+	public static DNGF.Builder merge(final DNGF.Builder builder) {
+		return new DNGFEntityMerger().doMergeEntities(builder);
+	}
+
+	public DNGF.Builder mergeEntities(final DedupConfig dedupConf, final String id, final Iterable<DNGF> entities) {
+
+		DNGF.Builder builder = DNGF.newBuilder();
+		String trust = "0.0";
+
+        //TODO This set has been changed for DLI, but is wrong
+        //for openaire before was: for (final DNGF dngf : TrustOrdering.sort(entities))
+        for (final DNGF dngf : entities) {
+            // doublecheck we're dealing only with main entities
+			if (!dngf.getKind().equals(Kind.entity)) throw new IllegalArgumentException("expected DNGFEntity!");
+
+			final String currentTrust = dngf.getDataInfo().getTrust();
+
+			if (!currentTrust.equals(SpecialTrust.NEUTRAL.toString())) {
+				trust = currentTrust;
+			}
+			builder.mergeFrom(dngf);
+			if (StringUtils.isBlank(currentTrust))
+				builder.getDataInfoBuilder().setTrust("0.8");
+		}
+
+		builder = doMergeEntities(builder);
+		builder.getEntityBuilder().setId(id);
+		builder.getDataInfoBuilder()
+				.setInferred(true)
+				.setDeletedbyinference(false)
+				.setTrust(trust)
+				.setInferenceprovenance(dedupConf != null ? dedupConf.getWf().getConfigurationId() : "")
+				.setProvenanceaction(getProvenanceAction());
+
+		if ((dedupConf != null) && dedupConf.getWf().isIncludeChildren()) {
+			for (final DNGF dngf : Iterables.limit(entities, dedupConf.getWf().getMaxChildren())) {
+				builder.getEntityBuilder().addChildren(dngf.getEntity());
+			}
+		}
+
+		return builder;
+	}
+
+	private Qualifier.Builder getProvenanceAction() {
+		return Qualifier.newBuilder().setClassid(DEDUP_CLASSID).setClassname(DEDUP_CLASSID).setSchemeid(DNET_PROVENANCE_SCHEME)
+				.setSchemename(DNET_PROVENANCE_SCHEME);
+	}
+
+	public DNGF.Builder doMergeEntities(final DNGF.Builder builder) {
+
+		for (final String field : DNGFUtils.getFieldNames(DNGFEntity.getDescriptor(), DNGFEntity.COLLECTEDFROM_FIELD_NUMBER)) {
+			setKeyValues(builder.getEntityBuilder(), field);
+		}
+		for (final String field : DNGFUtils.getFieldNames(DNGFEntity.getDescriptor(), DNGFEntity.PID_FIELD_NUMBER)) {
+			setStructuredProperty(builder.getEntityBuilder(), field);
+		}
+		for (final String field : DNGFUtils.getFieldNames(DNGFEntity.getDescriptor(), DNGFEntity.ORIGINALID_FIELD_NUMBER)) {
+			setUniqueString(builder.getEntityBuilder(), field);
+		}
+
+		switch (builder.getEntity().getType()) {
+		case datasource:
+			break;
+		case organization:
+			break;
+		case person:
+			final Person.Builder person = builder.getEntityBuilder().getPersonBuilder().setAnchor(true);
+
+			for (final String field : DNGFUtils.getFieldNames(Person.Metadata.getDescriptor(), Metadata.SECONDNAMES_FIELD_NUMBER)) {
+				setSingleString(person.getMetadataBuilder(), field);
+			}
+
+			final Map<String, MergedPerson> mergedMap = Maps.newHashMap();
+			for(MergedPerson merged : person.getMergedpersonList()) {
+				mergedMap.put(merged.getId(), merged);
+			}
+			person.clearMergedperson().addAllMergedperson(mergedMap.values());
+
+			final Map<String, CoAuthor> coAuthorMap = Maps.newHashMap();
+			for(CoAuthor coAuthor : person.getCoauthorList()) {
+				coAuthorMap.put(coAuthor.getId(), coAuthor);
+			}
+			person.clearCoauthor().addAllCoauthor(coAuthorMap.values());
+
+			break;
+		case project:
+			break;
+		case publication:
+			final Publication.Metadata.Builder pub = builder.getEntityBuilder().getPublicationBuilder().getMetadataBuilder();
+			setTitle(pub);
+
+			// for (String field : Lists.newArrayList("subject", "relevantdate")) {
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.SUBJECT_FIELD_NUMBER,
+					Publication.Metadata.RELEVANTDATE_FIELD_NUMBER)) {
+				setStructuredProperty(pub, field);
+			}
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.DESCRIPTION_FIELD_NUMBER)) {
+				setLongestStringField(pub, field);
+			}
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.SOURCE_FIELD_NUMBER)) {
+				setUniqueStringField(pub, field);
+			}
+
+			// remove the inner authors, rely on the children
+			builder.getEntityBuilder().getPublicationBuilder().clearAuthor();
+			break;
+		case dataset:
+			final Dataset.Metadata.Builder dataset = builder.getEntityBuilder().getDatasetBuilder().getMetadataBuilder();
+			setTitle(dataset);
+
+			// for (String field : Lists.newArrayList("subject", "relevantdate")) {
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.SUBJECT_FIELD_NUMBER,
+					Publication.Metadata.RELEVANTDATE_FIELD_NUMBER)) {
+				setStructuredProperty(dataset, field);
+			}
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.DESCRIPTION_FIELD_NUMBER)) {
+				setLongestStringField(dataset, field);
+			}
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.SOURCE_FIELD_NUMBER)) {
+				setUniqueStringField(dataset, field);
+			}
+
+			// remove the inner authors, rely on the children
+			builder.getEntityBuilder().getDatasetBuilder().clearAuthor();
+			break;
+		default:
+			break;
+		}
+		return builder;
+	}
+
+	/**
+	 * Helper method, avoid duplicated StructuredProperties in the given builder for the given fieldName
+	 *
+	 * @param builder
+	 * @param fieldName
+	 */
+	@SuppressWarnings("unchecked")
+	private void setStructuredProperty(final Builder builder, final String fieldName) {
+		final Map<String, StructuredProperty> map = Maps.newHashMap();
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<StructuredProperty> sps = (List<StructuredProperty>) builder.getField(fd);
+
+		if ((sps != null) && !sps.isEmpty()) {
+			for (final StructuredProperty sp : sps) {
+				map.put(sp.getValue(), sp);
+			}
+
+			if (!map.isEmpty()) {
+				builder.clearField(fd).setField(fd, Lists.newArrayList(map.values()));
+			}
+		}
+	}
+
+	/**
+	 * Helper method, avoid duplicated KeyValues in the given builder for the given fieldName
+	 *
+	 * @param builder
+	 * @param fieldName
+	 */
+	@SuppressWarnings("unchecked")
+	private void setKeyValues(final Builder builder, final String fieldName) {
+		final Map<String, KeyValue> map = Maps.newHashMap();
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<KeyValue> kvs = (List<KeyValue>) builder.getField(fd);
+
+		if ((kvs != null) && !kvs.isEmpty()) {
+			for (final KeyValue sp : kvs) {
+				map.put(sp.getKey(), sp);
+			}
+
+			if (!map.isEmpty()) {
+				builder.clearField(fd).setField(fd, Lists.newArrayList(map.values()));
+			}
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private void setSingleString(final Builder builder, final String fieldName) {
+
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<StringField> field = (List<StringField>) builder.getField(fd);
+		if ((field != null) && !field.isEmpty()) {
+			final StringField s = (StringField) Iterables.getLast(Iterables.filter(field, skipEmptyStringField), "");
+
+			if ((s != null) && (s.getValue() != null) && !s.getValue().isEmpty()) {
+				builder.clearField(fd).setField(fd, Lists.newArrayList(s));
+			}
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private void setLongestStringField(final Builder builder, final String fieldName) {
+
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<StringField> field = (List<StringField>) builder.getField(fd);
+
+		if ((field != null) && !field.isEmpty()) {
+			final StringField.Builder max = StringField.newBuilder().setValue("");
+			int maxLength = 0;
+			for (final StringField sf : field) {
+				if (sf.getValue().length() > maxLength) {
+					maxLength = sf.getValue().length();
+					max.clear();
+					max.mergeFrom(sf);
+				}
+			}
+
+			builder.clearField(fd).setField(fd, Lists.newArrayList(max.build()));
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private void setUniqueStringField(final Builder builder, final String fieldName) {
+
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<StringField> field = (List<StringField>) builder.getField(fd);
+		final Map<String, StringField> map = Maps.newHashMap();
+		if ((field != null) && !field.isEmpty()) {
+			for (final StringField s : Iterables.filter(field, skipEmptyStringField)) {
+				map.put(s.getValue(), s);
+			}
+
+			builder.clearField(fd).setField(fd, Lists.newArrayList(map.values()));
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private void setUniqueString(final Builder builder, final String fieldName) {
+
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<String> field = (List<String>) builder.getField(fd);
+		final Set<String> set = Sets.newHashSet();
+		if ((field != null) && !field.isEmpty()) {
+			for (final String s : Iterables.filter(field, skipEmptyString)) {
+				set.add(s);
+			}
+
+			builder.clearField(fd).setField(fd, Lists.newArrayList(set));
+		}
+	}
+
+	private void setTitle(final Publication.Metadata.Builder metadata) {
+		final Iterable<StructuredProperty> filtered = Iterables.filter(metadata.getTitleList(), DNGFUtils.mainTitleFilter());
+
+		if (!Iterables.isEmpty(filtered)) {
+			metadata.clearTitle().addTitle(Iterables.getLast(filtered));
+		}
+	}
+
+	private void setTitle(final Dataset.Metadata.Builder metadata) {
+		final Iterable<StructuredProperty> filtered = Iterables.filter(metadata.getTitleList(), DNGFUtils.mainTitleFilter());
+
+		if (!Iterables.isEmpty(filtered)) {
+			metadata.clearTitle().addTitle(Iterables.getLast(filtered));
+		}
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/exportIdentifiersJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/exportIdentifiersJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/exportIdentifiersJob.xml	(revision 51225)
@@ -0,0 +1,60 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="d5a7c415-932b-442e-91c2-46f648945ac2_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="exportIdentifiersJob" type="mapreduce">
+			<DESCRIPTION>map only job that exports the publication identifiers as json</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataexport.ExportResultIdentifiersMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+				<PROPERTY key="dfs.blocksize" value="256M"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="1"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<PROPERTY key="job.lib" value="/lib/dnet/snapshots/dnet-mapreduce-jobs-assembly-0.0.8.5-SNAPSHOT-exportIds.jar"/>
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+
+				<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs"/>
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" value="50"/>
+				</FILTERS>
+				<FAMILIES>
+					<FAMILY value="result"/>
+				</FAMILIES>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/OntologyLoader.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/OntologyLoader.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/OntologyLoader.java	(revision 51225)
@@ -0,0 +1,140 @@
+package eu.dnetlib.data.transform;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import javax.annotation.PostConstruct;
+
+import com.google.common.collect.Maps;
+import com.google.gson.Gson;
+import eu.dnetlib.enabling.locators.UniqueServiceLocator;
+import eu.dnetlib.rmi.enabling.ISLookUpException;
+import eu.dnetlib.rmi.enabling.ISLookUpService;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.io.SAXReader;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by claudio on 12/12/2016.
+ */
+@Component
+public class OntologyLoader {
+
+	private static final Log log = LogFactory.getLog(OntologyLoader.class);
+
+	private static final String PATTERN = "classpath*:/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/*.xml";
+
+    private static UniqueServiceLocator staticServiceLocator;
+
+    @Autowired
+    private UniqueServiceLocator serviceLocator;
+
+	public static Ontology loadOntologyFromCp(final InputStream profile) {
+        return loadOntologyProfilefromPath(profile);
+    }
+
+    public static Ontologies loadOntologiesFromCp() throws IOException {
+	    final PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
+	    final List<InputStream> files = Arrays.asList(resolver.getResources(PATTERN)).stream().map(r -> {
+		    try {
+			    return r.getInputStream();
+		    } catch (IOException e) {
+			    throw new RuntimeException(e);
+		    }
+	    }).collect(Collectors.toList());
+
+        return createOntologies(files);
+    }
+
+    public static Ontologies createOntologies(List<InputStream> files) {
+        final Ontologies ontologies = new Ontologies();
+        files.stream().map(
+                s -> loadOntologyProfilefromPath(s))
+                .collect(Collectors.toMap(Ontology::getCode, Function.identity()))
+                .entrySet()
+                .forEach(it -> ontologies.put(it.getKey(), it.getValue()));
+        return ontologies;
+    }
+
+    public static Ontologies loadOntologiesFromIS() throws ISLookUpException {
+        final ISLookUpService lookUpService = staticServiceLocator.getService(ISLookUpService.class);
+        List<String> files = lookUpService.quickSearchProfile("for $x in collection('/db/DRIVER/OntologyDSResources/OntologyDSResourceType') return $x");
+        final Ontologies ontologies = new Ontologies();
+        files.stream().map
+                (OntologyLoader::getOntologyFromProfile)
+                .collect(Collectors.toMap(Ontology::getCode, Function.identity()))
+                .entrySet()
+                .forEach(it -> ontologies.put(it.getKey(), it.getValue()));
+        return ontologies;
+    }
+
+	public static Ontologies loadOntologies(final String json) throws IOException {
+		return new Gson().fromJson(json, Ontologies.class);
+	}
+
+    private static Ontology loadOntologyProfilefromPath(final InputStream profile) {
+        final String profileXML;
+        try {
+            profileXML = IOUtils.toString(profile);
+        } catch (IOException e) {
+            log.error(e);
+            return null;
+        }
+        return getOntologyFromProfile(profileXML);
+    }
+
+    private static Ontology getOntologyFromProfile(final String profile) {
+        SAXReader saxReader = new SAXReader();
+        Document doc = null;
+        StringReader reader = new StringReader(profile);
+
+        try {
+            doc = saxReader.read(reader);
+        } catch (DocumentException e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+        return new Ontology()
+                .setCode(doc.valueOf("//ONTOLOGY_NAME/@code"))
+                .setDescription(doc.valueOf("//ONTOLOGY_DESCRIPTION/text()"))
+                .setTerms(asTerms(doc.selectNodes("//TERMS/TERM")));
+    }
+
+	private static Map<String,OntologyTerm> asTerms(final List list) {
+		final Map<String, OntologyTerm> terms = Maps.newHashMap();
+		if (list != null) {
+			list.forEach(o -> {
+				final Element e = (Element) o;
+				final OntologyTerm ot = OntologyTerm.newInstance()
+						.setCode(e.attributeValue("code"))
+						.setEncoding(e.attributeValue("encoding"))
+						.setEnglishName(e.attributeValue("english_name"))
+						.setNativeName(e.attributeValue("native_name"))
+						.setInverseCode(((Node) o).valueOf("./RELATIONS/RELATION[@type = 'inverseOf']/@code"));
+
+				terms.put(ot.getCode(), ot);
+			});
+		}
+		return terms;
+	}
+
+    @PostConstruct
+    public void init() {
+        OntologyLoader.staticServiceLocator = serviceLocator;
+    }
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupIndexFeedJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupIndexFeedJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupIndexFeedJob.xml	(revision 51225)
@@ -0,0 +1,69 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="fa0e188c-aec4-4877-93b4-43e3c5acae1d_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupIndexFeedJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that updates the dedup index</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.index.DedupIndexFeedMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+				
+				<!-- JOB GLOBAL -->		
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text"/>
+				
+				<!-- MISC -->					
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<PROPERTY key="mapred.fairscheduler.pool" value="solr"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+	       		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="mapred.output.dir" required="true" description="destination path on hdfs for rotten index xml records" />
+        		
+        		<PARAM name="index.solr.url" required="false" description="url used to instantiate the solr client" /> 
+       			<PARAM name="index.solr.collection" required="true" description="target solr collection to be fed" />
+
+       			<PARAM name="id" required="true" description="index DS id" />
+				<PARAM name="index.shutdown.wait.time" required="true" description="wait time before shut down the solr client pool" />
+       			<PARAM name="index.buffer.flush.threshold" required="true" description="indexing buffer flush threshold" />
+       			<PARAM name="index.feed.timestamp" required="true" description="timestamp used as ds_version" />
+				<PARAM name="index.solr.sim.mode" required="true" description="boolean value, allows to run this job in simulation mode" />
+				<PARAM name="index.fields" required="true" description="fields from a given MDFormatDSResourceType" />
+				<PARAM name="entityType" required="true" description="entity Type name" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/AbstractProtoMapper.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/AbstractProtoMapper.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/AbstractProtoMapper.java	(revision 51225)
@@ -0,0 +1,155 @@
+package eu.dnetlib.data.transform;
+
+import java.util.List;
+import java.util.Optional;
+
+import com.google.common.base.Splitter;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.protobuf.Descriptors.EnumValueDescriptor;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.Message;
+import com.googlecode.protobuf.format.JsonFormat;
+import eu.dnetlib.pace.config.Type;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * AbstractProtoMapper provide common navigation methods on the protocolbuffers Messages.
+ *
+ * @author claudio
+ */
+public abstract class AbstractProtoMapper {
+
+	private static final String COND_WRAPPER = "\\{|\\}";
+	private static final String COND_SEPARATOR = "#";
+	/** The Constant PATH_SEPARATOR. */
+	private static final String PATH_SEPARATOR = "/";
+
+	/**
+	 * Process multi path.
+	 *
+	 * @param proto
+	 *            the proto
+	 * @param paths
+	 *            the paths
+	 * @return the list
+	 */
+	protected List<Object> processMultiPath(final GeneratedMessage proto, final List<String> paths, final Type type) {
+		final List<Object> response = Lists.newArrayList();
+		for (final String pathElements : paths) {
+			response.addAll(processPath(proto, pathElements, type));
+		}
+		return response;
+	}
+
+	/**
+	 * Process path.
+	 *
+	 * @param proto
+	 *            the proto
+	 * @param path
+	 *            the path
+	 * @return the list
+	 */
+	protected List<Object> processPath(final GeneratedMessage proto, final String path, final Type type) {
+		return processPath(proto, Lists.newLinkedList(Splitter.on(PATH_SEPARATOR).trimResults().split(path)), type);
+	}
+
+	/**
+	 * Process path.
+	 *
+	 * @param proto
+	 *            the proto
+	 * @param pathElements
+	 *            the list
+	 * @return the list
+	 */
+	protected List<Object> processPath(final GeneratedMessage proto, final List<String> pathElements, final Type type) {
+
+		final List<Object> response = Lists.newArrayList();
+
+		if (pathElements.isEmpty()) throw new RuntimeException("ProtoBuf navigation path is empty");
+
+		final String fieldPathCond = pathElements.get(0);
+
+		final String fieldPath = StringUtils.substringBefore(fieldPathCond, "[");
+		final String cond = getCondition(fieldPathCond);
+
+		final Optional<FieldDescriptor> ofd = proto.getAllFields().keySet()
+				.stream()
+				.filter(fdef -> fdef.getName().equalsIgnoreCase(fieldPath))
+				.findFirst();
+
+		if (ofd.isPresent()) {
+			final FieldDescriptor fd = ofd.get();
+			if (fd.isRepeated()) {
+				final int count = proto.getRepeatedFieldCount(fd);
+				for (int i = 0; i < count; i++) {
+					final Object field = proto.getRepeatedField(fd, i);
+					response.addAll(generateFields(fd, field, pathElements, cond, type));
+				}
+			} else {
+				final Object field = proto.getField(fd);
+				response.addAll(generateFields(fd, field, pathElements, cond, type));
+			}
+		} //else throw new IllegalArgumentException("Invalid protobuf path (field not found): " + StringUtils.join(pathElements, ">") + "\nMessage:\n" + proto);
+
+		return response;
+	}
+
+	/**
+	 * Generate fields.
+	 *
+	 * @param fd
+	 *            the fd
+	 * @param field
+	 *            the field
+	 * @param list
+	 *            the list
+	 * @return the list
+	 */
+	private List<Object> generateFields(final FieldDescriptor fd, final Object field, final List<String> list, final String cond, final Type type) {
+
+		final List<Object> res = Lists.newArrayList();
+		if (field instanceof GeneratedMessage) {
+			if (list.size() > 1) {
+
+				if (StringUtils.isBlank(cond)) return processPath((GeneratedMessage) field, list.subList(1, list.size()), type);
+				else {
+
+					final List<String> condPath =
+							Lists.newLinkedList(Splitter.on(COND_SEPARATOR).trimResults().split(StringUtils.substringBefore(cond, "=")));
+
+					final String val = (String) Iterables.getOnlyElement(processPath((GeneratedMessage) field, condPath, type));
+					final String condVal = StringUtils.substringAfter(cond, "=").replaceAll(COND_WRAPPER, "").trim();
+
+					return val.equals(condVal) ? processPath((GeneratedMessage) field, list.subList(1, list.size()), type) : res;
+				}
+			}
+			else if (Type.JSON.equals(type)) {
+				final String json = JsonFormat.printToString((Message) field);
+				res.add(json);
+				return res;
+			} else throw new RuntimeException("No primitive type found");
+		} else {
+			if (list.size() == 1) {
+
+				switch (fd.getType()) {
+				case ENUM:
+					res.add(((EnumValueDescriptor) field).getName());
+					break;
+				default:
+					res.add(field);
+					break;
+				}
+				return res;
+			}
+			else throw new RuntimeException("Found a primitive type before the path end");
+		}
+	}
+
+	private String getCondition(final String fieldPathCond) {
+		return fieldPathCond.contains("[") ? StringUtils.substringAfter(fieldPathCond, "[").replace("]", "") : "";
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/importMergeCollectedFromVersion.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/importMergeCollectedFromVersion.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/importMergeCollectedFromVersion.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="66035326-b379-4ad5-a39d-3e443b9eedf7_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="mergeCollectedFromVersionJob" type="mapreduce">
+            <DESCRIPTION>map only job that merges multiple versions of collected From stored in the same cells
+            </DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class"
+                          value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat"/>
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dataimport.MergeProvenanceVersionMapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.Writable"/>
+
+                <!-- MISC -->
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapreduce.map.speculative" value="false"/>
+                <PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+                <PROPERTY key="mapred.reduce.tasks" value="0"/>
+                <!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+                <!--  	Uncomment to override the default lib path -->
+                <!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+                <PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table"/>
+                <PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+                <PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table"/>
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS operator="MUST_PASS_ALL">
+                    <FILTER type="prefix" param="entityTypeId"/>
+                </FILTERS>
+                <FAMILIES>
+                    <FAMILY value="metadata" readVersions="true"/>
+                </FAMILIES>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/prepareIndexDataJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/prepareIndexDataJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/prepareIndexDataJob.xml	(revision 51225)
@@ -0,0 +1,64 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ed8c0a4e-7cf2-49df-bfed-fcfab0699ade_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="prepareIndexDataJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that joins the entities on the hbase table and produces a sequence file containig the xml records</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.index.PrepareFeedMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.index.PrepareFeedReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />				
+				
+				<!-- MISC -->
+				<PROPERTY key="mapred.output.compress" value="false" />						
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+							
+				<PROPERTY key="mapred.reduce.tasks" value="500" />
+				<PROPERTY key="dfs.blocksize" value="256M" />
+				
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" /> 
+        		
+        		<PARAM name="index.entity.links" required="true" description="entity joiner configuration" /> 
+        		<PARAM name="contextmap" required="true" description="context map (ContextDSResources)" />        		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteSimRelsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteSimRelsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteSimRelsJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="6363b833-ac88-421c-8596-440a3dc735db_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="deleteSimRelJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that deletes the similarity rels used to in the deduplication process (person)</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupDeleteSimRelMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.Writable" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />		
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+			        <FAMILY value="datasetDataset_dedupSimilarity_isSimilarTo" />
+			        <FAMILY value="publicationPublication_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/coauthorUpdateJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/coauthorUpdateJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/coauthorUpdateJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="6d91b311-a7fd-48ff-98d2-1fed70850e3a_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="coauthorUpdateJob" type="mapreduce">
+ 			<DESCRIPTION>update coauthors using a map {merged author id --> anchorId}</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.inputformat.class"	value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />			
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.CoAuthorUpdateMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+				
+				
+				<!-- MISC -->
+				<PROPERTY key="mapred.output.compress" value="false" />
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+							
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" /> 
+        	</JOB_INTERFACE>
+        	<SCAN>
+                <FILTERS operator="MUST_PASS_ALL">
+                    <FILTER type="prefix" value="30"/>
+                </FILTERS>
+                <FAMILIES>
+                    <FAMILY value="person"/>
+                </FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/OntologyTerm.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/OntologyTerm.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/OntologyTerm.java	(revision 51225)
@@ -0,0 +1,71 @@
+package eu.dnetlib.data.transform;
+
+import com.google.gson.Gson;
+
+/**
+ * Created by claudio on 12/12/2016.
+ */
+public class OntologyTerm {
+
+	private String code;
+	private String encoding;
+	private String englishName;
+	private String nativeName;
+
+	private String inverseCode;
+
+	public static OntologyTerm newInstance() {
+		return new OntologyTerm();
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public String getEncoding() {
+		return encoding;
+	}
+
+	public String getEnglishName() {
+		return englishName;
+	}
+
+	public String getNativeName() {
+		return nativeName;
+	}
+
+	public String getInverseCode() {
+		return inverseCode;
+	}
+
+	public OntologyTerm setCode(final String code) {
+		this.code = code;
+		return this;
+	}
+
+	public OntologyTerm setEncoding(final String encoding) {
+		this.encoding = encoding;
+		return this;
+	}
+
+	public OntologyTerm setEnglishName(final String englishName) {
+		this.englishName = englishName;
+		return this;
+	}
+
+	public OntologyTerm setNativeName(final String nativeName) {
+		this.nativeName = nativeName;
+		return this;
+	}
+
+	public OntologyTerm setInverseCode(final String inverseCode) {
+		this.inverseCode = inverseCode;
+		return this;
+	}
+
+	@Override
+	public String toString() {
+		return new Gson().toJson(this);
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisMainJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisMainJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisMainJob.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="f6e4cbcd-b173-4f8d-9205-e64ba15f03ad_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="iisMainJob" type="oozie">
+			<DESCRIPTION>IIS main workflow</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- Cluster wide -->
+				<PROPERTY key="queueName" value="default"/>
+				<PROPERTY key="user.name" value="dnet.beta"/>
+
+				<!-- Runtime -->
+				<PROPERTY key="match_content_with_metadata" value="true"/>
+				<PROPERTY key="import_hbase_approved_datasources_csv" value="$UNDEFINED$"/>
+				<PROPERTY key="import_hbase_input_table" value="information_space-2014-11-05"/>
+				<!--<PROPERTY key="metadataextraction_default_cache_location" value="/cache/metadataextraction"/> -->
+				<PROPERTY key="metadataextraction_default_cache_location" value="/cache/metadataextraction_updated_model"/>
+
+				<PROPERTY key="export_action_hbase_table_initialize" value="true"/>
+				<PROPERTY key="oozie.wf.validate.ForkJoin" value="false"/>
+				<PROPERTY key="workingDir" value="/tmp/integration/working_dir/main"/>
+				<PROPERTY key="metadataextraction_excluded_checksums"
+				          value="1e5b574109da731f4918c7f91fc24864,bea4728578070c3d66774bf9454d41fe,da458477233b5561ae47042aa2a73086"/>
+				<PROPERTY key="export_documentssimilarity_threshold" value="0.7"/>
+				<PROPERTY key="export_trust_level_threshold_document_classes" value="0.5"/>
+				<PROPERTY key="export_trust_level_threshold_document_referencedDatasets" value="0.0"/>
+				<PROPERTY key="export_trust_level_threshold_document_referencedProjects" value="0.0"/>
+				<PROPERTY key="export_trust_level_threshold_document_pdb" value="0.0"/>
+				<PROPERTY key="output_remote_location" value="hdfs://namenode.hadoop.dm.openaire.eu/var/lib/dnet/actionManager_BETA"/>
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="import_content_object_store_location" required="true" description="objectStore service endpoint"/>
+				<PARAM name="import_content_objectstores_csv" required="true" description="csv list of the available object stores subject to processing"/>
+				<PARAM name="import_mdstore_service_location" required="true" description="mdstore service location"/>
+				<PARAM name="import_dataset_mdstore_ids_csv" required="true" description="mdstore ids for dataset records"/>
+				<PARAM name="export_action_hbase_table_name" required="true" description="destination action manager table"/>
+				<PARAM name="export_action_hbase_remote_zookeeper_quorum" required="true" description="ZK quorum"/>
+				<PARAM name="export_action_hbase_remote_zookeeper_clientport" required="true" description="ZK port"/>
+				<PARAM name="nameNode" required="true" description="hdfs name node"/>
+				<PARAM name="jobTracker" required="true" description="job tracker name"/>
+				<PARAM name="oozie.wf.application.path" required="true" description="oozie job application absolute path"/>
+				<PARAM description="target action set for referenced projects" name="export_action_set_id_document_referencedProjects" required="true"/>
+				<PARAM description="target action set for referenced datasets" name="export_action_set_id_document_referencedDatasets" required="true"/>
+				<PARAM description="target action set for research initiative outcome" name="export_action_set_id_document_research_initiative"
+				       required="true"/>
+				<PARAM description="target action set for document similarities" name="export_action_set_id_document_similarities_standard" required="true"/>
+				<PARAM description="target action set for document statistics" name="export_action_set_id_document_statistics" required="true"/>
+				<PARAM description="target action set for document classification" name="export_action_set_id_document_classes" required="true"/>
+				<PARAM description="target action set for document citations" name="export_action_set_id_document_referencedDocuments" required="true"/>
+				<PARAM description="target action set for dataset entities" name="export_action_set_id_entity_dataset" required="true"/>
+				<PARAM description="target action set for pdb entities" name="export_action_set_id_document_pdb" required="true"/>
+
+				<!-- flags to enable/disable IIS modules -->
+				<PARAM name="active_metadataextraction_export" required="true" description="enable/disable the affiliation matching module"/>
+				<PARAM name="active_citationmatching" required="true" description="enable/disable the citation matching module"/>
+				<PARAM name="active_documentsclassification" required="true" description="enable/disable the document classification module"/>
+				<PARAM name="active_documentssimilarity" required="true" description="enable/disable the document similarity module"/>
+				<PARAM name="active_referenceextraction_dataset" required="true" description="enable/disable the dataset reference extraction module"/>
+				<PARAM name="active_referenceextraction_project" required="true" description="enable/disable the project reference extracion module"/>
+				<PARAM name="active_referenceextraction_researchinitiative" required="true"
+				       description="enable/disable the research initiative extraction module"/>
+				<PARAM name="active_statistics" required="true" description="enable/disable the statistics module"/>
+				<PARAM name="active_referenceextraction_pdb" required="true" description="enable/disable the protein data bank extraction module"/>
+
+			</JOB_INTERFACE>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/XsltRowTransformer.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/XsltRowTransformer.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/XsltRowTransformer.java	(revision 51225)
@@ -0,0 +1,84 @@
+package eu.dnetlib.data.transform;
+
+import java.io.StringReader;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.stream.StreamSource;
+
+import com.google.common.base.Function;
+import com.ximpleware.AutoPilot;
+import com.ximpleware.VTDGen;
+import com.ximpleware.VTDNav;
+import eu.dnetlib.data.graph.model.DNGFDecoder;
+import eu.dnetlib.data.transform.VtdUtilityParser.Node;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.dom4j.io.DocumentResult;
+
+public class XsltRowTransformer implements Function<String, List<Row>> {
+
+	private static final Log log = LogFactory.getLog(XsltRowTransformer.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	public static final String DATA_XPATH = "/ROWS/ROW";
+
+	public static final List<String> ATTRS = Arrays.asList("value", "mode");
+
+	private Transformer transformer;
+
+	public XsltRowTransformer(final Transformer transformer) {
+		this.transformer = transformer;
+		log.info(String.format("using trasformer: '%s'", getTransformerClassName()));
+	}
+
+	private List<Row> transform(final String xml) {
+		final DocumentResult result = new DocumentResult();
+		try {
+			transformer.transform(new StreamSource(new StringReader(xml)), result);
+
+			final VTDGen parser = new VTDGen();
+			parser.setDoc(result.getDocument().asXML().getBytes());
+			parser.parse(true);
+
+			final VTDNav nav = parser.getNav();
+			final AutoPilot autoPilot = new AutoPilot(nav);
+			return VtdUtilityParser.getTextValuesWithAttributes(autoPilot, nav, DATA_XPATH, ATTRS)
+					.stream()
+					.map(this::asRow)
+					.collect(Collectors.toList());
+		} catch (Exception e) {
+			log.error("Error parsing xml:\n" + xml, e);
+			throw new RuntimeException("Unable to parse document:\n" + xml, e);
+		}
+	}
+
+	private Row asRow(final Node base64Node) {
+		final String base64 = base64Node.getAttributes().get("value");
+		if (StringUtils.isBlank(base64))
+			throw new IllegalArgumentException("empty protocolbuffer value, check xslt");
+
+		final DNGFDecoder d = DNGFDecoder.decode(Base64.decodeBase64(base64));
+		final String qualifier = getQualifier(base64Node, d);
+		return new Row(d.getColumnFamily(), d.getRowkey(), Arrays.asList(new Column<>(qualifier, d.getDNGF().toByteArray())));
+	}
+
+	private String getQualifier(final Node base64Node, final DNGFDecoder d) {
+		if("update".equals(base64Node.getAttributes().get("mode"))) {
+			return "update_" + System.nanoTime();
+		}
+		return d.getQualifier();
+	}
+
+	public String getTransformerClassName() {
+		return transformer != null ? transformer.getClass().getName() : "unknown";
+	}
+
+	@Override
+	public List<Row> apply(final String xml) {
+		return transform(xml);
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceExportJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceExportJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceExportJob.xml	(revision 51225)
@@ -0,0 +1,65 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="62c1e44c-14b6-4639-9083-29bf432e6759_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="informationSpaceExportJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that exports the whole information space table as json</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataexport.ExportInformationSpaceMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+			
+			
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />	
+			
+				<!-- MISC -->
+
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+
+				<PROPERTY key="dfs.blocksize" value="256M" />
+				
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.output.compress" value="true" />
+				<PROPERTY key="mapred.output.compression.type" value="BLOCK" />
+				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceImportJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceImportJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceImportJob.xml	(revision 51225)
@@ -0,0 +1,50 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="b7d51a07-6996-4841-9a4a-685a044638e3_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="informationSpaceImportJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that import the whole information space table from a sequence file holding a json dump</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+				
+				<!-- MAPPER -->        	
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataimport.ImportInformationSpaceDumpMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+			
+				<!-- MISC -->
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+        		
+        		<PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/ColumnType.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/ColumnType.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/ColumnType.java	(revision 51225)
@@ -0,0 +1,6 @@
+package eu.dnetlib.data.transform;
+
+public enum ColumnType {
+	base64,
+	text,
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupAnchorStatsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupAnchorStatsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupAnchorStatsJob.xml	(revision 51225)
@@ -0,0 +1,58 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="2af384c6-9118-426d-9394-d7bbc42d707c_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupAnchorStatsJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that calculate statistics on the person anchors</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.NullOutputFormat" />
+
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.experiment.AnchorStatsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+				
+				<!-- JOB GLOBAL -->		
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.NullWritable" />
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.NullWritable"/>
+				
+				<!-- MISC -->					
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!--<PROPERTY key="mapred.fairscheduler.pool" value="solr"/> -->
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+	       		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Row.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Row.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Row.java	(revision 51225)
@@ -0,0 +1,76 @@
+package eu.dnetlib.data.transform;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Maps;
+
+public class Row implements Iterable<Column<String, byte[]>> {
+
+	private String columnFamily;
+
+	private String key;
+
+	private Map<String, Column<String, byte[]>> columns;
+
+	public Row(final Row row) {
+		this.columnFamily = row.getColumnFamily();
+		this.key = row.getKey();
+		this.columns = row.columns;
+	}
+
+	public Row(final String columnFamily, final String key) {
+		this.columnFamily = columnFamily;
+		this.key = key;
+		this.columns = Maps.newHashMap();
+	}
+
+	public Row(final String columnFamily, final String key, final List<Column<String, byte[]>> columns) {
+		this(columnFamily, key);
+		this.setColumns(columns);
+	}
+
+	public void addColumn(final Column<String, byte[]> column) {
+		getColumns().add(column);
+	}
+
+	public String getKey() {
+		return key;
+	}
+
+	public Collection<Column<String, byte[]>> getColumns() {
+		return columns.values();
+	}
+
+	public Column<String, byte[]> getColumn(final String name) {
+		return columns.get(name);
+	}
+
+	public void setColumn(final String name, final Column<String, byte[]> newColumn) {
+		columns.put(name, newColumn);
+	}
+
+	public void setColumns(final List<Column<String, byte[]>> columns) {
+		this.columns.clear();
+		for (final Column<String, byte[]> col : columns) {
+			this.columns.put(col.getName(), col);
+		}
+	}
+
+	public String getColumnFamily() {
+		return columnFamily;
+	}
+
+	@Override
+	public Iterator<Column<String, byte[]>> iterator() {
+		return getColumns().iterator();
+	}
+
+	@Override
+	public String toString() {
+		return "\nRow [ KEY: " + key + ",\n\tCF: " + columnFamily + "\n\tCOLS: {" + columns + "}]";
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupExportPersonFullnameJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupExportPersonFullnameJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupExportPersonFullnameJob.xml	(revision 51225)
@@ -0,0 +1,62 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ba309300-76f2-40d1-afe3-b77016f443e9_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="exportPersonFullnamesJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that exports the person fullnames on a text file on HDFS</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.preprocess.ExportFullnameMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.preprocess.ExportFullnameReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />				
+	
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+				
+				<PROPERTY key="mapred.reduce.tasks" value="1" />
+				<PROPERTY key="dfs.blocksize" value="256M" />
+				<PROPERTY key="mapred.textoutputformat.separator" value="" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+	
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN caching="10">
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES/>        		
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/sqoopStatsUpdateJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/sqoopStatsUpdateJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/sqoopStatsUpdateJob.xml	(revision 51225)
@@ -0,0 +1,70 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="bf0ab07b-36bf-4164-ab73-342bfb11e51a_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="StatsExportJob" type="oozie">
+            <DESCRIPTION>Job for importing data from HBASE to the relational Stats Database</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+			
+				<!-- Cluster wide -->
+                <PROPERTY key="queueName" value="default"/>
+                <PROPERTY key="user.name" value="dnet"/> <!-- username = sqoop?? -->
+                <PROPERTY key="workingDir" value="/user/dnet/lib/stats/working_dir"/>
+                <PROPERTY key="numReducers" value="1"/>
+                
+				<PROPERTY key="oozie.wf.application.path" value="hdfs://nmis-hadoop-cluster/user/eri.katsari/stats/oozie_app"/><!-- edit this property! -->
+				<PROPERTY key="Stats_db_Url" value="jdbc:postgresql://node1.t.openaire.research-infrastructures.eu:5432/stats"/><!-- complete the jdbc url with the actual value! -->
+				<PROPERTY key="Stats_db_User" value="sqoop"/>
+				<PROPERTY key="Stats_db_Pass" value="sqoop"/>
+				<PROPERTY key="Stats_db_Driver" value="org.postgresql.Driver"/>
+				<PROPERTY key="Stats_db_table_map" value="datasourceLanguage=datasource_languages,datasource=datasource,project=project,result=result,organization=organization,datasourceOrganization=datasource_organizations,datasourceTopic=datasource_topics,projectOrganization=project_organizations,resultClaim=result_claims,resultClassification=result_classifications,resultConcept=result_concepts,resultLanguage=result_languages,resultOrganization=result_organizations,resultResult=result_results,resultProject=project_results,resultTopic=result_topics,category=category,context=context,claim=claim,concept=concept,datasourceLanguage=datasource_languages,resultLanguage=result_languages,resultDatasource=result_datasources"/>
+				<PROPERTY key="Stats_sqoop_RecsPerStatement" value="10000"/>
+				<PROPERTY key="Stats_sqoop_StatementPerTrans" value="1000000"/>
+				<PROPERTY key="Stats_sqoop_ReducersCount" value="4"/>
+				<PROPERTY key="Stats_output_Path" value="/tmp/stats/"/>
+				<PROPERTY key="Stats_null_String_Field" value="null"/>
+				<PROPERTY key="Stats_null_Numeric_Field" value="null"/>
+				<PROPERTY key="Stats_enclosing_Character" value="#"/>
+				<PROPERTY key="Stats_delim_Character" value="!"/>
+				<PROPERTY key="out1" value="datasource"/>
+				<PROPERTY key="out2" value="project"/>
+				<PROPERTY key="out3" value="organization"/>
+				<PROPERTY key="out4" value="datasourceOrganization"/>
+				<PROPERTY key="out5" value="datasourceTopic"/>
+				<PROPERTY key="out6" value="datasourceLanguage"/>
+				<PROPERTY key="out7" value="projectOrganization"/>
+				<PROPERTY key="out8" value="resultClaim"/>
+				<PROPERTY key="out9" value="resultClassification"/>
+				<PROPERTY key="out10" value="resultConcept"/>
+				<PROPERTY key="out11" value="resultLanguage"/>
+				<PROPERTY key="out12" value="resultOrganization"/>
+				<PROPERTY key="out13" value="resultResult"/>
+				<PROPERTY key="out14" value="resultProject"/>
+				<PROPERTY key="out15" value="category"/>
+				<PROPERTY key="out16" value="resultTopic"/>
+				<PROPERTY key="out17" value="resultDatasource"/>
+				<PROPERTY key="out18" value="result"/>
+				<PROPERTY key="out19" value="claim"/>
+				<PROPERTY key="out20" value="concept"/>
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM name="nameNode" required="true" description="hdfs name node"/>
+                <PARAM name="jobTracker" required="true" description="job tracker name"/>
+                <PARAM name="Stats_Hbase_Source_Table" required="true" description="Hbase Table with Protobuffs."/>
+                <PARAM name="Stats_indexConf" required="true" description="Index Entity Links configuration."/>
+                <PARAM name="isLookupEndpoint" required="true" description="IS lookup service endpoint"/>
+            </JOB_INTERFACE>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2014-11-14T19:57:25+00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="75"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Column.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Column.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/Column.java	(revision 51225)
@@ -0,0 +1,26 @@
+package eu.dnetlib.data.transform;
+
+public class Column<N, V> {
+
+	private N name;
+
+	private V value;
+
+	public static <N, V> Column<N, V> newInstance(final N name, final V value) {
+		return new Column<N, V>(name, value);
+	}
+
+	public Column(final N name, final V value) {
+		this.name = name;
+		this.value = value;
+	}
+
+	public N getName() {
+		return name;
+	}
+
+	public V getValue() {
+		return value;
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/XsltRowTransformerFactory.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/XsltRowTransformerFactory.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/XsltRowTransformerFactory.java	(revision 51225)
@@ -0,0 +1,57 @@
+package eu.dnetlib.data.transform;
+
+import java.io.StringReader;
+import java.util.Map;
+import java.util.Map.Entry;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.SAXReader;
+
+public class XsltRowTransformerFactory {
+
+	private static final Log log = LogFactory.getLog(XsltRowTransformerFactory.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	public XsltRowTransformer getTransformer(final String xslt) {
+		return doGetTransformer(xslt, null);
+	}
+
+	public XsltRowTransformer getTransformer(final String xslt, final Map<String, Object> params) {
+		return doGetTransformer(xslt, params);
+	}
+
+	private XsltRowTransformer doGetTransformer(final String xslt, final Map<String, Object> params) {
+		try {
+			if ((xslt == null) || xslt.isEmpty()) return new XsltRowTransformer(null);
+
+			final TransformerFactory factory = TransformerFactory.newInstance();
+
+			if (log.isDebugEnabled()) {
+				log.debug("using transformer factory: '" + factory.getClass().getCanonicalName() + "'");
+			}
+
+			final Transformer t = factory.newTransformer(new DocumentSource(new SAXReader().read(new StringReader(xslt))));
+			if (params != null && !params.isEmpty()) {
+				for (final Entry<String, Object> e : params.entrySet()) {
+					log.debug(String.format("using xslt param: %s - %s", e.getKey(), e.getValue()));
+					t.setParameter(e.getKey(), e.getValue());
+				}
+			}
+			return new XsltRowTransformer(t);
+		} catch (final Exception e) {
+			throw new RuntimeException("Error generating transformer from xslt:\n" + xslt, e);
+		}
+	}
+
+	public static XsltRowTransformer newInstance(final String xslt) {
+		return new XsltRowTransformerFactory().getTransformer(xslt);
+	}
+
+	public static XsltRowTransformer newInstance(final String xslt, final Map<String, Object> params) {
+		return new XsltRowTransformerFactory().getTransformer(xslt, params);
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/resetDedupJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/resetDedupJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/resetDedupJob.xml	(revision 51225)
@@ -0,0 +1,47 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="bc4f377a-af07-403d-a019-af60aa557652_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="resetDedupJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that reset the dedup jobs</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"  />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />		
+
+				<!-- MAPPER -->        	
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.reset.HBaseResetMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"  />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Mutation"  />
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"  />
+				<PROPERTY key="mapreduce.map.speculative" value="false"  />
+				<PROPERTY key="mapred.reduce.tasks" value="0"  />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+				
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />        		
+        	</JOB_INTERFACE>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/copyTableJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/copyTableJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/copyTableJob.xml	(revision 51225)
@@ -0,0 +1,41 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="cd176186-58ba-44b7-ae7e-25994c0c95bb_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="copytable" type="admin">
+ 			<DESCRIPTION>copies a table on the same cluster or on a remote one, mimics http://hbase.apache.org/book/ops_mgt.html#copytable</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="new.name" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="peer.adr" required="false" description="target hbase quorum" />
+        	</JOB_INTERFACE>
+        	<SCAN caching="100">
+          		<FILTERS />
+        		<FAMILIES />      		
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeRelationVersion.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeRelationVersion.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeRelationVersion.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="c675a104-0eac-44fe-8149-00b105d005e8_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="mergeRelationVersionJob" type="mapreduce">
+			<DESCRIPTION>map only job that merges multiple versions of relationships stored in the same cells</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupMergeRelationVersionMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.Writable" />
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+				<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+				<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" param="entityTypeId" />
+				</FILTERS>
+				<FAMILIES>
+					<FAMILY value="rels" readVersions="true" />
+				</FAMILIES>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0" />
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteDedupRelsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteDedupRelsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteDedupRelsJob.xml	(revision 51225)
@@ -0,0 +1,72 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5626c94e-0005-416a-9ea4-48fc8af85ecd_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="deleteDedupRelsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that deletes the dedup rels used to in the deduplication process</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupDeleteRelMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.Writable" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />		
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+			        <FAMILY value="datasetDataset_dedup_merges" />
+			        <FAMILY value="datasetDataset_dedup_isMergedIn" />
+			        <FAMILY value="datasetDataset_dedupSimilarity_isSimilarTo" />
+
+			        <FAMILY value="publicationPublication_dedup_merges" />
+			        <FAMILY value="publicationPublication_dedup_isMergedIn" />
+			        <FAMILY value="publicationPublication_dedupSimilarity_isSimilarTo" />
+
+			        <FAMILY value="personPerson_dedup_merges" />
+			        <FAMILY value="personPerson_dedup_isMergedIn" />
+			        <FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+
+			        <FAMILY value="organizationOrganization_dedup_merges" />
+			        <FAMILY value="organizationOrganization_dedup_isMergedIn" />
+			        <FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsToCSVJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsToCSVJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsToCSVJob.xml	(revision 51225)
@@ -0,0 +1,86 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="027554bd-3d5c-4c50-9170-90d8c4402bc3_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupRootsToCSVJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that exports the representatives as CSV files</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.LazyOutputFormat" />
+				<PROPERTY key="mapreduce.output.lazyoutputformat.outputformat" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupRootsToCsvMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+			
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupRootsToCsvReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />				
+				
+				<!-- MUTIPLE OUTPUT -->
+				<PROPERTY key="mapreduce.multipleoutputs" value="NativeGroups Groups NativeEntities" />
+
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeGroups.format" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeGroups.key" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeGroups.value" value="org.apache.hadoop.io.Text" />
+				
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.Groups.format" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.Groups.key" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.Groups.value" value="org.apache.hadoop.io.Text" />				
+				
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeEntities.format" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeEntities.key" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeEntities.value" value="org.apache.hadoop.io.Text" />				
+				
+				<!-- MISC -->
+				
+                <PROPERTY key="mapred.textoutputformat.wrapper" value="#"/>
+                <PROPERTY key="mapred.textoutputformat.separator" value="!"/>
+
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+			
+				<PROPERTY key="mapred.reduce.tasks" value="3" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+	       			<FAMILY param="entityType" />
+        			<FAMILY value="datasetDataset_dedup_merges" />
+			        <FAMILY value="publicationPublication_dedup_merges" />
+        			<FAMILY value="personPerson_dedup_merges" />
+     				<FAMILY value="organizationOrganization_dedup_merges" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/indexFeedJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/indexFeedJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/indexFeedJob.xml	(revision 51225)
@@ -0,0 +1,64 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="1c34963b-75b3-4440-9f42-72445a26c077_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="indexFeedJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that joins the entities on the hbase table and produces a sequence file containig the xml records</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.index.IndexFeedMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+				
+				<!-- JOB GLOBAL -->		
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text"/>
+				
+				<!-- MISC -->		
+				<PROPERTY key="mapred.task.timeout" value="1800000"/>			
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<PROPERTY key="mapred.fairscheduler.pool" value="solr"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs" />
+        		<PARAM name="mapred.output.dir" required="true" description="destination path on hdfs for rotten index xml records" />
+        		
+        		<PARAM name="index.solr.url" required="false" description="url used to instantiate the solr client" /> 
+       			<PARAM name="index.solr.collection" required="true" description="target solr collection to be fed" />
+
+       			<PARAM name="id" required="true" description="index DS id" />
+				<PARAM name="index.shutdown.wait.time" required="true" description="wait time before shut down the solr client pool" />
+       			<PARAM name="index.buffer.flush.threshold" required="true" description="indexing buffer flush threshold" />
+       			<PARAM name="index.feed.timestamp" required="true" description="timestamp used as ds_version" />
+				<PARAM name="index.solr.sim.mode" required="true" description="boolean value, allows to run this job in simulation mode" />
+				<PARAM name="index.xslt" required="true" description="record transformer created by the MSRO service" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteMultipleActionSets.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteMultipleActionSets.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteMultipleActionSets.xml	(revision 51225)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="fada2678-061e-4139-9444-549eff793126_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB type="mapreduce" name="promoteMultipleActionSetsJob">
+			<DESCRIPTION>map only job that promote actions from a set on HDFS to the data table</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.DelegatingInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.actions2.PromoteActionSetFromHDFSMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+				<PROPERTY value="org.apache.hadoop.hbase.client.Put" key="mapred.mapoutput.value.class"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY value="false" key="mapreduce.map.speculative"/>
+				<PROPERTY value="false" key="mapreduce.reduce.speculative"/>
+				<PROPERTY value="true" key="mapred.output.compress"/>
+				<PROPERTY value="BLOCK" key="mapred.output.compression.type"/>
+				<PROPERTY value="0" key="mapred.reduce.tasks"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!-- <PROPERTY key="job.lib" value="/lib/dnet/snapshots/dnet-mapreduce-jobs-assembly-0.0.8.5-SNAPSHOT-exportIds.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM required="true" name="mapred.input.dir.formats" description="source sequence file on hdfs"/>
+				<PARAM name="hbase.mapred.outputtable" required="true" description="source hbase table"/>
+			</JOB_INTERFACE>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2016-04-14T18:22:06+02:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="4"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/TrustOrdering.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/TrustOrdering.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/TrustOrdering.java	(revision 51225)
@@ -0,0 +1,31 @@
+package eu.dnetlib.data.transform;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Ordering;
+
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.SpecialTrustProtos.SpecialTrust;
+
+public class TrustOrdering extends Ordering<DNGF> {
+
+	@Override
+	public int compare(DNGF left, DNGF right) {
+		String lTrust = left.getDataInfo().getTrust();
+		String rTrust = right.getDataInfo().getTrust();
+
+		if (lTrust.equals(rTrust)) return 0;
+
+		if (lTrust.equals(SpecialTrust.INFINITE.toString())) return 1;
+		if (rTrust.equals(SpecialTrust.INFINITE.toString())) return -1;
+
+		if (lTrust.equals(SpecialTrust.NEUTRAL.toString())) return 1;
+		if (rTrust.equals(SpecialTrust.NEUTRAL.toString())) return -1;
+
+		return Float.compare(Float.parseFloat(lTrust), Float.parseFloat(rTrust));
+	}
+
+	public static ImmutableList<DNGF> sort(Iterable<DNGF> entities) {
+		return new TrustOrdering().immutableSortedCopy(entities);
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingJob.xml	(revision 51225)
@@ -0,0 +1,58 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="732656e3-5ac6-4344-9d1f-f5c805f53a06_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="iisPreprocessingJob" type="oozie">
+			<DESCRIPTION>IIS preprocessing</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+				<!-- Cluster wide -->
+				<PROPERTY key="queueName" value="default"/>
+				<PROPERTY key="user.name" value="dnet.beta"/>
+
+				<!-- Runtime -->
+				<PROPERTY key="workingDir" value="/tmp/integration/working_dir/preprocessing"/>
+				<PROPERTY key="oozie.wf.application.path" value="/tmp/integration/apps/preprocessing"/>
+				<PROPERTY key="oozie.wf.validate.ForkJoin" value="false"/>
+				<PROPERTY key="export_action_hbase_table_initialize" value="false"/>
+				<!-- <PROPERTY key="metadataextraction_default_cache_location" value="/cache/metadataextraction"/> -->
+				<PROPERTY key="metadataextraction_default_cache_location" value="/cache/metadataextraction_updated_model"/>
+				<PROPERTY key="metadataextraction_excluded_checksums"
+				          value="1e5b574109da731f4918c7f91fc24864,bea4728578070c3d66774bf9454d41fe,da458477233b5561ae47042aa2a73086"/>
+				<PROPERTY key="export_trust_level_threshold_document_referencedDatasets" value="0.0"/>
+				<PROPERTY key="export_trust_level_threshold_document_referencedProjects" value="0.0"/>
+				<PROPERTY key="output_remote_location" value="hdfs://namenode.hadoop.dm.openaire.eu/var/lib/dnet/actionManager_BETA"/>
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="import_content_object_store_location" required="true" description="mdstore service location"/>
+				<PARAM name="import_mdstore_service_location" required="true" description="mdstore service location"/>
+				<PARAM name="import_dataset_mdstore_ids_csv" required="true" description="mdstore id for dataset records"/>
+				<PARAM name="import_wos_mdstore_id" required="true" description="mdstore id for WoS records"/>
+				<PARAM name="import_database_service_location" required="true" description="database service endpoint"/>
+				<PARAM name="import_content_datacite_objectstores_csv" required="true" description="objecstore ids subject to dataset reference extraction"/>
+				<PARAM name="import_content_wos_plaintext_objectstores_csv" required="true" description="objecstore ids for WoS plaintext"/>
+				<PARAM name="export_action_hbase_table_name" required="true" description="destination action manager table"/>
+				<PARAM name="export_action_hbase_remote_zookeeper_quorum" required="true" description="ZK quorum"/>
+				<PARAM name="export_action_hbase_remote_zookeeper_clientport" required="true" description="ZK port"/>
+				<PARAM name="nameNode" required="true" description="hdfs name node"/>
+				<PARAM name="jobTracker" required="true" description="job tracker name"/>
+				<PARAM name="oozie.wf.application.path" required="true" description="oozie job application absolute path"/>
+				<PARAM name="export_action_set_id_document_referencedProjects" required="true" description="target action set for project references"/>
+				<PARAM name="export_action_set_id_document_referencedDatasets" required="true" description="target action set for dataset references"/>
+				<PARAM name="export_action_set_id_entity_wos" required="true" description="target action set for WoS entities"/>
+				<PARAM name="export_action_set_id_entity_dataset" required="true" description="target action set for dataset entities"/>
+			</JOB_INTERFACE>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/SolrProtoMapper.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/SolrProtoMapper.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/transform/SolrProtoMapper.java	(revision 51225)
@@ -0,0 +1,109 @@
+package eu.dnetlib.data.transform;
+
+import java.io.StringReader;
+
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.solr.common.SolrInputDocument;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+
+import com.google.common.base.Splitter;
+import com.google.common.collect.Lists;
+import com.google.protobuf.GeneratedMessage;
+
+import eu.dnetlib.pace.config.Type;
+
+/**
+ * The Class ProtoDocumentMapper.
+ */
+public class SolrProtoMapper extends AbstractProtoMapper {
+
+	private static final String ID_SEPARATOR = "::";
+
+	/** The fields. */
+	private Document fields;
+
+	/**
+	 * Instantiates a new proto document mapper.
+	 *
+	 * @param fields
+	 *            the fields
+	 * @throws DocumentException
+	 *             the document exception
+	 */
+	public SolrProtoMapper(final String fields) throws DocumentException {
+		this.fields = parse(fields);
+
+		if (StringUtils.isBlank(this.fields.valueOf("//FIELD[@name = 'objIdentifier']/@name")))
+			throw new IllegalArgumentException("field objIdentifier is mandatory");
+	}
+
+	/**
+	 * Map.
+	 *
+	 * @param proto
+	 *            the proto
+	 * @param version
+	 *            the version
+	 * @param dsId
+	 *            the ds id
+	 * @return the solr input document
+	 * @throws DocumentException
+	 *             the document exception
+	 */
+	public SolrInputDocument map(final GeneratedMessage proto, final String version, final String dsId, final String actionSetId) throws DocumentException {
+
+		final SolrInputDocument doc = new SolrInputDocument();
+
+		for (final Object o : fields.selectNodes("//FIELD[string(@path)]")) {
+			final Element e = (Element) o;
+
+			final String name = e.attribute("name").getValue().toLowerCase().trim();
+			final String path = e.attribute("path").getValue();
+
+			doc.setField(name, processMultiPath(proto, Lists.newLinkedList(Splitter.on("|").trimResults().split(path)), Type.String));
+		}
+
+		final String objIdentifier = patchId((String) doc.getFieldValue("objidentifier"));
+		doc.setField("objidentifier", objIdentifier);
+		doc.setField("__indexrecordidentifier", getRecordId(objIdentifier, actionSetId));
+		doc.setField("__dsid", dsId);
+		doc.setField("__dsversion", version);
+		doc.setField("__result", Base64.encodeBase64String(proto.toByteArray()));
+		doc.setField("actionset", actionSetId);
+
+		return doc;
+	}
+
+	public String getRecordId(final String objIdentifier, final String actionSetId) {
+		return objIdentifier + ID_SEPARATOR + actionSetId;
+	}
+
+	/**
+	 * Patch the objidentifier: when it comes from HBase, i.e. contains the separator '|' returns the string that follows.
+	 *
+	 * @param objidentifier
+	 *            the objidentifier
+	 * @return the string
+	 */
+	private String patchId(final String objidentifier) {
+		return objidentifier.contains("|") ? StringUtils.substringAfter(objidentifier, "|") : objidentifier;
+	}
+
+	/**
+	 * Parses the.
+	 *
+	 * @param s
+	 *            the s
+	 * @return the document
+	 * @throws DocumentException
+	 *             the document exception
+	 */
+	private Document parse(final String s) throws DocumentException {
+		return new SAXReader().read(new StringReader(s));
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/datasources_organizations_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/datasources_organizations_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/datasources_organizations_relations.xml	(revision 51225)
@@ -0,0 +1,35 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="bf12ea02-8d59-49f0-bba4-cdbb5b741981_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="datasource_organization">dnet:datasource_organization_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Datasource and Organization entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isProvidedBy" encoding="datasource_organization_isProvidedBy" english_name="is provided by"
+                      native_name="is provided by">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="provides"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="provides" encoding="datasource_organization_provides" english_name="provides"
+                      native_name="provides">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isProvidedBy"/>
+					</RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFEntityDecoder.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFEntityDecoder.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFEntityDecoder.java	(revision 51225)
@@ -0,0 +1,67 @@
+package eu.dnetlib.data.graph.model;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.GeneratedMessage;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import eu.dnetlib.data.transform.AbstractProtoMapper;
+
+public class DNGFEntityDecoder extends AbstractProtoMapper {
+
+	private final DNGFEntity dngfEntity;
+
+	private DNGFEntityDecoder(final DNGFEntity oafEntity) {
+		this.dngfEntity = oafEntity;
+	}
+
+	public static DNGFEntityDecoder decode(final DNGFEntity oafEntity) {
+		return new DNGFEntityDecoder(oafEntity);
+	}
+
+	public Type getType() {
+		return dngfEntity.getType();
+	}
+
+	public String getId() {
+		return dngfEntity.getId();
+	}
+
+	public GeneratedMessage getDNGFEntity() {
+		return dngfEntity;
+	}
+
+	public GeneratedMessage getEntity() {
+		final FieldDescriptor fd = dngfEntity.getDescriptorForType().findFieldByName(typeName());
+		return (GeneratedMessage) dngfEntity.getField(fd);
+	}
+
+	public String typeName() {
+		return dngfEntity.getType().toString();
+	}
+
+	public GeneratedMessage getMetadata() {
+		final GeneratedMessage entity = getEntity();
+		final FieldDescriptor fd = entity.getDescriptorForType().findFieldByName("metadata");
+		final GeneratedMessage field = (GeneratedMessage) entity.getField(fd);
+		return field;
+	}
+
+	public List<String> getFieldValues(final String path) {
+		return processPath(getDNGFEntity(), path, eu.dnetlib.pace.config.Type.String)
+				.stream()
+				.map(o -> o.toString())
+				.collect(Collectors.toCollection(() -> new LinkedList<>()));
+	}
+
+	public String getDateOfCollection() {
+		return dngfEntity.getDateofcollection();
+	}
+
+	public String getDateOfTransformation() {
+		return dngfEntity.getDateoftransformation();
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_person_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_person_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_person_relations.xml	(revision 51225)
@@ -0,0 +1,48 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="b8defa31-9f95-4d11-8472-532146936b48_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="person_person">dnet:person_person_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Person and Person entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isCoAuthorOf" encoding="person_person_isCoauthorOf" english_name="is coauthor of"
+                      native_name="is coauthor of">
+                    <SYNONYMS/>
+         			<RELATIONS>
+						<RELATION type="inverseOf" code="isCoAuthorOf"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="merges" encoding="person_person_merges" english_name="merges" native_name="merges">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isMergedIn"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isMergedIn" encoding="person_person_isMergedIn" english_name="is Merged In"
+                      native_name="is Merged In">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="merges"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isSimilarTo" encoding="person_person_isSimilarTo" english_name="is similar to"
+                      native_name="is similar to">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isSimilarTo"/>
+					</RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeCoAuthors.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeCoAuthors.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeCoAuthors.xml	(revision 51225)
@@ -0,0 +1,62 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="141e7add-0765-4679-b04d-c9668c011003_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="mergeCoAuthorsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that build the roots and redirects the rels</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataimport.CoAuthorMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dataimport.CoAuthorReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+	
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+				
+				<PROPERTY key="max.coauthors" value="50" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="100" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+	
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />        		
+        	</JOB_INTERFACE>
+        	<SCAN caching="10">
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES/>        		
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2updateActions.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2updateActions.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2updateActions.xml	(revision 51225)
@@ -0,0 +1,95 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a799b5eb-6a6f-427f-b7fc-2d05778a6be3_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="pmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="pmf_update_action"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_pmf2updateAction</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+                xmlns:date="java.lang.System"
+                xmlns:exslt="http://exslt.org/common"
+                version="1.0"
+                extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl dc dr dri oaa oaf dnet exslt date">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:param name="trust" select="string('0.9')"/>
+	<xsl:param name="provenance" select="string('UNKNOWN')"/>
+	<xsl:param name="namespaceprefix" select="string('unknown_____')"/>
+
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+		<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+		<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+		<xsl:variable name="collectedDatasourceid">
+			<xsl:choose>
+				<xsl:when test="string-length(//oaf:collectedDatasourceid) &gt; 0">
+					<xsl:value-of select="//oaf:collectedDatasourceid"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="UNKNOWN"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="count($metadata) = 0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+
+				<xsl:variable name="objidentifier" select="/record/*[local-name() = 'header']/*[local-name() = 'objIdentifier']"/>
+				<xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', $objidentifier)"/>
+
+				<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+				<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+
+				<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+				<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+
+				<xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']"/>
+				<xsl:variable name="originalid">
+					<xsl:choose>
+						<xsl:when test="contains($originalidTest, '::')">
+							<xsl:value-of select="substring-after($originalidTest, '::')"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="$originalidTest"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:variable>
+
+				<ROWS>
+					<ROW mode="update">
+						<xsl:attribute name="value">
+							<xsl:value-of select="dnet:oafPublication($publicationId, $provenance, $trust, $about, $hostedbyid, $hostedbyname,
+	                            $collectedfromid, $collectedfromname, $originalid, $dateofcollection, $dateoftransformation, $metadata)"/>
+						</xsl:attribute>
+					</ROW>
+				</ROWS>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_person2hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_person2hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_person2hbase.xml	(revision 51225)
@@ -0,0 +1,116 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="c3e5410f-fab0-4c7a-af15-8a9447174e2d_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType" />
+		<RESOURCE_KIND value="TransformationRuleDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+        <CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="oaf" layout="store" interpretation="cleaned" />
+			<SINK_METADATA_FORMAT name="oaf_hbase" />          
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_mapping_oaf_person2hbase</TITLE>
+                <CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+                xmlns:exslt="http://exslt.org/common"
+                version="1.0" extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl dc dr dri oaa oaf dnet exslt">
+    
+    <xsl:output omit-xml-declaration="yes" indent="yes"/>
+    
+    <xsl:param name="writeCoAuthors" select="false()" />
+    
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+		<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+		<xsl:variable name="trust" select="string('0.9')"/>
+		<xsl:variable name="provenance" select="string('sysimport:crosswalk:repository')"/>
+		
+		<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)" />
+		<xsl:variable name="namespaceprefix">
+			<xsl:choose>
+			
+				<!-- TODO check namespaceprefix length is 12 -->
+				<xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+					<xsl:value-of select="//oaf:datasourceprefix" />
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="unknown_" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+	
+		<xsl:choose>
+			<xsl:when test="count($metadata) = 0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+
+				<xsl:variable name="resultId" select="dnet:oafSimpleId('publication', //dri:objIdentifier)"/>
+
+				<xsl:if test="string-length($resultId) &gt; 0">
+				
+					<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)" />
+					<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name" />
+					
+					<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)" />
+					<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name" />					
+
+					<xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']" />
+					<xsl:variable name="originalid">
+						<xsl:choose>
+							<xsl:when test="contains($originalidTest, '::')">
+								<xsl:value-of select="substring-after($originalidTest, '::')" />
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$originalidTest" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:variable>
+					<ROWS>
+						<xsl:for-each select="//*[local-name()='creator']">
+							<xsl:if test="string-length(normalize-space(.)) &gt; 0">
+								<xsl:variable name="originalPersonId">
+									<xsl:choose>
+										<xsl:when test="string-length(@nameIdentifier) &gt; 0">
+											<xsl:value-of select="normalize-space(@nameIdentifier)"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="concat($originalid, '::', normalize-space(.))"/>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:variable>
+								<xsl:variable name="personId" select="dnet:oafId('person', $namespaceprefix, $originalPersonId)"/>
+								<xsl:variable name="position" select="position()"/>
+
+								<xsl:if test="string-length($personId) &gt; 0">
+									<ROW>
+										<xsl:attribute name="value">
+											<xsl:value-of select="dnet:person($personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname,
+								              $originalPersonId, $dateofcollection, $dateoftransformation, normalize-space(.), @nameIdentifier, @nameIdentifierScheme)"/>
+										</xsl:attribute>
+									</ROW>
+								</xsl:if>
+							</xsl:if>
+						</xsl:for-each>
+					</ROWS>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+	</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+		<STATUS />
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFDecoder.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFDecoder.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFDecoder.java	(revision 51225)
@@ -0,0 +1,217 @@
+package eu.dnetlib.data.graph.model;
+
+import java.util.List;
+import java.util.Map.Entry;
+
+import com.google.protobuf.*;
+import com.google.protobuf.Descriptors.EnumValueDescriptor;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+
+import com.google.protobuf.GeneratedMessage.GeneratedExtension;
+import eu.dnetlib.data.graph.utils.RelDescriptor;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+
+/**
+ * Helper class, to be used as accessor helper over the DNGF structure.
+ *
+ * @author claudio
+ *
+ */
+public class DNGFDecoder {
+
+	/**
+	 * DNGF object
+	 */
+	private DNGF dngf;
+
+	/**
+	 * Cached sub decoder
+	 */
+	private DNGFEntityDecoder entityDecoder = null;
+
+	/**
+	 * Cached sub decoder
+	 */
+	private DNGFRelDecoder relDecoder = null;
+
+	protected DNGFDecoder(final byte[] value) {
+		this(value, null);
+	}
+
+	protected DNGFDecoder(final byte[] value, final GeneratedExtension... ge) {
+		try {
+			final ExtensionRegistry registry = ExtensionRegistry.newInstance();
+			if (ge != null) {
+				for(GeneratedExtension e : ge) {
+					registry.add(e);
+				}
+			}
+			this.dngf = DNGF.parseFrom(value, registry);
+
+		} catch (InvalidProtocolBufferException e) {
+			throw new RuntimeException("unable to deserialize proto: " + new String(value));
+		}
+	}
+
+	private DNGFDecoder(final DNGF dngf) {
+		this.dngf = dngf;
+	}
+
+    public static DNGFDecoder decode(final DNGF dngf) {
+        return new DNGFDecoder(dngf);
+    }
+
+    public static DNGFDecoder decode(final byte[] b) {
+        return new DNGFDecoder(b);
+    }
+
+    public static DNGFDecoder decode(final byte[] b, final GeneratedExtension... ge) {
+        return new DNGFDecoder(b, ge);
+    }
+
+    private static String escapeXml(final String value) {
+        return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
+    }
+
+	public Kind getKind() {
+		return dngf.getKind();
+	}
+
+    // Entity
+
+	public DNGF getDNGF() {
+		return dngf;
+	}
+
+	public GeneratedMessage getMetadata() {
+		return decodeEntity().getMetadata();
+	}
+
+	public GeneratedMessage getDNGFEntity() {
+		return decodeEntity().getEntity();
+	}
+
+	public String getEntityId() {
+		return decodeEntity().getId();
+	}
+
+	public DNGFEntity getEntity() {
+		return dngf.getEntity();
+	}
+
+
+    // Rel
+
+	public DNGFEntityDecoder decodeEntity() {
+		if (entityDecoder == null) {
+			entityDecoder = DNGFEntityDecoder.decode(getEntity());
+		}
+		return entityDecoder;
+	}
+
+	public DNGFRel getDNGFRel() {
+		return dngf.getRel();
+	}
+
+	public Qualifier relType() {
+		return decodeRel().getRelType();
+	}
+
+	public String relTypeName() {
+		return relType().toString();
+	}
+
+	public String relSourceId() {
+		return decodeRel().getRelSourceId();
+	}
+
+	public String relTargetId() {
+		return decodeRel().getRelTargetId();
+	}
+
+	private DNGFRelDecoder decodeRel() {
+		if (relDecoder == null) {
+			relDecoder = DNGFRelDecoder.decode(getDNGFRel());
+		}
+		return relDecoder;
+	}
+
+	public byte[] toByteArray() {
+		return dngf.toByteArray();
+	}
+
+	public String getColumnFamily() {
+		switch (getKind()) {
+		case entity:
+			return "metadata";
+		case relation:
+			return "rels";
+		default:
+			throw new IllegalArgumentException("invalid kind");
+		}
+	}
+
+	public String getRowkey() {
+		switch (getKind()) {
+		case entity:
+			return getEntityId();
+		case relation:
+			return getDNGFRel().getSource();
+		default:
+			throw new IllegalArgumentException("invalid kind");
+		}
+	}
+
+	public String getQualifier() {
+		switch (getKind()) {
+		case entity:
+			return getEntity().getType().toString();
+		case relation:
+			return getRelDescriptor().qualifier();
+		default:
+			throw new IllegalArgumentException("invalid kind");
+		}
+	}
+
+	public String asXml() {
+		StringBuilder sb = new StringBuilder("<oaf>");
+
+		for (Entry<FieldDescriptor, Object> e : dngf.getAllFields().entrySet()) {
+			asXml(sb, e.getKey(), e.getValue());
+		}
+		sb.append("</oaf>");
+		return sb.toString();
+	}
+
+	@SuppressWarnings("unchecked")
+	private void asXml(final StringBuilder sb, final FieldDescriptor fd, final Object value) {
+
+		if (fd.isRepeated() && (value instanceof List<?>)) {
+			for (Object o : ((List<Object>) value)) {
+				asXml(sb, fd, o);
+			}
+		} else if (fd.getType().equals(FieldDescriptor.Type.MESSAGE)) {
+			sb.append("<" + fd.getName() + ">");
+			for (Entry<FieldDescriptor, Object> e : ((Message) value).getAllFields().entrySet()) {
+				asXml(sb, e.getKey(), e.getValue());
+			}
+			sb.append("</" + fd.getName() + ">");
+		} else if (fd.getType().equals(FieldDescriptor.Type.ENUM)) {
+			sb.append("<" + fd.getName() + ">");
+			sb.append(((EnumValueDescriptor) value).getName());
+			sb.append("</" + fd.getName() + ">");
+		} else {
+			sb.append("<" + fd.getName() + ">");
+			sb.append(escapeXml(value.toString()));
+			sb.append("</" + fd.getName() + ">");
+		}
+	}
+
+    public RelDescriptor getRelDescriptor() {
+        return decodeRel().getRelDescriptor();
+    }
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/organization_organizations_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/organization_organizations_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/organization_organizations_relations.xml	(revision 51225)
@@ -0,0 +1,42 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="3bedf36c-de3b-4fae-a77a-ab9bee6e2718_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="organization_organization">dnet:organization_organizations_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Organization entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="merges" encoding="organization_organization_relations_merges" english_name="merges"
+                      native_name="merges">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isMergedIn"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isMergedIn" encoding="organization_organization_relations_isMergedIn"
+                      english_name="is Merged In" native_name="is Merged In">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="merges"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isSimilarTo" encoding="organization_organization_relations_isSimilarTo"
+                      english_name="is similar to" native_name="is similar to">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isSimilarTo"/>
+					</RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFRelDecoder.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFRelDecoder.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFRelDecoder.java	(revision 51225)
@@ -0,0 +1,73 @@
+package eu.dnetlib.data.graph.model;
+
+import eu.dnetlib.data.graph.utils.RelDescriptor;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+
+public class DNGFRelDecoder {
+
+    private final DNGFRel dngfRel;
+
+    private DNGFRelDecoder(final DNGFRel dngfRel) {
+        this.dngfRel = dngfRel;
+    }
+
+	public static DNGFRelDecoder decode(final DNGFRel DNGFRel) {
+		return new DNGFRelDecoder(DNGFRel);
+	}
+
+	public Qualifier getRelType() {
+        return dngfRel.getRelType();
+    }
+
+
+    public RelDescriptor getRelDescriptor() {
+        return new RelDescriptor(getDngfRel().getRelType().getSchemeid(), getDngfRel().getRelType().getClassid(), getRelTargetId());
+    }
+
+	public String getRelClass() {
+        return dngfRel.getRelType().getClassid();
+    }
+
+	public String getRelScheme() {
+        return dngfRel.getRelType().getSchemeid();
+    }
+
+	public DNGFRel.Builder setClassId(final String classId) {
+        final DNGFRel.Builder relBuilder = DNGFRel.newBuilder(dngfRel);
+        relBuilder.getRelTypeBuilder().setClassid(classId);
+		return relBuilder;
+	}
+
+	public Type getTargetType() {
+        return dngfRel.getTargetType();
+    }
+
+	public Type getSourceType() {
+        return dngfRel.getSourceType();
+    }
+
+
+    public DNGFRel getDngfRel() {
+        return dngfRel;
+    }
+
+	public String getCachedTargedId() {
+
+        if (!dngfRel.hasCachedTarget()) return null;
+
+        final DNGFEntity entity = dngfRel.getCachedTarget();
+        return DNGFEntityDecoder.decode(entity).getId();
+	}
+
+	public String getRelSourceId() {
+        return dngfRel.getSource();
+    }
+
+	public String getRelTargetId() {
+        return dngfRel.getTarget();
+    }
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/dataset_project_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/dataset_project_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/dataset_project_relations.xml	(revision 51225)
@@ -0,0 +1,37 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="730516f2-7b23-438c-89c5-b0c27eec81f1_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="dataset_publication">dnet:dataset_publication_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Dataset and Project entities
+            </ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isProducedBy" encoding="dataset_publication_isProducedBy" english_name="is produced by"
+                      native_name="is produced by">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="produces"/>
+                    </RELATIONS>
+                </TERM>
+                <TERM code="produces" encoding="dataset_publication_produces" english_name="produces"
+                      native_name="produces">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isProducedBy"/>
+                    </RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFRowKeyDecoder.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFRowKeyDecoder.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/model/DNGFRowKeyDecoder.java	(revision 51225)
@@ -0,0 +1,57 @@
+package eu.dnetlib.data.graph.model;
+
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class DNGFRowKeyDecoder {
+
+	public final static String ID_REGEX = "^[0-9][0-9]\\|.{12}::[a-zA-Z0-9]{32}$";
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(DNGFRowKeyDecoder.class); // NOPMD by marko on 11/24/08 5:02 PM
+	private static final String SEPARATOR = "|";
+	private String key;
+
+	private Type type = null;
+
+	private String id = null;
+
+	private DNGFRowKeyDecoder(final String key) throws IllegalArgumentException {
+		this.key = key;
+
+		if (!key.matches(ID_REGEX)) {
+			String msg = "invalid key: '" + key + "'";
+			log.error(msg);
+			throw new IllegalArgumentException(msg);
+		}
+
+		int tag = Integer.parseInt(StringUtils.substringBefore(key, SEPARATOR));
+		this.type = Type.valueOf(tag);
+		this.id = StringUtils.substringAfter(key, SEPARATOR);
+
+		// System.out.println(OafRowTypeDecoder.class.getName() +" decoded key: " + split);
+	}
+
+	public static DNGFRowKeyDecoder decode(final byte[] key) throws IllegalArgumentException {
+		return new DNGFRowKeyDecoder(new String(key));
+	}
+
+	public static DNGFRowKeyDecoder decode(final String key) throws IllegalArgumentException {
+		return new DNGFRowKeyDecoder(key);
+	}
+
+	public String getKey() {
+		return key;
+	}
+
+	public Type getType() {
+		return type;
+	}
+
+	public String getId() {
+		return id;
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/personCsvJoinJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/personCsvJoinJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/personCsvJoinJob.xml	(revision 51225)
@@ -0,0 +1,52 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="3f544a36-f123-4f5c-acf4-7c25f6591ec4_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="personCsvJoinJob" type="mapreduce">
+			<DESCRIPTION>map reduce job that joins person entities by "surname+first name letter" and serialise the output as csv</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.LazyOutputFormat" />
+				<PROPERTY key="mapreduce.output.lazyoutputformat.outputformat" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.experiment.JoinPersonGroupMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.experiment.JoinPersonGroupReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapred.reduce.tasks" value="10" />
+
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="mapred.input.dir" required="true" description="input sequence file" />
+			</JOB_INTERFACE>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0" />
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectorganization_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectorganization_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectorganization_2_hbase.xml	(revision 51225)
@@ -0,0 +1,54 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="621df4c6-ff71-4c1c-82bf-67a64c850be6_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_projectOrganization2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="projectId" select="dnet:oafSplitId('project', //FIELD[@name = 'project'])"/>
+		<xsl:variable name="organizationId" select="dnet:oafSplitId('organization', //FIELD[@name = 'resporganization'])"/>
+
+		<ROWS>
+			<xsl:if test="string-length($projectId) &gt; 0 and string-length($organizationId) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($projectId, $organizationId, //FIELD[not(@isNull)], 'hasParticipant', 'project_organization')"/>
+					</xsl:attribute>
+				</ROW>
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($organizationId, $projectId, //FIELD[not(@isNull)], 'isParticipant', 'project_organization')"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteActions.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteActions.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteActions.xml	(revision 51225)
@@ -0,0 +1,50 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+			value="8bb6c559-edf3-4da1-87d7-cdee4fba21dd_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ==" />
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType" />
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2001-12-31T12:00:00" />
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="promoteActionsJob" type="mapreduce">
+			<DESCRIPTION>map only job that promote actions from a set to the data table</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+				<PROPERTY key="mapreduce.map.class"	value="eu.dnetlib.data.mapreduce.hbase.actions2.PromoteActionsMapper" />
+				<PROPERTY key="mapreduce.inputformat.class"	value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="job.lib" value="/tmp/dnet-mapreduce-jobs-0.0.3-SNAPSHOT-jar-with-dependencies.jar" />  -->
+			</STATIC_CONFIGURATION>
+
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+				<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+				<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+				<PARAM name="latestRawSets" required="true" description="the latest action raw sets" />
+			</JOB_INTERFACE>
+
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" value="aac|" />
+				</FILTERS>
+				<FAMILIES />
+			</SCAN>
+			
+		</HADOOP_JOB>
+		
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00" />
+			<RUNNING_INSTANCES value="0" />
+			<CUMULATIVE_RUN value="0" />
+		</STATUS>
+		
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/utils/HBaseTableUtils.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/utils/HBaseTableUtils.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/graph/utils/HBaseTableUtils.java	(revision 51225)
@@ -0,0 +1,20 @@
+package eu.dnetlib.data.graph.utils;
+
+import java.util.Set;
+
+import com.google.common.collect.Sets;
+
+/**
+ * Common static utility methods to manage the hbase tables
+ *
+ * @author claudio
+ */
+public class HBaseTableUtils {
+
+	private static final Set<String> cfs = Sets.newHashSet("metadata", "rel");
+
+	public Set<String> getColumns() {
+		return cfs;
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/publicationAnalysisJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/publicationAnalysisJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/publicationAnalysisJob.xml	(revision 51225)
@@ -0,0 +1,56 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="721fd82c-6444-41c9-ba23-5eb0652ddaeb_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="publicationAnalysisJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that analyses publication features</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.NullOutputFormat" />
+
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.experiment.PublicationAnalysisMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.NullWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.NullWritable" />
+			
+				<!-- MISC -->
+				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" value="50" />
+        		</FILTERS>
+        		<FAMILIES>
+	       			<FAMILY value="result" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionSerialiser.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionSerialiser.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionSerialiser.java	(revision 51225)
@@ -0,0 +1,74 @@
+package eu.dnetlib.data.actionmanager.actions;
+
+import java.lang.reflect.Type;
+
+import com.google.gson.*;
+import com.google.protobuf.InvalidProtocolBufferException;
+import com.googlecode.protobuf.format.JsonFormat;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.Agent;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.AbstractActionSerializer;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.AtomicAction;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Created by claudio on 30/09/15.
+ */
+public class AtomicActionSerialiser extends AbstractActionSerializer implements JsonSerializer<AtomicAction> {
+
+	private static final Log log = LogFactory.getLog(AtomicActionSerialiser.class);
+
+	public static String toJSON(final AtomicAction action) {
+
+		final GsonBuilder gson = new GsonBuilder();
+
+		gson.registerTypeAdapter(AtomicAction.class, new AtomicActionSerialiser());
+
+		return gson.create().toJson(action);
+	}
+
+	@Override
+	public JsonElement serialize(final AtomicAction aa, final Type typeOfSrc, final JsonSerializationContext context) {
+
+		JsonObject json = new JsonObject();
+		json.addProperty(targetColumn, aa.getTargetColumn());
+		json.addProperty(targetColumnFamily, aa.getTargetColumnFamily());
+		json.addProperty(targetRowKey, aa.getTargetRowKey());
+		json.addProperty(rawSet, aa.getRawSet());
+		json.addProperty(rowKey, aa.getRowKey());
+		json.addProperty(actionType, aa.getActionType().toString());
+
+		json.add(agent, getAgentJSON(aa));
+
+		//json.addProperty(targetValue, getTargetValueJSON(aa));
+
+		final String base64 = new String(Base64.encodeBase64(getTargetValueJSON(aa).getBytes()));
+		json.addProperty(targetValue, base64);
+
+		return json;
+	}
+
+	private JsonElement getAgentJSON(final AtomicAction aa) {
+
+		final Agent a = aa.getAgent();
+
+		JsonObject json = new JsonObject();
+		json.addProperty(agent_id, a.getId());
+		json.addProperty(agent_name, a.getName());
+		json.addProperty(agent_type, a.getType().toString());
+
+		return json;
+	}
+
+	private String getTargetValueJSON(final AtomicAction aa) {
+		try {
+			return aa.getTargetValue() != null && aa.getTargetValue().length > 0 ? JsonFormat.printToString(DNGF.parseFrom(aa.getTargetValue())) : "";
+		} catch (InvalidProtocolBufferException e) {
+			log.error("unable to parse proto", e);
+			return null;
+		}
+	}
+}
+
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportAuthorsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportAuthorsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportAuthorsJob.xml	(revision 51225)
@@ -0,0 +1,46 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a53df5e3-8a38-4d3f-8f67-bf9fc43279a6_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="authorImportRecordsJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that maps xml metada records from a sequence file into an hbase table</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+				
+				<!-- MAPPER -->        	
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataimport.AuthorImportRecordsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+			
+				<!-- MISC -->
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+				
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="mapred.input.dir" required="true" description="input sequence file" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.import.xslt" required="true" description="mapping" />
+        	</JOB_INTERFACE>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/index/CloudIndexClientFactory.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/index/CloudIndexClientFactory.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/data/index/CloudIndexClientFactory.java	(revision 51225)
@@ -0,0 +1,43 @@
+package eu.dnetlib.data.index;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.solr.client.solrj.impl.CloudSolrServer;
+import org.apache.solr.client.solrj.response.SolrPingResponse;
+
+/**
+ * Created by michele on 11/11/15.
+ */
+public class CloudIndexClientFactory {
+
+	private static final Log log = LogFactory.getLog(CloudIndexClientFactory.class);
+
+	public static CloudIndexClient newIndexClient(final String baseURL, final String collection, final boolean parallelUpdates)
+			throws CloudIndexClientException {
+		CloudSolrServer solrServer = null;
+		try {
+
+			log.info(String.format("Initializing solr server (%s) ...", baseURL));
+			solrServer = new CloudSolrServer(baseURL);
+
+			solrServer.connect();
+
+			solrServer.setParallelUpdates(parallelUpdates);
+			solrServer.setDefaultCollection(collection);
+
+			final SolrPingResponse rsp = solrServer.ping();
+			if (rsp.getStatus() != 0) {
+				log.error("Invalid connection to solr Server (status = 0)");
+				throw new CloudIndexClientException("Invalid connection to solr Server (status = 0)");
+			}
+
+			return new CloudIndexClient(solrServer);
+		} catch (Throwable e) {
+			if (solrServer != null) {
+				solrServer.shutdown();
+			}
+			log.error("The initialization of indexClient is FAILED", e);
+			throw new CloudIndexClientException("The initialization of indexClient is FAILED", e);
+		}
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_project_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_project_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_project_relations.xml	(revision 51225)
@@ -0,0 +1,36 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4f06cc59-6eca-4492-a2d1-ac2a80682ec3_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="publication_project">dnet:publication_project_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Publication and Project entities
+            </ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isProducedBy" encoding="publication_project_isProducedBy" english_name="is produced by"
+                      native_name="is produced by">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="produces"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="produces" encoding="publication_project_produces" english_name="produces"
+                      native_name="produces">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isProducedBy"/>
+					</RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimrels_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimrels_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimrels_2_hbase.xml	(revision 51225)
@@ -0,0 +1,94 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="775d4a1c-67f5-473d-a838-ab22d5c5231d_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_claimRels2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                xmlns:exslt="http://exslt.org/common"
+                xmlns:action="http://namespace.openaire.eu/action" version="1.0"
+                extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl dc dr dri oaa oaf dnet exslt">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/*">
+
+		<xsl:variable name="provenance">
+			<xsl:value-of select="//FIELD[@name = 'provenance']"/>
+		</xsl:variable>
+		<xsl:variable name="trust">0.9</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="count(//RELATION) = 0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+				<ROWS>
+					<xsl:for-each select="//RELATION">
+						<xsl:choose>
+							<xsl:when test="./@type = 'resultProject'">
+								<xsl:variable name="resultId" select="./@source"/>
+								<xsl:variable name="projectId">
+									<xsl:choose>
+										<xsl:when test="starts-with(@target, '40|')">
+											<xsl:value-of select="./@target"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="dnet:oafSplitId('project', normalize-space(@target))"/>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:variable>
+
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($resultId, $projectId, 'isProducedBy', 'publication_project', $provenance, $trust)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($projectId, $resultId, 'produces', 'publication_project', $provenance, $trust)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:when>
+							<xsl:when test="./@type = 'resultResult_publicationdataset_isRelatedTo'">
+								<xsl:variable name="source" select="./@source"/>
+								<xsl:variable name="target" select="./@target"/>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($source, $target, 'isRelatedTo', 'publication_dataset', $provenance, $trust)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($target, $source, 'isRelatedTo', 'publication_dataset', $provenance, $trust)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:when>
+						</xsl:choose>
+					</xsl:for-each>
+				</ROWS>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasources_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasources_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasources_2_hbase.xml	(revision 51225)
@@ -0,0 +1,53 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="30383440-fec9-4889-8ce8-147410d6e63c_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_datasources2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="originalid" select="//FIELD[@name = 'datasourceid']"/>
+		<xsl:variable name="datasourceid" select="dnet:oafSplitId('datasource', $originalid)"/>
+		<xsl:variable name="dateofcollection" select="//FIELD[@name = 'dateofcollection']"/>
+		<xsl:variable name="dateoftransformation" select="//FIELD[@name = 'dateoftransformation']"/>
+		<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //FIELD[@name = 'collectedfromid'])"/>
+		<xsl:variable name="collectedfromname" select="//FIELD[@name = 'collectedfromname']"/>
+		<ROWS>
+			<xsl:if test="string-length($datasourceid) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:oafEntity($datasourceid, $collectedfromid, $collectedfromname,
+						$dateoftransformation, $originalid, $dateofcollection, //FIELD[not(@isNull)])"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2insertActions.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2insertActions.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2insertActions.xml	(revision 51225)
@@ -0,0 +1,215 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="15368db9-a630-47ed-b8f4-f219ae1ebc4b_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="dmf_insert_action"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_odf2insertAction</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dnet="eu.dnetlib.data.transform.xml.OdfToHbaseXsltFunctions"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr" xmlns:exslt="http://exslt.org/common"
+                version="1.0" extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl oaf dr dri dnet exslt">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="dateOfCollection" select="concat('', //dri:dateOfCollection)"/>
+		<xsl:variable name="dateoftransformation" select="concat('', //dr:dateOfTransformation)"/>
+
+		<xsl:variable name="trust" select="string('0.9')"/>
+		<xsl:variable name="provenance" select="string('sysimport:crosswalk:datasetarchive')"/>
+
+		<xsl:variable name="metadata"
+		              select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+		<xsl:variable name="namespaceprefix">
+			<xsl:choose>
+				<!-- TODO check namespaceprefix length is 12 -->
+				<xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+					<xsl:value-of select="//oaf:datasourceprefix"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="unknown_____"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when
+					test="count($metadata) = 0 or normalize-space(//oaf:skipRecord)= 'true'">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+
+				<xsl:variable name="datasetId"
+				              select="dnet:oafSimpleId('dataset', //dri:objIdentifier)"/>
+
+				<xsl:if test="string-length($datasetId) &gt; 0">
+					<xsl:variable name="originalids"
+					              select="//*[local-name() = 'resource']/*[local-name()='identifier'] | //*[local-name() = 'resource']//*[local-name()='alternateIdentifier']"/>
+					<xsl:variable name="creators" select="//*[local-name() = 'creator']"/>
+					<xsl:variable name="titles" select="//*[local-name() = 'title']"/>
+					<xsl:variable name="subjects" select="//*[local-name() = 'subject']"/>
+					<xsl:variable name="publisher" select="//*[local-name() = 'publisher']"/>
+					<xsl:variable name="descriptions" select="//*[local-name() = 'description']"/>
+					<xsl:variable name="dates" select="//*[local-name() = 'date']"/>
+					<xsl:variable name="dateaccepted" select="//oaf:dateAccepted"/>
+					<xsl:variable name="resourceType" select="//*[local-name() = 'resourceType']"/>
+					<xsl:variable name="formats" select="//*[local-name() = 'format']"/>
+					<xsl:variable name="sizes" select="//*[local-name() = 'size']"/>
+					<xsl:variable name="rights" select="//oaf:accessrights"/>
+					<xsl:variable name="version" select="//*[local-name() = 'version']"/>
+					<xsl:variable name="language" select="//oaf:language"/>
+					<xsl:variable name="cobjcategory" select="//dr:CobjCategory"/>
+					<xsl:variable name="contributor" select="//*[local-name() = 'contributor']/*[local-name() = 'contributorName']"/>
+
+					<xsl:variable name="instanceURI">
+						<xsl:choose>
+							<xsl:when
+									test="string-length( //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='DOI']) &gt; 0">
+								<xsl:value-of
+										select="concat('http://dx.doi.org','/', //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='DOI']/text())"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of
+										select="concat('', //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='URL'])"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:variable>
+
+					<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+					<xsl:variable name="hostedbyname" select="concat('', //oaf:hostedBy/@name)"/>
+					<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+					<xsl:variable name="collectedfromname" select="concat('', //oaf:collectedFrom/@name)"/>
+
+					<xsl:variable name="pids" select="//*[local-name() = 'resource']//*[local-name()='identifier'or local-name()='alternateIdentifier']"/>
+
+					<ROWS>
+						<ROW>
+							<xsl:attribute name="value">
+								<xsl:value-of select="dnet:odfDataset($datasetId, $about, $metadata, $titles, $subjects, $publisher, $descriptions,
+	                                            $dates, $dateaccepted, $resourceType, $formats, $sizes, $language, $cobjcategory, $contributor, $rights,
+	                                            $version, $pids, $provenance, $trust, $hostedbyid, $hostedbyname, $collectedfromid,
+	                                            $collectedfromname, $originalids, $instanceURI, $dateOfCollection, $dateoftransformation)"/>
+							</xsl:attribute>
+						</ROW>
+						<xsl:for-each select="//*[local-name() = 'creator']">
+
+							<xsl:variable name="personIdTemp">
+								<xsl:choose>
+									<xsl:when test="string-length(./*[local-name() = 'nameIdentifier']) &gt; 0">
+										<xsl:value-of
+												select="translate(normalize-space(./*[local-name() = 'nameIdentifier']),' .,','___')"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="translate(normalize-space(./*[local-name() = 'creatorName']),' .,','___')"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+
+							<xsl:variable name="personId" select="dnet:oafId('person', $namespaceprefix, normalize-space($personIdTemp))"/>
+
+							<xsl:variable name="originalPersonId" select="./*[local-name() = 'nameIdentifier']"/>
+
+							<xsl:if test="string-length($personId) &gt; 0">
+								<xsl:variable name="position" select="position()"/>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:person($personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname,
+									      $originalPersonId, $dateOfCollection, $dateoftransformation, normalize-space(./*[local-name() = 'creatorName']),
+									      ./*[local-name() = 'nameIdentifier'], ./*[local-name() = 'nameIdentifier']/@nameIdentifierScheme)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:authorship($personId, $datasetId, $position, 'isAuthorOf', 'person_publication', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:authorship($datasetId, $personId, $position, 'hasAuthor', 'person_publication', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+						<xsl:for-each select="//*[local-name()='projectid']">
+
+							<xsl:variable name="projectId" select="dnet:oafSplitId('project', normalize-space(.))"/>
+
+							<xsl:if test="string-length($projectId) &gt; 0">
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($datasetId, $projectId, 'isProducedBy', 'dataset_project', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($projectId, $datasetId, 'produces', 'dataset_project', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+						<xsl:for-each select="//*[local-name()='relatedIdentifier' and ./@relatedIdentifierType='OPENAIRE' and ./@relationType='IsSupplementTo']">
+
+							<!-- relatedDataset ids must be in the openaire format  -->
+							<xsl:variable name="targetId" select="dnet:oafSimpleId('dataset', normalize-space(.))"/>
+
+							<xsl:if test="string-length($targetId) &gt; 0">
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($datasetId, $targetId, 'isSupplementTo', 'dataset_dataset', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($targetId, $datasetId, 'isSupplementedBy', 'dataset_dataset', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+						<xsl:for-each select="//*[local-name()='relatedIdentifier' and ./@relatedIdentifierType='OPENAIRE' and ./@relationType='IsPartOf']">
+
+							<!-- relatedDataset ids must be in the openaire format  -->
+							<xsl:variable name="datasetId" select="dnet:oafSimpleId('dataset', normalize-space(.))"/>
+
+							<xsl:if test="string-length($datasetId) &gt; 0">
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($datasetId, $datasetId, 'isPartOf', 'dataset_dataset', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($datasetId, $datasetId, 'hasPart', 'dataset_dataset', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+					</ROWS>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/pace/model/ProtoDocumentBuilder.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/pace/model/ProtoDocumentBuilder.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/java/eu/dnetlib/pace/model/ProtoDocumentBuilder.java	(revision 51225)
@@ -0,0 +1,36 @@
+package eu.dnetlib.pace.model;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Maps;
+import com.google.protobuf.GeneratedMessage;
+
+import eu.dnetlib.data.transform.AbstractProtoMapper;
+
+public class ProtoDocumentBuilder extends AbstractProtoMapper {
+
+	public static MapDocument newInstance(final String id, final GeneratedMessage proto, final List<FieldDef> fields) {
+		final Map<String, Field> fieldMap = new ProtoDocumentBuilder().generateFieldMap(proto, fields);
+		return new MapDocument(id, fieldMap);
+	}
+
+	private Map<String, Field> generateFieldMap(final GeneratedMessage proto, final List<FieldDef> fields) {
+		final Map<String, Field> fieldMap = Maps.newHashMap();
+
+		for (final FieldDef fd : fields) {
+
+			final FieldList fl = new FieldListImpl(fd.getName(), fd.getType());
+
+			for (final Object o : processPath(proto, fd.getPathList(), fd.getType())) {
+
+				fl.add(new FieldValueImpl(fd.getType(), fd.getName(), o));
+			}
+
+			fieldMap.put(fd.getName(), fl);
+		}
+
+		return fieldMap;
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pensoft.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pensoft.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pensoft.xml	(revision 51225)
@@ -0,0 +1,76 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="7a0f18a4-7015-45ec-a9e5-1c7368889d7f_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_pensoft</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_pensoft";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+static $varHostedByPrefix = "'openaire____::issn'";
+$varDummy = "''";
+$varHostedByName = RegExpr(xpath:"//dc:source", $var0, "s/(\s+)(\d+)(.*)$//gmi");
+$varHostedByIdTemp = RegExpr(xpath:"//dc:relation[last()]", $var0, "s/^(.*)(\/)|(-)//gmi");
+$varHostedById = xpath:"concat($varHostedByPrefix, $varHostedByIdTemp)";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+// oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varHostedByName; , @id = $varHostedById;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/propagateProjects.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/propagateProjects.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/propagateProjects.xml	(revision 51225)
@@ -0,0 +1,54 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ecbccdc1-a9e5-47ed-a7d7-ec6d65af173e_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="propagateProjects" type="mapreduce">
+            <DESCRIPTION>map reduce job that propagate the project info to the related Dataset</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+                <PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.wds.ExtendProjectInfoMapper" />
+                <PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+
+                <!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.wds.ExtendProjectInfoReducer" />
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Writable" />
+
+                <!-- MISC -->
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+                <PROPERTY key="mapreduce.map.speculative" value="false" />
+                <PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+                <PROPERTY key="mapred.task.timeout" value="2400000"/>
+                <PROPERTY key="mapred.reduce.tasks" value="10" />
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+                <PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+                <PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+                <PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+            </JOB_INTERFACE>
+            <SCAN caching="10">
+                <FILTERS/>
+                <FAMILIES/>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/exportScholixDumpJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/exportScholixDumpJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/exportScholixDumpJob.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="789531f1-5fb5-4bcd-af94-74853b22c865_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2017-11-15T11:16:58+01:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="exportScholixDumpJob" type="mapreduce">
+            <DESCRIPTION>job that exports the Scholix Dump</DESCRIPTION>
+            <STATIC_CONFIGURATION><!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat"/>
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dli.PrepareScholixDataMapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.DliKey"/>
+                <PROPERTY key="mapreduce.mapoutput.key.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.DliKey"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+
+                <!-- PARTITIONER -->
+                <PROPERTY key="mapred.partitioner.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyPartitioner"/>
+                <PROPERTY key="mapreduce.partitioner.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyPartitioner"/>
+                <PROPERTY key="mapred.output.value.groupfn.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyGroupingComparator"/>
+                <PROPERTY key="mapreduce.output.value.groupfn.class" value="eu.dnetlib.data.mapreduce.hbase.dli.kv.NaturalKeyGroupingComparator"/>
+
+                <!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dli.PrepareScholixDataReducer"/>
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- MISC -->
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapreduce.map.speculative" value="false"/>
+                <PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+                <PROPERTY key="dfs.blocksize" value="256M"/>
+                <PROPERTY key="mapred.reduce.tasks" value="30"/>
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM description="source hbase table" name="hbase.mapred.inputtable" required="true"/>
+                <PARAM description="source hbase table" name="hbase.mapreduce.inputtable" required="true"/>
+                <PARAM description="target sequence file on hdfs" name="mapred.output.dir" required="true"/>
+                
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS/>
+                <FAMILIES/>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidc.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidc.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidc.xml	(revision 51225)
@@ -0,0 +1,317 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+			value="oaf2dc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType" />
+		<RESOURCE_KIND value="TransformationRuleDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="oaf" layout="index"
+				interpretation="openaire" />
+			<SINK_METADATA_FORMAT name="oai_dc" />
+			<IMPORTED />
+			<SCRIPT>
+				<TITLE>OAF to OAI_DC</TITLE>
+				<CODE>
+					<!-- (M): Mandatory (R): Reccomended (M w A): Mandatory when Applicable -->
+					<xsl:stylesheet xmlns:dc="http://purl.org/dc/elements/1.1/"
+						xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
+						xmlns:oaf="http://namespace.openaire.eu/oaf" version="2.0"
+						exclude-result-prefixes="oaf">
+
+
+						<xsl:output method="xml" indent="yes"
+							omit-xml-declaration="yes" />
+
+						<xsl:variable name="openaireNamespace" select="string('oai:dnet:')" />
+
+						<xsl:template match="//oaf:entity">
+							<oai_dc:dc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+								xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
+								<xsl:apply-templates />
+							</oai_dc:dc>
+						</xsl:template>
+
+						<!-- Titles (M): based on title/@classname <dc:title>main title:subtitle</dc:title> 
+							<dc:title>alternative title</dc:title> <dc:title>translated title</dc:title> 
+							We have only "main title" for now: let's keep it simple here... -->
+						<xsl:template match="oaf:result/title">
+							<dc:title>
+								<xsl:value-of select="normalize-space(./text())" />
+							</dc:title>
+						</xsl:template>
+
+						<!-- Creators (M) -->
+						<xsl:template match="oaf:result//rel[./to/@class='hasAuthor']">
+							<dc:creator>
+								<xsl:value-of select="./fullname" />
+							</dc:creator>
+						</xsl:template>
+
+						<!-- Contributors (R) not currently available -->
+						<xsl:template match="oaf:result//rel[./to/@class='hasContributor']">
+							<dc:contributor>
+								<xsl:value-of select="./fullname" />
+							</dc:contributor>
+						</xsl:template>
+
+						<!-- projectId (M w A) <dc:relation>info:eu-repo/grantAgreement/Funder/FundingProgram/ProjectID/[Jurisdiction]/[ProjectName]/[ProjectAcronym]</dc:relation> 
+							<dc:relation>info:eu-repo/grantAgreement/EC/FP7/12345//The project name/ACRO</dc:relation> 
+							<dc:relation>info:eu-repo/grantAgreement/EC/FP7/67891/EU/The 2nd project 
+							name/ACRO2</dc:relation> The rel to project: <rel> <to scheme="dnet:result_project_relations" 
+							class="isProducedBy" type="project">project_openaireid</to> <code>249516</code> 
+							<acronym>VOICE</acronym> <title>xxx</title> <contracttype schemename="ec:FP7contractTypes" 
+							classname="aaa" schemeid="ec:FP7contractTypes" classid="aaa"/> <funding> 
+							<funding_level_0>FP7</funding_level_0> <funding_level_1>FP7::SP2</funding_level_1> 
+							<funding_level_2>FP7::SP2::ERC</funding_level_2> </funding> </rel> The funding 
+							program is funding_level_0. The funder must be inferred from the contract 
+							type - until the Funders won't be added explicitely in the record. -->
+						<xsl:template match="oaf:result//rel[./to/@class='isProducedBy']">
+							<xsl:for-each select="./funding/funding_level_0">
+								<xsl:variable name="funder" select="../funder/@shortname"/>
+								<xsl:variable name="fundingProgramme" select="@name"/>
+								<xsl:variable name="jurisdiction" select="../funder/@jurisdiction"/>
+								<xsl:variable name="title" select="../../title"/>
+								<xsl:variable name="acronym" select="../../acronym"/>
+								<xsl:variable name="code" select="../../code"/>
+								<dc:relation>
+									<xsl:value-of select="concat('info:eu-repo/grantAgreement/', $funder, '/', $fundingProgramme, '/', $code, '/', $jurisdiction, '/' , $title, '/', $acronym)"/>
+								</dc:relation>
+							</xsl:for-each>
+						</xsl:template>
+
+						<!-- Access level (M) [from bestlicense@classid] : one of <dc:rights>info:eu-repo/semantics/closedAccess</dc:rights> 
+							<dc:rights>info:eu-repo/semantics/embargoedAccess</dc:rights> <dc:rights>info:eu-repo/semantics/restrictedAccess</dc:rights> 
+							<dc:rights>info:eu-repo/semantics/openAccess</dc:rights> -->
+						<xsl:template match="oaf:result/bestlicense">
+							<xsl:variable name="license">
+								<xsl:choose>
+									<xsl:when test="@classid='OPEN'">
+										<xsl:value-of select="string('info:eu-repo/semantics/openAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='CLOSED'">
+										<xsl:value-of select="string('info:eu-repo/semantics/closedAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='RESTRICTED'">
+										<xsl:value-of
+											select="string('info:eu-repo/semantics/restrictedAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='EMBARGO'">
+										<xsl:value-of
+											select="string('info:eu-repo/semantics/embargoedAccess')" />
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="string('info:eu-repo/semantics/closedAccess')" />
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+							<dc:rights>
+								<xsl:value-of select="$license" />
+							</dc:rights>
+						</xsl:template>
+
+						<!-- EmbargoEnd (M w A) (only when rights == info:eu-repo/semantics/embargoedAccess), 
+							from embargoenddate <dc:date>info:eu-repo/date/embargoEnd/1960-01-01</dc:date> -->
+						<xsl:template match="oaf:result/embargoenddate/text()">
+							<dc:date>
+								<xsl:value-of select="concat('info:eu-repo/date/embargoEnd/', .)" />
+							</dc:date>
+						</xsl:template>
+
+
+						<!-- <xsl:template match="oaf:result/originalId/text()"> <dc:identifier> 
+							<xsl:value-of select="normalize-space(.)"/> </dc:identifier> </xsl:template> -->
+
+						<!-- Alternative Identifier (R), idType from pid@classid <dc:relation> 
+							info:eu-repo/semantics/altIdentifier/[idType]/[ID] </dc:relation> -->
+						<xsl:template match="oaf:result/pid[./text()]">
+							<dc:relation>
+								<xsl:value-of
+									select="concat('info:eu-repo/semantics/altIdentifier/', @classid, '/', ./text())" />
+							</dc:relation>
+						</xsl:template>
+
+						<xsl:template
+							match="oaf:result/children/instance/webresource/url/text()">
+							<dc:identifier>
+								<xsl:value-of select="." />
+							</dc:identifier>
+						</xsl:template>
+						<!--Referenced Publication (R), from extraInfo[@typology='citations']/citation, 
+							idType from citation/id/@type, ID from citation/id/@value <dc:relation> info:eu-repo/semantics/reference/[idType]/[ID] 
+							</dc:relation> <dc:relation> info:eu-repo/semantics/reference/doi/10.1234/789.1 
+							</dc:relation> <dc:relation> info:eu-repo/semantics/reference/pmid/1234567 
+							</dc:relation> -->
+						<xsl:template
+							match="extraInfo[@typology='citations']//citation/id[./@type]">
+							<xsl:choose>
+								<xsl:when test="@type='openaire'">
+									<dc:relation>
+										<xsl:value-of
+											select="concat('info:eu-repo/semantics/reference/', @type, '/', $openaireNamespace, @value)" />
+									</dc:relation>
+
+								</xsl:when>
+								<xsl:otherwise>
+									<dc:relation>
+										<xsl:value-of
+											select="concat('info:eu-repo/semantics/reference/', @type, '/', @value)" />
+									</dc:relation>
+								</xsl:otherwise>
+							</xsl:choose>
+
+						</xsl:template>
+
+						<!-- Dataset reference (R), from: rel[./resulttyype/@classname='dataset'] 
+							<dc:relation>info:eu-repo/semantics/dataset/[idType]/[ID]</dc:relation> only 
+							available when we'll expand the PIDs in the relationship <dc:relation>info:eu-repo/semantics/dataset/doi/10.1234/789.1</dc:relation> 
+							For now we can only use openaire ids, from rel[./resulttyype/@classname='dataset']/to/text() 
+							<dc:relation>info:eu-repo/semantics/dataset/openaire/oai:dnet:[OPENAIRE_ID]</dc:relation> -->
+						<xsl:template match="oaf:result//rel[./resulttype/@classid='dataset']">
+							<dc:relation>
+								<xsl:value-of
+									select="concat('info:eu-repo/semantics/dataset/openaire/', $openaireNamespace, ./to/text())" />
+							</dc:relation>
+						</xsl:template>
+
+
+						<!-- Subjects (M w A) <dc:subject>bag of words</dc:subject> If subject@classname 
+							!= keywords, then we have a classification scheme to encode <dc:subject>info:eu-repo/classification/[scheme]/[value]</dc:subject> 
+							<dc:subject>info:eu-repo/classification/dcc/whatever</dc:subject> -->
+						<xsl:template match="oaf:result/subject[@classname='keyword']">
+							<dc:subject>
+								<xsl:value-of select="normalize-space(./text())" />
+							</dc:subject>
+						</xsl:template>
+						<xsl:template
+							match="oaf:result/subject[not(@classname='keyword') and @classid != '']">
+							<dc:subject>
+								<xsl:value-of
+									select="concat('info:eu-repo/classification/', @classid, '/', normalize-space(./text()))" />
+							</dc:subject>
+						</xsl:template>
+
+						<!--description (M w A) from description -->
+						<xsl:template match="oaf:result/description/text()">
+							<dc:description>
+								<xsl:value-of select="normalize-space(.)" />
+							</dc:description>
+						</xsl:template>
+						<!--publisher (M w A) from publisher -->
+						<xsl:template match="oaf:result/publisher/text()">
+							<dc:publisher>
+								<xsl:value-of select="normalize-space(.)" />
+							</dc:publisher>
+						</xsl:template>
+						<!-- Publication date (M) from dateofacceptance -->
+						<xsl:template match="oaf:result/dateofacceptance/text()">
+							<dc:date>
+								<xsl:value-of select="normalize-space(.)" />
+							</dc:date>
+						</xsl:template>
+
+						<!-- Publication type (M) where [type] is /instancetype[1]/classname 
+							(dnet:publication_resource vocabulary). A second dc:type (uncontrolled) can 
+							be used. <dc:type>info:eu-repo/semantics/[type]</dc:type> -->
+						<xsl:template
+							match="oaf:result/children/instance/instancetype">
+							<xsl:variable name="theInstanceType">
+								<xsl:choose>
+									<xsl:when test="@classname='Unknown'">
+										<xsl:value-of select="string('other')" />
+									</xsl:when>
+									<xsl:when test="@classname=''">
+										<xsl:value-of select="string('other')" />
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:call-template name="ConvertWordsToCamelCase">
+											<xsl:with-param name="text">
+												<xsl:value-of select="lower-case(./@classname)" />
+											</xsl:with-param>
+										</xsl:call-template>
+									</xsl:otherwise>
+								</xsl:choose>
+
+							</xsl:variable>
+							<dc:type>
+								<xsl:value-of
+									select="concat('info:eu-repo/semantics/',$theInstanceType)" />
+							</dc:type>
+						</xsl:template>
+						<!-- <xsl:template match="oaf:result/resulttype"> <dc:type> <xsl:value-of 
+							select="./@classname"/> </dc:type> </xsl:template> -->
+
+						<!-- Format (R), in theory from format, not sure we are filling it 
+							<dc:format>mediaType of the digital manifestation of the resource</dc:format> 
+							<dc:format>application/pdf</dc:format> -->
+						<xsl:template match="oaf:result/format/text()">
+							<dc:format>
+								<xsl:value-of select="normalize-space(.)" />
+							</dc:format>
+						</xsl:template>
+
+						<!-- source (R) from source -->
+						<xsl:template match="oaf:result/source/text()">
+							<dc:source>
+								<xsl:value-of select="normalize-space(.)" />
+							</dc:source>
+						</xsl:template>
+
+						<xsl:template match="oaf:result/collectedfrom">
+							<dc:source>
+								<xsl:value-of select="normalize-space(@name)" />
+							</dc:source>
+						</xsl:template>
+
+						<!-- Language (R) from language@classid -->
+						<xsl:template match="oaf:result/language">
+							<dc:language>
+								<xsl:value-of select="./@classid" />
+							</dc:language>
+						</xsl:template>
+
+						<!-- Override default template -->
+						<xsl:template match="text()|@*" />
+
+						<!-- =========================================================================== -->
+						<!-- === Convert camel case text to cameCaseText === -->
+						<!-- === Modified from http://blog.inventic.eu/2013/08/xslt-snippet-to-convert-string-from-hyphens-to-camelcase/ 
+							=== -->
+						<!-- === (c) Inventic s.r.o. ORM Designer team (http://www.orm-designer.com) 
+							=== -->
+						<!-- =========================================================================== -->
+						<xsl:template name="ConvertWordsToCamelCase">
+							<xsl:param name="text" />
+							<xsl:param name="firstLower" select="true()" />
+
+							<xsl:variable name="Upper">
+								ABCDEFGHIJKLMNOPQRSTUVQXYZ
+							</xsl:variable>
+							<xsl:variable name="Lower">
+								abcdefghijklmnopqrstuvwxyz
+							</xsl:variable>
+
+							<xsl:for-each select="tokenize($text,' ')">
+								<xsl:choose>
+									<xsl:when test="position()=1 and $firstLower = true()">
+										<xsl:value-of select="substring(.,1,1)" />
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="translate(substring(.,1,1),$Lower,$Upper)" />
+									</xsl:otherwise>
+								</xsl:choose>
+								<xsl:value-of select="substring(.,2,string-length(.))" />
+							</xsl:for-each>
+						</xsl:template>
+
+					</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS />
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsExportJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsExportJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsExportJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="53f2a9b4-adf3-4ceb-9308-d88b53dc44c5_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupRootsExportJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that exports the representative publications as json</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.RootExportMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+			
+			
+				<!-- MISC -->
+
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+
+				<PROPERTY key="dfs.blocksize" value="256M" />
+			
+				<PROPERTY key="mapred.reduce.tasks" value="1" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+	       			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2HdfsActionsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2HdfsActionsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2HdfsActionsJob.xml	(revision 51225)
@@ -0,0 +1,71 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="baa63c0c-0ff3-4a15-93c1-e361800e9ca8_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="dedupSimilarity2HdfsActionsJob" type="mapreduce">
+			<DESCRIPTION>map reduce job that scans a given entity type and creates the similarRel graph</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat" />
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupSimilarityToHdfsActionsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+
+				<!-- OUTPUT -->
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.compress.map.output" value="true" />
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+
+				<PROPERTY key="mapred.output.compress" value="true"/>
+				<PROPERTY key="mapred.output.compression.type" value="BLOCK"/>
+
+                <PROPERTY key="mapred.reduce.tasks" value="100"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+				<PARAM name="mapred.output.dir" required="true" description="target hbase table" />
+				<PARAM name="dedup.conf" required="true" description="dedup configuration" />
+				<PARAM name="rawSetId" required="true" description="raw set identifier" />
+				<PARAM name="similarityCF" required="true" description="similarity column family name" />
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" param="entityTypeId" />
+				</FILTERS>
+				<FAMILIES>
+					<FAMILY value="metadata" />
+					<FAMILY value="rels" qualifier="person_person_isSimilarTo" />
+					<FAMILY value="rels" qualifier="dataset_dataset_isSimilarTo" />
+					<FAMILY value="rels" qualifier="publication_publication_isSimilarTo" />
+					<FAMILY value="rels" qualifier="organization_organization_isSimilarTo" />
+				</FAMILIES>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0" />
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedDliSummaryDataJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedDliSummaryDataJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedDliSummaryDataJob.xml	(revision 51225)
@@ -0,0 +1,60 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="b67b8eef-6100-4ccb-8750-18b1bfd3112c_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="elasticsearchFeedDliSummaryDataJob" type="mapreduce">
+            <DESCRIPTION>map only job that builds DLI summary records and index them on ES</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class" value="org.elasticsearch.hadoop.mr.EsOutputFormat"/>
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dli.PrepareSummaryDataMapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- MISC -->
+                <PROPERTY key="es.nodes"
+                          value="90.147.167.27:9200,90.147.167.25:9200,90.147.167.28:9200,90.147.167.26:9200"/>
+                <PROPERTY key="es.nodes.resolve.hostname" value="false"/>
+                <PROPERTY key="es.nodes.wan.only" value="true"/>
+
+                <PROPERTY key="es.resource" value="dli/object"/>
+                <PROPERTY key="es.mapping.id" value="id"/>
+                <PROPERTY key="es.input.json" value="yes"/>
+
+                <PROPERTY key="mapred.reduce.tasks" value="0"/>
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+
+                <!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+                <!--  	Uncomment to override the default lib path -->
+                <!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+                <PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+                <PARAM name="ontologies" required="true" description="context map (ContextDSResources)"/>
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS/>
+                <FAMILIES/>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep2Job.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep2Job.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep2Job.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="f21fa793-8641-4cd2-b073-42c093751514_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-06-15T10:50:29+02:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="calculatePersonDistributionStep2Job" type="mapreduce">
+            <DESCRIPTION>map reduce job that perform tests for notificationBroker service (step 2/2)</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.NullOutputFormat"/>
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.broker.CalculatePersonDistributionStep2Mapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.broker.CalculatePersonDistributionStep2Reducer"/>
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.Text"/>
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.NullWritable"/>
+
+                <!-- MISC -->
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapreduce.map.speculative" value="false"/>
+                <PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+                <PROPERTY key="mapred.reduce.tasks" value="100"/>
+                <!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+                <PROPERTY key="MIN_PUBLICATIONS" value="10"/>
+                <PROPERTY key="MIN_PUBLICATIONS_IN_REPO" value="4"/>
+                <PROPERTY key="MAX_REPOS" value="10"/>
+
+                <!--  	Uncomment to override the default lib path -->
+                <!-- <PROPERTY key="job.lib" value="/lib/dnet/snapshots/dnet-mapreduce-jobs-assembly-0.0.8.0-michele-SNAPSHOT.jar"/> -->
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM description="hdfs input file path" name="mapred.input.dir" required="true"/>
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS/>
+                <FAMILIES/>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2015-06-15T11:10:17+02:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="7"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/connectedComponentsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/connectedComponentsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/connectedComponentsJob.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="28e8d911-87e5-4f39-9ce9-0d445126c75f_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="connectedComponentsJob" type="mapreduce">
+			<DESCRIPTION>map reduce job joins all the vertex ids to build the connected components in the graph</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.ConnectedComponentsMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable"/>
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.ConnectedComponentsReducer"/>
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.hbase.client.Put"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.compress.map.output" value="false"/>
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="1"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="mapred.input.dir" required="true" description="source path on hdfs"/>
+				<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table"/>
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS/>
+				<FAMILIES/>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last_corvinus.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last_corvinus.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last_corvinus.xml	(revision 51225)
@@ -0,0 +1,87 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="1324e914-c583-4f85-9058-51f34855c5cd_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-25T10:14:57+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_dcrelation_last_corvinus</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_dcrelation_last_corvinus";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+$varIsFunded = "false";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+// if xpath:"//dc:relation[starts-with(., 'info:eu-repo/grantAgreement')]" $varIsFunded = "true"; else $varDummy = "''";
+if xpath:"count(//dc:identifier[starts-with(.,'http://unipub.lib.uni-corvinus.hu')]) = 0 and not(//dc:relation[starts-with(., 'info:eu-repo/grantAgreement')])" dc:type = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:identifier" if xpath:"ends-with(normalize-space(.), '.pdf')" oaf:fulltext = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+$varHttpLinks = xpath:"//dc:relation[starts-with(., 'http')]";
+if xpath:"count($varHttpLinks) &amp;gt; 0" $varHttpTest = "true"; else dc:identifier = skipRecord();
+dc:identifier = xpath:"$varHttpLinks[last()][normalize-space(.)]";
+dr:CobjIdentifier = xpath:"//dc:identifier[normalize-space(.)]";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'http') and position=last()" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+dc:rights = xpath:"//dc:rights";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/') and string-length(normalize-space(.)) &gt; 40" oaf:projectid = xpath:"concat($var1, substring(normalize-space(.), 36, 6))"; else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/buildMergedToAnchorMapJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/buildMergedToAnchorMapJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/buildMergedToAnchorMapJob.xml	(revision 51225)
@@ -0,0 +1,68 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4e16c8dd-8944-4266-8b5c-62e4b26e3090_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="buildMergedToAnchorMapJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that builds a map {merged author id --> anchorId}</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.BuildMergedAnchorMapMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+				
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.BuildMergedAnchorMapReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />				
+				
+				<!-- MISC -->
+				<PROPERTY key="mapred.output.compress" value="false" />
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+							
+				<PROPERTY key="mapred.reduce.tasks" value="1" />
+				<PROPERTY key="dfs.blocksize" value="256M" />
+				<PROPERTY key="mapred.textoutputformat.separator" value="=" />
+				
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" /> 
+        	</JOB_INTERFACE>
+        	<SCAN>
+                <FILTERS operator="MUST_PASS_ALL">
+                    <FILTER type="prefix" value="30"/>
+                </FILTERS>
+                <FAMILIES>
+                    <FAMILY value="person"/>
+	                <FAMILY value="personPerson_dedup_isMergedIn" />
+	                <FAMILY value="rel:dnet:result_result_relations" />
+                </FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_publication_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_publication_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_publication_relations.xml	(revision 51225)
@@ -0,0 +1,108 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c2cd2bab-6a9e-4a34-9318-3b11a349ad4c_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="publication_publication">dnet:publication_publication_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Publications entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="hasAmongTopNSimilarDocuments"
+                      encoding="publication_publication_hasAmongTopNSimilarDocuments"
+                      english_name="has Among Top N Similar Documents" native_name="has Among Top N Similar Documents">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isAmongTopNSimilarDocuments"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isAmongTopNSimilarDocuments" encoding="publication_publication_isAmongTopNSimilarDocuments"
+                      english_name="is Among Top N Similar Documents" native_name="is Among Top N Similar Documents">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="hasAmongTopNSimilarDocuments"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isRelatedTo" encoding="publication_publication_isRelatedTo" english_name="is related to"
+                      native_name="is related to">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isRelatedTo"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isSupplementTo" encoding="publication_publication_isSupplementTo"
+                      english_name="is supplement to" native_name="is supplement to">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isSupplementedBy"/>
+		            </RELATIONS>
+	            </TERM>
+                <TERM code="isSupplementedBy" encoding="publication_publication_isSupplementedBy"
+                      english_name="is supplemented by" native_name="is supplemented by">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isSupplementTo"/>
+		            </RELATIONS>
+	            </TERM>
+                <TERM code="isPartOf" encoding="publication_publication_isPartOf" english_name="is part of"
+                      native_name="is part of">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="hasPart"/>
+		            </RELATIONS>
+	            </TERM>
+                <TERM code="hasPart" encoding="publication_publication_hasPart" english_name="has part"
+                      native_name="has part">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isPartOf"/>
+		            </RELATIONS>
+	            </TERM>
+                <TERM code="merges" encoding="publication_publication_merges" english_name="merges"
+                      native_name="merges">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isMergedIn"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isMergedIn" encoding="publication_publication_isMergedIn" english_name="is Merged In"
+                      native_name="is Merged In">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="merges"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isSimilarTo" encoding="publication_publication_isSimilarTo" english_name="is similar to"
+                      native_name="is similar to">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isSimilarTo"/>
+					</RELATIONS>
+                </TERM>
+
+	            <TERM code="cites" encoding="publication_publication_cites" english_name="cites"
+	                  native_name="cites">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isCitedBy"/>
+		            </RELATIONS>
+	            </TERM>
+	            <TERM code="isCitedBy" encoding="publication_publication_isCitedBy" english_name="is Cited By"
+	                  native_name="is Cited By">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="cites"/>
+		            </RELATIONS>
+	            </TERM>
+
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2updateActions.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2updateActions.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2updateActions.xml	(revision 51225)
@@ -0,0 +1,99 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="4d85a2b2-c97e-4369-ac18-bb7b4ba43c2b_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="dmf_update_action"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_odf2updateAction</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dnet="eu.dnetlib.data.transform.xml.OdfToHbaseXsltFunctions"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+                xmlns:date="java.lang.System"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:exslt="http://exslt.org/common" version="1.0"
+                extension-element-prefixes="exslt" exclude-result-prefixes="xsl dnet exslt oaf dr dri date">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:param name="trust" select="string('0.9')"/>
+	<xsl:param name="provenance" select="string('UNKNOWN')"/>
+	<xsl:param name="namespaceprefix" select="string('datacite____')"/>
+
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="metadata" select="exslt:node-set(/*[local-name()='record']/*[local-name()='metadata']/*[local-name()='resource'])"/>
+		<xsl:variable name="rightNSPrefix">
+			<xsl:choose>
+				<xsl:when test="not($namespaceprefix)">
+					<xsl:value-of select="//oaf:datasourceprefix"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="$namespaceprefix"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="count($metadata) =  0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="originalId" select="//*[local-name() = 'identifier' and ./@identifierType='DOI']"/>
+				<xsl:variable name="datasetId" select="dnet:oafSimpleId('dataset', //dri:objIdentifier)"/>
+
+				<xsl:if test="string-length($datasetId) &gt; 0">
+					<xsl:variable name="originalids"
+					              select="//*[local-name() = 'resource']/*[local-name()='identifier'] | //*[local-name() = 'resource']//*[local-name()='alternateIdentifier']"/>
+					<xsl:variable name="creators" select="//*[local-name() = 'creator']"/>
+					<xsl:variable name="titles" select="//*[local-name() = 'title']"/>
+					<xsl:variable name="subjects" select="//*[local-name() = 'subject']"/>
+					<xsl:variable name="publisher" select="//*[local-name() = 'publisher']"/>
+					<xsl:variable name="descriptions" select="//*[local-name() = 'description']"/>
+					<xsl:variable name="dates" select="//*[local-name() = 'date']"/>
+					<xsl:variable name="dateaccepted" select="//oaf:dateAccepted"/>
+					<xsl:variable name="resourceType" select="//*[local-name() = 'resourceType']"/>
+					<xsl:variable name="formats" select="//*[local-name() = 'format']"/>
+					<xsl:variable name="sizes" select="//*[local-name() = 'size']"/>
+					<xsl:variable name="rights" select="//oaf:accessrights"/>
+					<xsl:variable name="version" select="//*[local-name() = 'version']"/>
+					<xsl:variable name="instanceURI" select="concat('http://dx.doi.org','/',//*[local-name() = 'resource']/*[local-name() = 'identifier'])"/>
+					<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+					<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+					<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+					<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+					<xsl:variable name="dateOfCollection" select="//dr:dateOfCollection"/>
+					<xsl:variable name="dateoftransformation" select="concat('', //dr:dateOfTransformation)"/>
+					<xsl:variable name="language" select="//oaf:language"/>
+					<xsl:variable name="cobjcategory" select="//dr:CobjCategory"/>
+					<xsl:variable name="contributors" select="//*[local-name() = 'contributorName']"/>
+					<xsl:variable name="pids" select="//*[local-name() = 'resource']/*[local-name()='identifier']"/>
+					<ROWS>
+						<ROW mode="update">
+							<xsl:value-of select="dnet:odfDataset($datasetId, $about, $metadata, $titles, $subjects, $publisher, $descriptions,
+			                                            $dates, $dateaccepted, $resourceType, $formats, $sizes, $language, $cobjcategory, $contributors, $rights,
+			                                            $version, $pids, $provenance, $trust, $hostedbyid, $hostedbyname, $collectedfromid,
+			                                            $collectedfromname, $originalids, $instanceURI, $dateOfCollection, $dateoftransformation)"/>
+						</ROW>
+					</ROWS>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectcontactperson_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectcontactperson_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectcontactperson_2_hbase.xml	(revision 51225)
@@ -0,0 +1,52 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="9099673b-b46d-4aae-9f56-321607cbacba_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_projectContactperson2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="projectId" select="dnet:oafSplitId('project', //FIELD[@name = 'project'])"/>
+		<xsl:variable name="contactpersonId" select="dnet:oafSplitId('person', //FIELD[@name = 'contactperson'])"/>
+
+		<ROWS>
+			<xsl:if test="string-length($projectId) &gt; 0 and string-length($contactpersonId) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($projectId, $contactpersonId, //FIELD[not(@isNull)], 'hasContact', 'project_person')"/>
+					</xsl:attribute>
+				</ROW>
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($contactpersonId, $projectId, //FIELD[not(@isNull)], 'isContact', 'project_person')"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_epic.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_epic.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_epic.xml	(revision 51225)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4d0ec267-2750-4a87-852d-90f61525a6e0_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-04-28T07:49:19+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_epic</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_epic";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+//preprocess p1 = dblookup("select id, officialname, accessinfopackage from datasources where accessinfopackage is not null");
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+// this is too restrictive, should test for dc:contributor as well
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]  or count(//dc:relation[starts-with(normalize-space(.), 'info:eu-repo/grantAgreement')]) &gt; 0" $varHttpTest = "true"; else dc:identifier = skipRecord();
+//if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+dc:identifier = xpath:"//dc:relation[starts-with(normalize-space(.), 'http')]";
+apply xpath:"//dc:identifier" if xpath:"string-length(.) &gt; 0" dr:CobjIdentifier = xpath:"normalize-space(.)"; else $varDummy = "''";
+// apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimUpdates_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimUpdates_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimUpdates_2_hbase.xml	(revision 51225)
@@ -0,0 +1,83 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="515444fa-b6af-4164-bf52-30e53b916a90_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="oaf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_claimUpdates2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+                xmlns:date="java.lang.System"
+                xmlns:exslt="http://exslt.org/common"
+                version="1.0"
+                extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl dc dr dri oaa oaf dnet exslt date">
+
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:param name="trust" select="string('0.9')"/>
+	<xsl:param name="provenance" select="string('UNKNOWN')"/>
+	<xsl:param name="namespaceprefix" select="string('unknown_____')"/>
+
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+		<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+		<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+		<xsl:variable name="collectedDatasourceid">
+			<xsl:choose>
+				<xsl:when test="string-length(//oaf:collectedDatasourceid) &gt; 0">
+					<xsl:value-of select="//oaf:collectedDatasourceid"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="UNKNOWN"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="count($metadata) = 0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+
+				<xsl:variable name="objidentifier" select="//record/*[local-name() = 'header']/*[local-name() = 'objIdentifier']"/>
+				<xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', $objidentifier)"/>
+
+				<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+				<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+
+				<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+				<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+				<ROWS>
+					<ROW mode="update">
+						<xsl:attribute name="value">
+							<xsl:value-of select="dnet:oafPublicationUpdate($publicationId, $provenance, $trust, $metadata, $hostedbyid, $hostedbyname)"/>
+						</xsl:attribute>
+					</ROW>
+				</ROWS>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dlib.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dlib.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dlib.xml	(revision 51225)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="99a3948a-ed80-4fdd-83c2-ea021b0fc069_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-02-23T15:32:50+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_dlib</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_dlib";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = xpath:"//dri:recordIdentifier";
+if xpath:"count(//dlib-meta0.1//creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+//apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dlib-meta0.1//creator" if xpath:"string-length(.) &gt; 0" dc:creator = Convert(xpath:".", Person); else $varDummy = "''";
+apply xpath:"//dlib-meta0.1/title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dlib-meta0.1//publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dlib-meta0.1//identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dlib-meta0.1//identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dlib-meta0.1/language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dlib-meta0.1/date[@date-type='publication']";
+oaf:dateAccepted = xpath:"concat(replace(//date[@date-type='publication'], '\D', ''), '-01', '-01')";
+//  Convert(xpath:"//date[@date-type='publication']", DateISO8601, "yyyy-MM-dd", "min()");
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dlib-meta0.1//type[@resource-type='work']" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+dc:rights = xpath:"//dlib-meta0.1/rights";
+oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+// $varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"//dlib-meta0.1/identifier[@uri-type='DOI']", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+oaf:journal = set(xpath:"//dlib-meta0.1//serial-name", @eissn = xpath:"//dlib-meta0.1//issn";);
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGTCleanerJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGTCleanerJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGTCleanerJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="888ef72f-701a-4d59-8b8a-2ad01986f975_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="gtCleanerJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that deletes the non-GT rows</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.GTCleanerMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Delete" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />		
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+			        <FAMILY value="datasetDataset_dedupSimilarity_isSimilarTo" />
+			        <FAMILY value="publicationPublication_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OPENAIREplus_repec.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OPENAIREplus_repec.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OPENAIREplus_repec.xml	(revision 51225)
@@ -0,0 +1,104 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="559212dd-cca9-477e-b43c-6222da5b49e7_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2016-03-10T19:09:33+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_repec</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_repec";
+declare_ns amf = "http://amf.openlib.org";
+declare_ns repec="http://repec.openlib.org";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$varFP7 = "'corda_______::'";
+$varH2020 = "'corda__h2020::'";
+$varFCT="'fct_________::'";
+$varDummy = "''";
+// $varPmc = Convert(xpath:"substring-after(//dc:identifier, '=')", PMC);
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+// skipRecords
+if xpath:"//repec:restriction[.='Access to full text is restricted to subscribers.'] or //repec:function[.='link to article abstract page'] or //amf:file/amf:url[starts-with(., 'http://www.sciencedirect.com/')]" dc:coverage = skipRecord(); else $varDummy = "''";
+//
+apply xpath:"//amf:hasauthor/amf:person/amf:name" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//amf:amf/amf:text/amf:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//amf:keywords" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//amf:haspublisher/amf:person/amf:name" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//amf:abstract";
+$varHttpTest = "''";
+if xpath:"//amf:file/amf:url[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//amf:file/amf:url" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+//$varUrl = xpath:"concat('http://europepmc.org/articles/', $varPmc)";
+//if xpath:"string-length($varPmc) &amp;gt; 0" dc:identifier = $varUrl; else dc:identifier = xpath:"//dc:identifier";
+//if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+//apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+dr:dateOfCollection = xpath:"//dri:dateOfCollection";
+static dr:dateOfTransformation = xpath:"current-dateTime()";
+dc:type = xpath:"//amf:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+if xpath:"//amf:issuedate" oaf:dateAccepted = Convert(xpath:"descendant-or-self::amf:issuedate", DateISO8601, "yyyy-MM-dd", "min()"); else $varDummy = "''";
+if xpath:"//amf:date" oaf:dateAccepted = Convert(xpath:"descendant-or-self::amf:date", DateISO8601, "yyyy-MM-dd", "min()"); else $varDummy = "''";
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+// FP7
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varFP7, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+// H2020
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+// FCT
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/fct)/(.+)/(\d+)(.*)', 'i')]/concat($varFCT, replace(normalize-space(.), '(info:eu-repo/grantagreement/fct)/(.+)/(\d+)(.*)', '$3', 'i'))";
+dc:relation = xpath:"//dc:relation";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+dr:CobjCategory = Convert(xpath:"//amf:type", TextTypologies);
+//apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+//if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//*"]' , xpath:"./*[local-name()='record']//*[local-name()='metadata']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+$varJournal = xpath:"//amf:journaltitle";
+$varVolume = xpath:"//amf:serial/amf:volume";
+$varStartPage = xpath:"//amf:serial/amf:startpage";
+$varEndPage = xpath:"//amf:serial/amf:endpage";
+$varIssue = xpath:"//amf:serial/amf:issue";
+//if xpath:"string-length($varJournal) &gt; 0" oaf:journal = set(xpath:"//amf:journaltitle", @issn = xpath:"//amf:journaltitle";, @issn = xpath:"./@issn";, @eissn = xpath:"./@eissn";); else $varDummy = "''";
+oaf:journal = set(xpath:"//amf:journaltitle", @vol = $varVolume;, @iss =$varIssue;, @sp= $varStartPage;, @ep= $varEndPage;, @issn = xpath:"./@issn";, @eissn = xpath:"./@eissn";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_dataset_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_dataset_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_dataset_relations.xml	(revision 51225)
@@ -0,0 +1,51 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="8da92a71-4127-48d2-a1ba-a918cd026767_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="person_dataset">dnet:person_result_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Publication and Person entities
+            </ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isAuthorOf" encoding="person_dataset_isAuthorOf" english_name="author of"
+                      native_name="author of">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="hasAuthor"/>
+                    </RELATIONS>
+                </TERM>
+                <TERM code="hasAuthor" encoding="person_dataset_hasAuthor" english_name="has author"
+                      native_name="has author">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isAuthorOf"/>
+                    </RELATIONS>
+                </TERM>
+                <TERM code="isContributorOf" encoding="person_dataset_isContributorOf" english_name="contributor of"
+                      native_name="contributor of">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="hasContributor"/>
+                    </RELATIONS>
+                </TERM>
+                <TERM code="hasContributor" encoding="person_dataset_hasContributor" english_name="has contributor"
+                      native_name="has contributor">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isContributorOf"/>
+                    </RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/opentrials2datacite.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/opentrials2datacite.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/opentrials2datacite.xml	(revision 51225)
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="eab4c820-e11f-4406-8b01-d31cfcccdf5f_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2014-01-08T23:27:01+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_opentrials_datacite</TITLE>
+				<CODE>
+					<![CDATA[
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
+    xmlns:oai="http://www.openarchives.org/OAI/2.0/" xmlns:oaf="http://namespace.openaire.eu/oaf"
+    xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+    xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+    xmlns:openTrials="eu.dnetlib.data.transform.xml.OpenTrialsXsltFunctions"
+    xmlns:date="http://exslt.org/dates-and-times" extension-element-prefixes="openTrials date"
+    exclude-result-prefixes="xsl">
+
+    <xsl:output indent="yes"/>
+    <xsl:param name="varOfficialName"/>
+    <xsl:param name="varDataSourceId"/>
+
+    <xsl:template match="/">
+        <xsl:call-template name="createRecord"/>
+    </xsl:template>
+
+    <xsl:template name="createRecord">
+        <oai:record>
+            <oai:header>
+                <xsl:copy-of select="//*[local-name() = 'header']/*" copy-namespaces="no"/>
+                <dr:dateOfTransformation>
+                    <xsl:value-of select="date:date-time()"/>
+                </dr:dateOfTransformation>
+            </oai:header>
+            <oai:metadata>
+                <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                    xsi:schemaLocation="http://datacite.org/schema/kernel-3 http://schema.datacite.org/meta/kernel-3/metadata.xsd"
+                    xmlns="http://datacite.org/schema/kernel-3">
+                    <!--
+                        In order to the web URL to be properly set in the OAF final record, the main id must be an URL.
+                        Primary and secondary ids + identifiers can be set as alternate identifiers
+                    -->
+                    <identifier identifierType="URL">
+                        <xsl:value-of
+                            select="openTrials:getMainIdentifierURL(//column[@name = 'jsonprov']/text())"/>
+                    </identifier>
+                    <alternateIdentifiers>
+                        <alternateIdentifier
+                            alternateIdentifierType="{//column[./@name='primary_register']/text()}">
+                            <xsl:value-of select="//column[./@name = 'primary_id']/text()"/>
+                        </alternateIdentifier>
+                        <!--
+                        TODO: handle other ids in alternateIdentifiers. For now secondary_ids are not of our concern (as said by Evgeny from OpenTrials)
+                        But identifiers is relevant instead.
+                        <column name="secondary_ids">{"others": null}</column>
+                        <column name="identifiers">{NCT00972270, XXX}</column>
+                        -->
+                        <!-- remove '{' and '}' -->
+                        <xsl:variable name="cleanedIds"
+                            select="replace(replace(//column[@name = 'identifiers'], '{', ''), '}', '')"/>
+                        <xsl:for-each select="tokenize(cleanedIds, ',')">
+                            <alternateIdentifier>
+                                <xsl:value-of select="normalize-space(.)"/>
+                            </alternateIdentifier>
+                        </xsl:for-each>
+                    </alternateIdentifiers>
+                    <!-- No creators available -->
+                    <creators/>
+                    <titles>
+                        <xsl:variable name="scientificTitle"
+                            select="normalize-space(//column[@name = 'scientific_title'])"/>
+                        <xsl:variable name="publicTitle"
+                            select="normalize-space(//column[@name = 'public_title'])"/>
+                        <xsl:if test="string-length($scientificTitle) &gt; 0">
+                            <title>
+                                <xsl:value-of select="$scientificTitle"/>
+                            </title>
+                        </xsl:if>
+                        <xsl:if test="string-length($publicTitle) &gt; 0">
+                            <title>
+                                <xsl:value-of select="$publicTitle"/>
+                            </title>
+                        </xsl:if>
+                    </titles>
+                    <publisher>
+                        <xsl:value-of select="//column[./@name = 'primary_register']/text()"/>
+                    </publisher>
+                    <resourceType resourceTypeGeneral="Trial">Trial</resourceType>
+                    <descriptions>
+                        <xsl:variable name="description"
+                            select="normalize-space(//column[@name = 'description'])"/>
+                        <xsl:variable name="summary"
+                            select="normalize-space(//column[@name = 'brief_summary'])"/>
+                        <xsl:if test="string-length($description) &gt; 0">
+                            <description descriptionType="Abstract">
+                                <xsl:value-of select="$description"/>
+                            </description>
+                        </xsl:if>
+                        <xsl:if test="string-length($summary) &gt; 0">
+                            <description descriptionType="Abstract">
+                                <xsl:value-of select="$summary"/>
+                            </description>
+                        </xsl:if>
+                    </descriptions>
+                    <xsl:if test="string-length(//column[@name = 'target_sample_size']) &gt; 0">
+                        <sizes>
+                            <size>
+                                <xsl:value-of
+                                    select="concat('Target sample size: ', //column[@name = 'target_sample_size'])"
+                                />
+                            </size>
+                        </sizes>
+                    </xsl:if>
+                    <oaf:accessrights>UNKNOWN</oaf:accessrights>
+                    <dr:CobjCategory>0021</dr:CobjCategory>
+                    <oaf:dateAccepted>
+                        <xsl:value-of select="//column[@name = 'registration_date']"/>
+                    </oaf:dateAccepted>
+                    <!-- We'll need to do something to patch it, if possible, looking at the jsonProv source name and id -->
+                    <oaf:hostedBy id="openaire____::1256f046-bf1f-4afc-8b47-d0b147148b18"
+                        name="Unknown Repository"/>
+                    <oaf:collectedFrom>
+                        <xsl:attribute name="name">
+                            <xsl:value-of select="$varOfficialName"/>
+                        </xsl:attribute>
+                        <xsl:attribute name="id">
+                            <xsl:value-of select="$varDataSourceId"/>
+                        </xsl:attribute>
+                    </oaf:collectedFrom>
+                    <oaf:about>
+                        <oaf:datainfo>
+                            <oaf:inferred>false</oaf:inferred>
+                            <oaf:deletedbyinference>false</oaf:deletedbyinference>
+                            <oaf:trust>0.9</oaf:trust>
+                            <oaf:inferenceprovenance/>
+                            <oaf:provenanceaction classid="sysimport:crosswalk:datasetarchive"
+                                classname="sysimport:crosswalk:datasetarchive"
+                                schemeid="dnet:provenanceActions"
+                                schemename="dnet:provenanceActions"/>
+                        </oaf:datainfo>
+                    </oaf:about>
+                </resource>
+            </oai:metadata>
+            <xsl:copy-of select="//*[local-name() = 'about']"/>
+        </oai:record>
+    </xsl:template>
+</xsl:stylesheet>
+
+]]>
+</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS/>
+	</BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_publication_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_publication_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_publication_relations.xml	(revision 51225)
@@ -0,0 +1,50 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="12b8832a-0e97-43a9-b5ec-c33ff3c29778_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="person_publication">dnet:person_result_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Publication and Person entities
+            </ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isAuthorOf" encoding="person_publication_isAuthorOf" english_name="author of"
+                      native_name="author of">
+                    <SYNONYMS/>
+         			<RELATIONS>
+						<RELATION type="inverseOf" code="hasAuthor"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="hasAuthor" encoding="person_publication_hasAuthor" english_name="has author"
+                      native_name="has author">
+                    <SYNONYMS/>
+         			<RELATIONS>
+						<RELATION type="inverseOf" code="isAuthorOf"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="isContributorOf" encoding="person_publication_isContributorOf" english_name="contributor of"
+                      native_name="contributor of">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="hasContributor"/>
+                    </RELATIONS>
+                </TERM>
+                <TERM code="hasContributor" encoding="person_publication_hasContributor" english_name="has contributor"
+                      native_name="has contributor">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isContributorOf"/>
+                    </RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/offlineHbaseLoadJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/offlineHbaseLoadJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/offlineHbaseLoadJob.xml	(revision 51225)
@@ -0,0 +1,58 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="073e55eb-c6f4-49a9-80b3-1a927612ba5b_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="offlineHbaseLoad" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that loads a given entity type in the offline dedup table</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.OfflineHbaseLoadMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep1Job.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep1Job.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep1Job.xml	(revision 51225)
@@ -0,0 +1,63 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="f61bc720-2821-4871-937d-64b79f098714_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-06-15T10:50:29+02:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="calculatePersonDistributionStep1Job" type="mapreduce">
+            <DESCRIPTION>map reduce job that perform tests for notificationBroker service (step 1/2)</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat"/>
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.broker.CalculatePersonDistributionStep1Mapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.broker.CalculatePersonDistributionStep1Reducer"/>
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- MISC -->
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapreduce.map.speculative" value="false"/>
+                <PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+                <PROPERTY key="mapred.reduce.tasks" value="100"/>
+
+                <!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+                <!--  	Uncomment to override the default lib path -->
+                <!-- <PROPERTY key="job.lib" value="/user/michele.artini/lib/dnet-mapreduce-jobs-assembly-0.0.6.6-SNAPSHOT.jar"/> -->
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM description="source hbase table" name="hbase.mapred.inputtable" required="true"/>
+                <PARAM description="source hbase table" name="hbase.mapreduce.inputtable" required="true"/>
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS operator="MUST_PASS_ONE">
+                    <FILTER type="prefix" value="50"/>
+                    <FILTER type="prefix" value="10"/>
+                </FILTERS>
+                <FAMILIES>
+                    <FAMILY value="result"/>
+                    <FAMILY value="datasource"/>
+                </FAMILIES>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2015-06-15T11:10:17+02:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="7"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_puma.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_puma.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_puma.xml	(revision 51225)
@@ -0,0 +1,89 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="3fe5fd31-1b14-427d-934b-5d5dba6cf5cc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_puma</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_puma";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::$1'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+$varPrj1 = RegExpr(xpath:"//dc:relation[1][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+$varPrj2 = RegExpr(xpath:"//dc:relation[2][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+$varPrj3 = RegExpr(xpath:"//dc:relation[3][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+$varPrj4 = RegExpr(xpath:"//dc:relation[4][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+$varPrj5 = RegExpr(xpath:"//dc:relation[5][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+$varPrj6 = RegExpr(xpath:"//dc:relation[6][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+if xpath:"string-length($varPrj1) = 20" oaf:projectid = $varPrj1; else $var0 = "''";
+if xpath:"string-length($varPrj2) = 20" oaf:projectid = $varPrj2; else $var0 = "''";
+if xpath:"string-length($varPrj3) = 20" oaf:projectid = $varPrj3; else $var0 = "''";
+if xpath:"string-length($varPrj4) = 20" oaf:projectid = $varPrj4; else $var0 = "''";
+if xpath:"string-length($varPrj5) = 20" oaf:projectid = $varPrj5; else $var0 = "''";
+if xpath:"string-length($varPrj6) = 20" oaf:projectid = $varPrj6; else $var0 = "''";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gm"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gm"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_1299.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_1299.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_1299.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="044e8e7c-0861-42d5-9b4a-15252faa446e_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-29T10:05:49+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_1299</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_1299";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0 or //dc:creator[starts-with(., '?????')]" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+// if xpath:"//dc:title[starts-with(., '?????')]" dc:title = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcidentifier_last.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcidentifier_last.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcidentifier_last.xml	(revision 51225)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="50cbbb8f-b9d4-486d-9895-a80ca7b963b9_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_dcidentifier_last</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_dcidentifier_last";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+// this can be made easier
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[last()][starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http') and position()=last()" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_publication2hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_publication2hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_publication2hbase.xml	(revision 51225)
@@ -0,0 +1,99 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="be2626f5-b879-4851-afa8-62f754889eaa_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType" />
+		<RESOURCE_KIND value="TransformationRuleDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+        <CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="oaf" layout="store" interpretation="cleaned" />
+			<SINK_METADATA_FORMAT name="oaf_hbase" />   
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_mapping_oaf_publication2hbase</TITLE>
+                <CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dc="http://purl.org/dc/elements/1.1/"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+                xmlns:exslt="http://exslt.org/common"
+                version="1.0" extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl oaf dr dri dnet exslt">
+
+    <xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+    <xsl:param name="writeCoAuthors" select="false()"/>
+
+    <xsl:template match="/*">
+        <xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+        <xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+        <xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+        <xsl:variable name="trust" select="string('0.9')"/>
+        <xsl:variable name="provenance" select="string('sysimport:crosswalk:repository')"/>
+
+        <xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+        <xsl:variable name="namespaceprefix">
+            <xsl:choose>
+
+                <!-- TODO check namespaceprefix length is 12 -->
+                <xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+	                <xsl:value-of select="//oaf:datasourceprefix"/>
+                </xsl:when>
+                <xsl:otherwise>
+	                <xsl:value-of select="unknown_"/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:variable>
+
+        <xsl:choose>
+            <!-- 			<xsl:when test="count($metadata) = 0 or string-length($namespaceprefix) = 0"> -->
+            <xsl:when test="count($metadata) = 0">
+                <ROWS/>
+            </xsl:when>
+            <xsl:otherwise>
+
+                <xsl:variable name="objIdentifier" select="//dri:objIdentifier"/>
+                <xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', //dri:objIdentifier)"/>
+
+                <xsl:if test="string-length($publicationId) &gt; 0">
+
+	                <xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+	                <xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+
+	                <xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+	                <xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+
+	                <xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']"/>
+	                <xsl:variable name="originalid">
+		                <xsl:choose>
+			                <xsl:when test="contains($originalidTest, '::')">
+				                <xsl:value-of select="substring-after($originalidTest, '::')"/>
+			                </xsl:when>
+			                <xsl:otherwise>
+				                <xsl:value-of select="$originalidTest"/>
+			                </xsl:otherwise>
+		                </xsl:choose>
+	                </xsl:variable>
+	                <ROWS>
+		                <ROW>
+			                <xsl:attribute name="value">
+				                <xsl:value-of select="dnet:oafPublication($publicationId, $provenance, $trust, $about, $hostedbyid, $hostedbyname,
+				                $collectedfromid, $collectedfromname, $originalid, $dateofcollection, $dateoftransformation, $metadata)"/>
+			                </xsl:attribute>
+		                </ROW>
+	                </ROWS>
+                </xsl:if>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+</xsl:stylesheet>
+			</CODE>
+        </SCRIPT>
+        </CONFIGURATION>
+		<STATUS />
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/organizations_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/organizations_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/organizations_2_hbase.xml	(revision 51225)
@@ -0,0 +1,52 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="4ef23346-95e3-4357-a4bf-e26d7c9c1b82_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_organizations2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="originalid" select="//FIELD[@name = 'organizationid']"/>
+		<xsl:variable name="organizationid" select="dnet:oafSplitId('organization', $originalid)"/>
+		<xsl:variable name="dateofcollection" select="//FIELD[@name = 'dateofcollection']"/>
+		<xsl:variable name="dateoftransformation" select="//FIELD[@name = 'dateoftransformation']"/>
+		<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //FIELD[@name = 'collectedfromid'])"/>
+		<xsl:variable name="collectedfromname" select="//FIELD[@name = 'collectedfromname']"/>
+		<ROWS>
+			<xsl:if test="string-length($organizationid) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:oafEntity($organizationid, $collectedfromid, $collectedfromname,
+						$originalid, $dateofcollection, $dateoftransformation, //FIELD[not(@isNull)])"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_nlm2oaf_pmc.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_nlm2oaf_pmc.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_nlm2oaf_pmc.xml	(revision 51225)
@@ -0,0 +1,262 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="f20483e7-46c4-4cec-87a8-17a0cbe1a003_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2016-03-11T12:07:02+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_nlm2oaf_pmc</TITLE>
+                <CODE>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1" 
+                             xmlns:dri="http://www.driver-repository.eu/namespace/dri" 
+                             xmlns:dc="http://purl.org/dc/elements/1.1/" 
+                             xmlns:oaf="http://namespace.openaire.eu/oaf" 
+                             xmlns:dr="http://www.driver-repository.eu/namespace/dr" 
+                             xmlns:transformExt="http://namespace.openaire.eu/java/org.apache.commons.codec.digest.DigestUtils" 
+                             xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                             extension-element-prefixes="transformExt TransformationFunction"
+                             exclude-result-prefixes="transformExt TransformationFunction" &gt;
+                        &lt;xsl:output indent="yes" omit-xml-declaration="yes"/&gt;
+
+  &lt;xsl:param name="varOfficialName" /&gt;
+  &lt;xsl:param name="varDsType" /&gt;
+  &lt;xsl:param name="varDataSourceId" /&gt;
+  &lt;xsl:param name="varFP7" select="'corda_______::'"/&gt;
+  &lt;xsl:param name="varH2020" select="'corda__h2020::'"/&gt;
+  &lt;xsl:param name="epmcUrlPrefix" select="'http://europepmc.org/articles/'" /&gt;
+  &lt;xsl:param name="repoCode" select="substring-before(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], ':')"/&gt;
+
+  &lt;xsl:param name="index" select="0"/&gt;
+  &lt;xsl:param name="transDate" select="current-dateTime()"/&gt;
+  &lt;xsl:variable name="tf" select="TransformationFunction:getInstance()"/&gt;
+&lt;xsl:variable name="year" select="format-number(//*[local-name()='article-meta']//*[local-name()='pub-date'][@pub-type='epub']/*[local-name()='year'], '0000')" /&gt;
+  &lt;xsl:variable name="month" select="format-number(//*[local-name()='article-meta']//*[local-name()='pub-date'][@pub-type='epub']/*[local-name()='month'], '00')" /&gt;
+  &lt;xsl:variable name="day" select="format-number(//*[local-name()='article-meta']//*[local-name()='pub-date'][@pub-type='epub']/*[local-name()='day'], '00')" /&gt;
+
+               &lt;xsl:template name="terminate"&gt;
+                	&lt;xsl:message terminate="yes"&gt;
+                             	record is not compliant, transformation is interrupted.
+                	&lt;/xsl:message&gt;
+               &lt;/xsl:template&gt;
+
+                        &lt;xsl:template match="/"&gt;
+                              &lt;record&gt;
+                                  &lt;xsl:apply-templates select="//*[local-name() = 'header']" /&gt;
+                                  &lt;metadata&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name() = 'article-meta']//*[local-name()='article-title']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:title'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="authors"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name() = 'contrib'][@contrib-type='author']"/&gt;
+                                    &lt;/xsl:call-template&gt;
+&lt;!--                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:contributor"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:contributor'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+--&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='article-meta']/*[local-name()='abstract']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:description'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='article-categories']//*[local-name()='subject']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:subject'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='kwd-group']//*[local-name()='kwd']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:subject'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='publisher']/*[local-name()='publisher-name']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:publisher'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='journal-meta']//*[local-name()='journal-title']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:source'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:element name="dc:language"&gt;
+                                                                          &lt;xsl:text&gt;eng&lt;/xsl:text&gt;
+                                    &lt;/xsl:element&gt;
+                                    &lt;xsl:element name="dc:identifier"&gt;
+                                            &lt;xsl:value-of select="concat($epmcUrlPrefix, //*[local-name()='article-id'][@pub-id-type='pmcid'])" /&gt;
+                                    &lt;/xsl:element&gt;
+                                    &lt;xsl:element name="oaf:dateAccepted"&gt;
+                                            &lt;xsl:choose&gt;
+                                            &lt;xsl:when test="//*[local-name()='article-meta']//*[local-name()='pub-date'][@pub-type='epub']" &gt;
+                                               &lt;xsl:if test="string(number($month)) eq 'NaN'" &gt;
+                                               &lt;xsl:value-of select="concat($year, '-', '01', '-', '01')" /&gt;
+                                               &lt;/xsl:if&gt;
+                                               &lt;xsl:if test="string(number($month)) != 'NaN'" &gt;
+                                               &lt;xsl:value-of select="concat($year, '-', $month, '-', '01')" /&gt;
+                                               &lt;/xsl:if&gt;
+                                            &lt;/xsl:when&gt;
+                                            &lt;xsl:otherwise&gt;
+                                               &lt;xsl:value-of select="concat(//*[local-name()='article-meta']//*[local-name()='pub-date'][@pub-type='ppub']/*[local-name()='year'], '-01-01')" /&gt;
+                                            &lt;/xsl:otherwise&gt;
+                                            &lt;/xsl:choose&gt;
+                                    &lt;/xsl:element&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='permissions']/*[local-name()='copyright-statement']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:rights'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='permissions']/*[local-name()='license']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:rights'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='fn-group']//*[local-name()='fn']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:relation'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="identifiers"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='article-id']"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                  &lt;xsl:element name="oaf:accessrights"&gt;
+                                             &lt;xsl:text&gt;OPEN&lt;/xsl:text&gt;
+                                  &lt;/xsl:element&gt;
+                                  &lt;xsl:element name="dr:CobjCategory"&gt;
+                                             &lt;xsl:text&gt;0001&lt;/xsl:text&gt;
+                                  &lt;/xsl:element&gt;
+                                    &lt;xsl:call-template name="journal"&gt;
+                                            &lt;xsl:with-param name="journalTitle" select="//*[local-name()='journal-meta']//*[local-name()='journal-title']"/&gt;
+                                            &lt;xsl:with-param name="issn" select="//*[local-name()='journal-meta']/*[local-name()='issn'][@pub-type='ppub']"/&gt;
+                                            &lt;xsl:with-param name="eissn" select="//*[local-name()='journal-meta']/*[local-name()='issn'][@pub-type='epub']"/&gt;
+                                            &lt;xsl:with-param name="vol" select="//*[local-name()='article-meta']/*[local-name()='volume']"/&gt;
+                                            &lt;xsl:with-param name="issue" select="//*[local-name()='article-meta']/*[local-name()='issue']"/&gt;
+                                            &lt;xsl:with-param name="sp" select="//*[local-name()='article-meta']/*[local-name()='fpage']"/&gt;
+                                            &lt;xsl:with-param name="ep" select="//*[local-name()='article-meta']/*[local-name()='lpage']"/&gt;
+                                    &lt;/xsl:call-template&gt;
+         &lt;oaf:hostedBy&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="$varOfficialName"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="$varDataSourceId"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:hostedBy&gt;
+         &lt;oaf:collectedFrom&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="$varOfficialName"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="$varDataSourceId"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:collectedFrom&gt;
+                                  &lt;/metadata&gt;
+                                &lt;xsl:copy-of select="//*[local-name() = 'about']" /&gt;
+                              &lt;/record&gt;
+
+                        &lt;/xsl:template&gt;
+
+         &lt;xsl:template name="allElements"&gt;
+             &lt;xsl:param name="sourceElement"/&gt;
+             &lt;xsl:param name="targetElement"/&gt;
+             &lt;xsl:for-each select="$sourceElement"&gt;
+                &lt;xsl:element name="{$targetElement}"&gt;
+                    &lt;xsl:value-of select="normalize-space(.)"/&gt;
+                &lt;/xsl:element&gt;
+             &lt;/xsl:for-each&gt;
+          &lt;/xsl:template&gt;
+
+          &lt;xsl:template name="journal"&gt;
+             &lt;xsl:param name="journalTitle"/&gt;
+             &lt;xsl:param name="issn"/&gt;
+             &lt;xsl:param name="eissn"/&gt;
+             &lt;xsl:param name="vol"/&gt;
+             &lt;xsl:param name="issue"/&gt;
+             &lt;xsl:param name="sp"/&gt;
+             &lt;xsl:param name="ep"/&gt;
+                &lt;xsl:element name="oaf:journal"&gt;
+                    &lt;xsl:attribute name="issn"&gt;
+                    &lt;xsl:value-of select="normalize-space($issn)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:attribute name="eissn"&gt;
+                    &lt;xsl:value-of select="normalize-space($eissn)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:attribute name="vol"&gt;
+                    &lt;xsl:value-of select="normalize-space($vol)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:attribute name="iss"&gt;
+                    &lt;xsl:value-of select="normalize-space($issue)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:attribute name="sp"&gt;
+                    &lt;xsl:value-of select="normalize-space($sp)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:attribute name="ep"&gt;
+                    &lt;xsl:value-of select="normalize-space($ep)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:value-of select="normalize-space($journalTitle)"/&gt;
+                &lt;/xsl:element&gt;
+          &lt;/xsl:template&gt;
+
+
+          &lt;xsl:template name="identifiers"&gt;
+             &lt;xsl:param name="sourceElement"/&gt;
+                &lt;xsl:element name="oaf:identifier"&gt;
+                         &lt;xsl:attribute name="identifierType"&gt;
+                               &lt;xsl:text&gt;doi&lt;/xsl:text&gt;
+                         &lt;/xsl:attribute&gt;
+                         &lt;xsl:value-of select="$sourceElement[@pub-id-type='doi']"/&gt;
+                &lt;/xsl:element&gt;
+                &lt;xsl:element name="oaf:identifier"&gt;
+                         &lt;xsl:attribute name="identifierType"&gt;
+                               &lt;xsl:text&gt;pmc&lt;/xsl:text&gt;
+                         &lt;/xsl:attribute&gt;
+                         &lt;xsl:value-of select="$sourceElement[@pub-id-type='pmcid']"/&gt;
+                &lt;/xsl:element&gt;
+                &lt;xsl:element name="oaf:identifier"&gt;
+                         &lt;xsl:attribute name="identifierType"&gt;
+                               &lt;xsl:text&gt;pmid&lt;/xsl:text&gt;
+                         &lt;/xsl:attribute&gt;
+                         &lt;xsl:value-of select="$sourceElement[@pub-id-type='pmid']"/&gt;
+                &lt;/xsl:element&gt;
+          &lt;/xsl:template&gt;
+
+          &lt;xsl:template name="authors"&gt;
+             &lt;xsl:param name="sourceElement"/&gt;
+             &lt;xsl:for-each select="$sourceElement"&gt;
+                &lt;xsl:element name="dc:creator"&gt;
+                    &lt;xsl:if test="./*[local-name()='contrib-id'][@contrib-id-type='orcid']"&gt;
+                         &lt;xsl:attribute name="nameIdentifierScheme"&gt;
+                             &lt;xsl:text&gt;ORCID&lt;/xsl:text&gt;
+                         &lt;/xsl:attribute&gt;
+                         &lt;xsl:attribute name="schemeURI"&gt;
+                             &lt;xsl:text&gt;http://orcid.org/&lt;/xsl:text&gt;
+                         &lt;/xsl:attribute&gt; 
+                         &lt;xsl:attribute name="nameIdentifier"&gt;
+                             &lt;xsl:value-of select="substring-after(./*[local-name()='contrib-id'][@contrib-id-type='orcid'], 'http://orcid.org/')"/&gt;
+                         &lt;/xsl:attribute&gt; 
+                    &lt;/xsl:if&gt;
+                    &lt;xsl:value-of select="concat(normalize-space(./*[local-name()='name']/*[local-name()='surname']), ', ', normalize-space(./*[local-name()='name']/*[local-name()='given-names']))"/&gt;
+                &lt;/xsl:element&gt;
+             &lt;/xsl:for-each&gt;              
+          &lt;/xsl:template&gt;
+
+
+
+                       &lt;xsl:template match="//*[local-name() = 'header']"&gt;
+&lt;xsl:copy&gt;
+     &lt;xsl:apply-templates  select="node()|@*"/&gt;
+                             &lt;xsl:element name="dr:dateOfTransformation"&gt;
+                                 &lt;xsl:value-of select="$transDate"/&gt;
+                             &lt;/xsl:element&gt;
+  &lt;/xsl:copy&gt;
+                        &lt;/xsl:template&gt;
+
+
+                       &lt;xsl:template match="node()|@*"&gt;
+                            &lt;xsl:copy&gt;
+                                 &lt;xsl:apply-templates select="node()|@*"/&gt;
+                            &lt;/xsl:copy&gt;
+                       &lt;/xsl:template&gt;
+                    &lt;/xsl:stylesheet&gt;</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_tropmed.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_tropmed.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_tropmed.xml	(revision 51225)
@@ -0,0 +1,80 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="75b06691-81d5-47c4-9626-bf1dd5b21122_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_tropmed</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_tropmed";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http://hdl.handle.net/10390/')" dc:identifier = xpath:"concat('http://dspace.itg.be/handle/10390/', substring-after(normalize-space(.), 'http://hdl.handle.net/10390/'))"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pmc.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pmc.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pmc.xml	(revision 51225)
@@ -0,0 +1,94 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="e63b5bd2-6a52-4a39-ada9-ed4b3f073176_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_pmc</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_pmc";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+// $varPmc = Convert(xpath:"substring-after(//dc:identifier, '=')", PMC);
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = Convert(xpath:".", Person); else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+//$varUrl = xpath:"concat('http://europepmc.org/articles/', $varPmc)";
+//if xpath:"string-length($varPmc) &gt; 0" dc:identifier = $varUrl; else dc:identifier = xpath:"//dc:identifier";
+//if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+//apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+//apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+//if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varDOI = RegExpr(xpath:"//dc:identifier[starts-with(., 'doi:')]", $var0, "s/^(.*doi: )//gmi");
+$varPMC = RegExpr(xpath:"//dc:identifier[starts-with(., 'PMC:')]", $var0, "s/^(.*PMC: )//gmi");
+$varPMID = RegExpr(xpath:"//dc:identifier[starts-with(., 'PMID:')]", $var0, "s/^(.*PMID: )//gmi");
+$varIND = RegExpr(xpath:"//dc:identifier[starts-with(., 'IND:')]", $var0, "s/^(.*IND: )//gmi");
+oaf:identifier = set($varPMC, @identifierType = "pmc";);
+oaf:identifier = set($varDOI, @identifierType = "doi";);
+oaf:identifier = set($varPMID, @identifierType = "pmid";);
+oaf:identifier = set($varIND, @identifierType = "ind";);
+//oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2hbase.xml	(revision 51225)
@@ -0,0 +1,198 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a8258f53-3cc0-4353-879f-699883fd1d0c_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType" />
+		<RESOURCE_KIND value="TransformationRuleDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+        <CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dmf" layout="store" interpretation="cleaned" />
+			<SINK_METADATA_FORMAT name="dngf_hbase" />
+            <IMPORTED/>
+            <SCRIPT>
+	            <TITLE>xslt_mapping_dmf2hbase</TITLE>
+                <CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dnet="eu.dnetlib.data.transform.xml.OdfToHbaseXsltFunctions"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr" xmlns:exslt="http://exslt.org/common"
+                version="1.0" extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl oaf dr dri dnet exslt">
+
+    <xsl:output omit-xml-declaration="yes" indent="yes"/>
+    <xsl:template match="/*">
+        <xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+        <xsl:variable name="dateOfCollection" select="concat('', //dri:dateOfCollection)"/>
+        <xsl:variable name="dateoftransformation" select="concat('', //dr:dateOfTransformation)"/>
+
+        <xsl:variable name="trust" select="string('0.9')"/>
+        <xsl:variable name="provenance" select="string('sysimport:crosswalk:datasetarchive')"/>
+
+        <xsl:variable name="metadata"
+                      select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+        <xsl:variable name="namespaceprefix">
+            <xsl:choose>
+                <!-- TODO check namespaceprefix length is 12 -->
+                <xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+	                <xsl:value-of select="//oaf:datasourceprefix"/>
+                </xsl:when>
+                <xsl:otherwise>
+	                <xsl:value-of select="unknown_____"/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:variable>
+
+        <xsl:choose>
+            <xsl:when test="count($metadata) = 0 or normalize-space(//oaf:skipRecord)= 'true'">
+                <ROWS/>
+            </xsl:when>
+            <xsl:otherwise>
+
+                <xsl:variable name="datasetId"
+                              select="dnet:oafSimpleId('dataset', //dri:objIdentifier)"/>
+
+                <xsl:if test="string-length($datasetId) &gt; 0">
+	                <xsl:variable name="originalids"
+	                              select="//*[local-name() = 'resource']/*[local-name()='identifier'] | //*[local-name() = 'resource']//*[local-name()='alternateIdentifier']"/>
+	                <xsl:variable name="creators" select="//*[local-name() = 'creator']"/>
+	                <xsl:variable name="titles" select="//*[local-name() = 'title']"/>
+	                <xsl:variable name="subjects" select="//*[local-name() = 'subject']"/>
+	                <xsl:variable name="publisher" select="//*[local-name() = 'publisher']"/>
+	                <xsl:variable name="descriptions" select="//*[local-name() = 'description']"/>
+	                <xsl:variable name="dates" select="//*[local-name() = 'date']"/>
+	                <xsl:variable name="dateaccepted" select="//oaf:dateAccepted"/>
+	                <xsl:variable name="resourceType" select="//*[local-name() = 'resourceType']"/>
+	                <xsl:variable name="formats" select="//*[local-name() = 'format']"/>
+	                <xsl:variable name="sizes" select="//*[local-name() = 'size']"/>
+	                <xsl:variable name="rights" select="//oaf:accessrights"/>
+	                <xsl:variable name="version" select="//*[local-name() = 'version']"/>
+	                <xsl:variable name="language" select="//oaf:language"/>
+	                <xsl:variable name="cobjcategory" select="//dr:CobjCategory"/>
+	                <xsl:variable name="contributor" select="//*[local-name() = 'contributor']/*[local-name() = 'contributorName']"/>
+
+	                <xsl:variable name="instanceURI">
+		                <xsl:choose>
+			                <xsl:when test="string-length( //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='DOI']) &gt; 0">
+				                <xsl:value-of select="concat('http://dx.doi.org','/', //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='DOI']/text())"/>
+			                </xsl:when>
+			                <xsl:otherwise>
+				                <xsl:choose>
+					                <xsl:when test="string-length( //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='URL']) &gt; 0">
+						                <xsl:value-of select="concat('', //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='URL'])"/>
+					                </xsl:when>
+					                <xsl:otherwise>
+						                <xsl:value-of select="concat('', //*[local-name() = 'resource']//*[local-name()='alternateIdentifier' and ./@alternateIdentifierType='URL'])"/>
+					                </xsl:otherwise>
+				                </xsl:choose>
+			                </xsl:otherwise>
+		                </xsl:choose>
+	                </xsl:variable>
+
+	                <xsl:variable name="hostedbyid"
+	                              select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+	                <xsl:variable name="hostedbyname" select="concat('', //oaf:hostedBy/@name)"/>
+	                <xsl:variable name="collectedfromid"
+	                              select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+	                <xsl:variable name="collectedfromname"
+	                              select="concat('', //oaf:collectedFrom/@name)"/>
+	                <xsl:variable name="pids"
+	                              select="//*[local-name() = 'resource']//*[local-name()='identifier'or local-name()='alternateIdentifier']"/>
+	                <ROWS>
+		                <ROW>
+			                <xsl:attribute name="value">
+				                <xsl:value-of select="dnet:odfDataset($datasetId, $about, $metadata, $titles, $subjects, $publisher, $descriptions,
+                            $dates, $dateaccepted, $resourceType, $formats, $sizes, $language, $cobjcategory, $contributor, $rights,
+                            $version, $pids, $provenance, $trust, $hostedbyid, $hostedbyname, $collectedfromid,
+                            $collectedfromname, $originalids, $instanceURI, $dateOfCollection, $dateoftransformation)"/>
+			                </xsl:attribute>
+		                </ROW>
+		                <xsl:for-each select="//*[local-name() = 'creator']">
+
+			                <xsl:variable name="personIdTemp">
+				                <xsl:choose>
+					                <xsl:when test="string-length(./*[local-name() = 'nameIdentifier']) &gt; 0">
+						                <xsl:value-of
+								                select="translate(normalize-space(./*[local-name() = 'nameIdentifier']),' .,','___')"/>
+					                </xsl:when>
+					                <xsl:otherwise>
+						                <xsl:value-of select="translate(normalize-space(./*[local-name() = 'creatorName']),' .,','___')"/>
+					                </xsl:otherwise>
+				                </xsl:choose>
+			                </xsl:variable>
+
+			                <xsl:variable name="personId" select="dnet:oafId('person', $namespaceprefix, normalize-space($personIdTemp))"/>
+			                <xsl:variable name="originalPersonId" select="./*[local-name() = 'nameIdentifier']"/>
+			                <xsl:if test="string-length($personId) &gt; 0">
+				                <xsl:variable name="position" select="position()"/>
+
+				                <ROW key="{$personId}" columnFamily="person">
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:person($personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname,
+				                              $originalPersonId, $dateOfCollection, $dateoftransformation, normalize-space(./*[local-name() = 'creatorName']),
+				                              ./*[local-name() = 'nameIdentifier'], ./*[local-name() = 'nameIdentifier']/@nameIdentifierScheme)"/>
+					                </xsl:attribute>
+				                </ROW>
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:authorship($personId, $datasetId, $position, 'isAuthorOf', 'person_dataset', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:authorship($datasetId, $personId, $position, 'hasAuthor', 'person_dataset', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+			                </xsl:if>
+		                </xsl:for-each>
+
+		                <xsl:for-each select="//*[local-name()='projectid']">
+
+			                <xsl:variable name="projectId" select="dnet:oafSplitId('project', normalize-space(.))"/>
+			                <xsl:if test="string-length($projectId) &gt; 0">
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:rel($datasetId, $projectId, 'isProducedBy', 'dataset_project', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:rel($projectId, $datasetId, 'produces', 'dataset_project', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+			                </xsl:if>
+		                </xsl:for-each>
+
+		                <xsl:for-each
+				                select="//*[local-name()='relatedIdentifier' and ./@relatedIdentifierType='OPENAIRE' and ./@relationType='IsPartOf']">
+
+			                <!-- relatedDataset ids must be in the openaire format  -->
+			                <xsl:variable name="targetId" select="dnet:oafSimpleId('dataset', normalize-space(.))"/>
+			                <xsl:if test="string-length($targetId) &gt; 0">
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:rel($datasetId, $targetId, 'isPartOf', 'dataset_dataset', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:rel($targetId, $datasetId, 'hasPart', 'dataset_dataset', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+			                </xsl:if>
+		                </xsl:for-each>
+	                </ROWS>
+                </xsl:if>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+</xsl:stylesheet>
+	</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+		<STATUS />
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/nlm2oaf_cleaning_OPENAIREplus.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/nlm2oaf_cleaning_OPENAIREplus.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/nlm2oaf_cleaning_OPENAIREplus.xml	(revision 51225)
@@ -0,0 +1,68 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="8c64ef19-449e-45fd-a70b-1af37b9cd10b_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-06-19T15:27:44+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>nlm2oaf_cleaning_OPENAIREplus</TITLE>
+                <CODE>declare_script "nlm2oaf_cleaning_OpenAIREplus";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = xpath:"//dri:recordIdentifier";
+apply xpath:"//article-meta//contrib[@contrib-type='author']/name" if xpath:"true()" dc:creator =  xpath:"concat(./surname, ', ', ./given-names)"; else $varDummy = "''";
+dc:title = xpath:"//article-meta/title-group/article-title";
+apply xpath:"//article-meta//subj-group[@subj-group-type='heading']" if xpath:"true()" dc:subject = xpath:"normalize-space(./subject)"; else $varDummy = "''";
+apply xpath:"//article-meta/kwd-group/kwd" if xpath:"true()" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:publisher = xpath:"normalize-space(//journal-meta/publisher/publisher-name)";
+dc:description = xpath:"//article-meta/abstract";
+$varDoi = xpath:"//article-meta/article-id[@pub-id-type='doi']";
+dc:identifier = xpath:"concat('http://dx.doi.org/', $varDoi)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+//dc:language = Convert(xpath:"//dc:language", Languages);
+dc:language = "eng";
+$varDateEpub = xpath:"//article-meta/pub-date[@pub-type='epub']";
+oaf:dateAccepted = xpath:"concat($varDateEpub/year, '-', $varDateEpub/month, '-', $varDateEpub/day)";
+//
+//oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+dr:CobjCategory = "0001";
+oaf:accessrights = "OPEN";
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+oaf:identifier = set($varDoi, @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+$varJournal = xpath:"//journal-meta/journal-title";
+$varEissn = xpath:"//journal-meta/issn[@pub-type='epub']";
+$varVolume = xpath:"//article-meta/volume";
+//$varStartPage = xpath:"//amf:serial/amf:startpage";
+//$varEndPage = xpath:"//amf:serial/amf:endpage";
+//$varIssue = xpath:"//amf:serial/amf:issue";
+// $varIssue = "";
+// oaf:journal = set($varJournal, @vol = $varVolume;, @iss =$varIssue;, @sp= $varStartPage;, @ep= $varEndPage;, @issn = xpath:"./@issn";, @eissn = xpath:"./@eissn";);
+oaf:journal = set($varJournal, @vol = $varVolume;, @issn = $varEissn;, @eissn = $varEissn;);
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datacite_rules.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datacite_rules.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datacite_rules.xml	(revision 51225)
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="754faf14-fe72-46b3-a219-e0423f8bb732_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-01-08T23:27:01+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_cleaning_datacite</TITLE>
+                <CODE><![CDATA[
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
+ 		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+        	xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                extension-element-prefixes="TransformationFunction"
+                exclude-result-prefixes="TransformationFunction">
+
+  <xsl:param name="varOfficialName" />
+  <xsl:param name="varDsType" />
+  <xsl:param name="varDataSourceId" />
+  <xsl:param name="varCorda" select="'corda_______::'"/>
+  <xsl:param name="varHostedByOfficialName" select="'Unknown Repository'"/>
+  <xsl:param name="varHostedByDataSourceId" select="'openaire____::1256f046-bf1f-4afc-8b47-d0b147148b18'"/>
+
+  <xsl:param name="index" select="0"/>
+  <xsl:variable name="tf" select="TransformationFunction:getInstance()"/>
+
+
+  <xsl:template match="/">
+    <xsl:variable name="datasourcePrefix"
+             select="normalize-space(//oaf:datasourceprefix)" />
+    <xsl:call-template name="validRecord" />
+  </xsl:template>
+
+
+  <xsl:template name="validRecord">
+    <record>
+      <xsl:copy-of select="//*[local-name() = 'header']" />
+
+      <metadata>
+        <xsl:copy-of select="//*[local-name() = 'metadata']/*[local-name() = 'resource']" />
+
+         <xsl:if test="//*[local-name()='date']/@dateType='Available'">
+            <xsl:variable name='varEmbargoEndDate' 
+                select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='date'][@dateType='Available']), 'DateISO8601')"/>
+            <xsl:choose>
+              <xsl:when test="string-length($varEmbargoEndDate) > 0">
+                <oaf:embargoenddate>
+                  <xsl:value-of select="$varEmbargoEndDate"/>
+                </oaf:embargoenddate>
+              </xsl:when>
+              <xsl:otherwise>
+               <oaf:skip>
+                 <xsl:value-of select="TransformationFunction:skipRecord($tf, $index)"/>
+               </oaf:skip>
+              </xsl:otherwise>
+            </xsl:choose>
+         </xsl:if>
+
+         <xsl:choose>
+           <xsl:when test="//*[local-name()='resourceType']/@resourceTypeGeneral='Dataset'">
+
+             <dr:CobjCategory>
+               <xsl:value-of 
+                     select="TransformationFunction:convertString($tf, //*[local-name()='resourceType']/@resourceTypeGeneral, 'TextTypologies')" />
+             </dr:CobjCategory>
+           </xsl:when>
+           <xsl:otherwise>
+               <oaf:skip>
+                 <xsl:value-of select="TransformationFunction:skipRecord($tf, $index)"/>
+               </oaf:skip>
+           </xsl:otherwise>
+         </xsl:choose>
+
+         <oaf:dateAccepted>
+               <xsl:value-of select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='publicationYear']), 'DateISO8601')"/>           
+         </oaf:dateAccepted>
+         <xsl:choose>
+
+          <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+<!--          <xsl:when test="//*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+-->
+          <xsl:otherwise>
+          <xsl:choose>
+           <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'http://creativecommons.org') or starts-with(normalize-space(.), 'Creative Commons')]">
+              <oaf:accessrights>
+                 <xsl:text>OPEN</xsl:text>
+              </oaf:accessrights>
+            </xsl:when>
+            <xsl:when test="//*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'http://creativecommons.org')]">
+             <oaf:accessrights>
+                 <xsl:text>OPEN</xsl:text>
+             </oaf:accessrights>
+            </xsl:when>
+            <xsl:otherwise>
+              <oaf:accessrights>
+                 <xsl:text>CLOSED</xsl:text>
+              </oaf:accessrights>
+            </xsl:otherwise> 
+          </xsl:choose>
+         </xsl:otherwise>
+        </xsl:choose>
+
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+
+<!--
+    <xsl:if test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics/embargoedAccess')]">
+        <oaf:embargoenddate>
+          <xsl:value-of select="//*[local-name()='date']/@dateType='Available'"/>
+        </oaf:embargoenddate>
+    </xsl:if>
+-->
+
+         <xsl:for-each select="//*[local-name()='nameIdentifier']">
+            <xsl:if test="string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6">
+                <oaf:projectid>
+                    <xsl:value-of select="TransformationFunction:regExpr($tf, normalize-space(.), $varCorda, 's/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gm')"/>
+                </oaf:projectid>
+            </xsl:if>
+         </xsl:for-each>
+
+         <oaf:hostedBy>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varHostedByOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varHostedByDataSourceId"/>
+            </xsl:attribute>
+         </oaf:hostedBy>
+         <oaf:collectedFrom>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varDataSourceId"/>
+            </xsl:attribute>
+         </oaf:collectedFrom>
+      </metadata>
+      <xsl:copy-of select="//*[local-name() = 'about']" />
+   </record>
+  </xsl:template>
+<!--
+  <xsl:template match="//*[local-name()='language']">
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+  </xsl:template>
+-->
+</xsl:stylesheet>
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2ActionsJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2ActionsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2ActionsJob.xml	(revision 51225)
@@ -0,0 +1,64 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5c4b4dbf-8198-4f7a-9a35-367c7b0a7391_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupSimilarity2ActionsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that scans a given entity type and creates the similarRel graph</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupSimilarityToActionsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="dedup.conf" required="true" description="dedup configuration" />
+        		<PARAM name="rawSetId" required="true" description="raw set identifier" />
+        		<PARAM name="similarityCF" required="true" description="similarity column family name" />      			
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+           			<FAMILY value="resultResult_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />        			
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportJob.xml	(revision 51225)
@@ -0,0 +1,46 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5cd115e7-9650-4263-9c0d-a3fbf6d9549d_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="mdStoreHdfsImportJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that maps xml metada records from a sequence file into an hbase table</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+				
+				<!-- MAPPER -->        	
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataimport.ImportRecordsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+			
+				<!-- MISC -->
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+				
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="mapred.input.dir" required="true" description="input sequence file" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.import.xslt" required="true" description="mapping" />
+        	</JOB_INTERFACE>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_relation.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_relation.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_relation.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c0fb3b80-8466-466c-89b1-a5d1e3d60910_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_dc_relation</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_dc_relation";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+//preprocess p1 = dblookup("select id, officialname, accessinfopackage from datasources where accessinfopackage is not null");
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:relation[starts-with(., 'http')]" $varHttpTest = "true"; else dc:relation = skipRecord();
+apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:identifier" if xpath:"string-length(.) > 0" dr:CobjIdentifier = xpath:"normalize-space(.)"; else $varDummy = "''";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+if xpath:"count(//dc:language) > 0" dc:language = Convert(xpath:"//dc:language", Languages); else dc:language = "eng";
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsPersonExportJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsPersonExportJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsPersonExportJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4c63a9ab-057f-442c-8da2-9b956c41e645_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupRootsPersonExportJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that exports the representative publications as json</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.RootPersonExportMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+			
+			
+				<!-- MISC -->
+
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+
+				<PROPERTY key="dfs.blocksize" value="256M" />
+			
+				<PROPERTY key="mapred.reduce.tasks" value="1" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+	       			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_lpInIdentifier_ftInRelationFirst.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_lpInIdentifier_ftInRelationFirst.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_lpInIdentifier_ftInRelationFirst.xml	(revision 51225)
@@ -0,0 +1,79 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="610ea7e1-751c-48ef-a958-1cfdb803565e_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-29T14:37:31+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_lpInIdentifier_ftInRelationFirst</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_lpInIdentifier_ftInRelationFirst";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+dc:rights = xpath:"//dc:rights";
+dc:type = xpath:"//dc:type";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+oaf:fulltext = xpath:"normalize-space(//dc:relation[starts-with(., 'http') and ends-with(normalize-space(.), '.pdf')][1])";
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupPersonJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupPersonJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupPersonJob.xml	(revision 51225)
@@ -0,0 +1,62 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="29638605-235b-4cc1-9bf5-a5dd2fc84915_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupPersonJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that scans a given entity type and creates the similarRel graph</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT  -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.SimpleDedupPersonMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.SimpleDedupPersonReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Writable" />				
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="1000" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nemertes.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nemertes.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nemertes.xml	(revision 51225)
@@ -0,0 +1,85 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a02ac18a-c8a4-483f-8934-5ab3f5776bf7_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-12-07T12:51:19+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_nemertes</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_nemertes";
+// nemertes specific rulescript to fix url in dc:identifier
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+//$varHttpIdentifier = xpath:"//dc:identifier[starts-with(., 'http')][1]";
+apply xpath:"//dc:identifier"  if xpath:"contains(.,'dspace/handle/123456789')" dc:identifier = xpath:"concat('http://hdl.handle.net/10889/', substring-after(., '123456789/'))"; else varDummy = "''";
+// dc:identifier = xpath:"normalize-space(.)";
+apply xpath:"//dc:identifier[not(contains(.,'dspace/handle/123456789'))]"  if xpath:"starts-with(.,'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+// apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" $varDummy = "''"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/oaiFeedJob.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/oaiFeedJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/oaiFeedJob.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="03d7af20-63bb-4790-a052-6cdbc1e05fce_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-02-09T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="oaiFeedJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that feeds the OAI store</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.NullOutputFormat" />	
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.oai.OaiFeedMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.NullWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.NullWritable" />				
+				
+				<!-- JOB GLOBAL -->		
+<!--                 <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.NullWritable" /> -->
+<!--                 <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.NullWritable"/> -->
+				
+				<!-- MISC -->					
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+				<!--  	Uncomment to override the default lib path -->			
+				<PROPERTY key="job.lib" value="/user/dnet/lib/dnet-mapreduce-jobs-assembly-0.0.6.3-SNAPSHOT.jar"/> 
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs" />
+				<PARAM name="services.publisher.oai.collection" required="true" description="target mongodb collection" />
+				<PARAM name="oaiConfiguration" required="true" description="configuration bean used to guide the OAI feeding" />
+				<PARAM name="oai.feed.date" required="true" description="timestamp" />				
+				<PARAM name="services.publisher.oai.host" required="true" description="mongodb host" />
+				<PARAM name="services.publisher.oai.port" required="true" description="mongodb port" />
+				<PARAM name="services.publisher.oai.db" required="true" description="mongodb database name" />	
+				<PARAM name="services.publisher.oai.skipDuplicates" required="true" description="skip duplicated records." />	
+				<PARAM name="services.publisher.oai.duplicateXPath" required="true" description="records with this xpath are identified as duplicates" />																
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_skipTestRecords.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_skipTestRecords.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_skipTestRecords.xml	(revision 51225)
@@ -0,0 +1,80 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="e9a05808-f08a-4f75-9c22-b4f1d7b54f95_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_skipTestRecords</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_skipTestRecords";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:relation[starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/12345')]" dc:relation = skipRecord(); else $varDummy = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteSingleActionSet.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteSingleActionSet.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteSingleActionSet.xml	(revision 51225)
@@ -0,0 +1,52 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="54ee1986-50a3-4e5b-a0d3-b411b12c7329_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="promoteSingleActionSetJob" type="mapreduce">
+			<DESCRIPTION>map only job that imports the inference actions in the main hbase table</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.actions2.PromoteSingleActionSetMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+
+				<PROPERTY key="mapred.output.compress" value="true"/>
+				<PROPERTY key="mapred.output.compression.type" value="BLOCK"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="0"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!-- <PROPERTY key="job.lib" value="/lib/dnet/snapshots/dnet-mapreduce-jobs-assembly-0.0.8.5-SNAPSHOT-exportIds.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs"/>
+				<PARAM name="hbase.mapred.outputtable" required="true" description="source hbase table"/>
+			</JOB_INTERFACE>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_dataset_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_dataset_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_dataset_relations.xml	(revision 51225)
@@ -0,0 +1,140 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="4d7f3ae0-0aa1-4e50-9599-0349bb3179f7_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="publication_dataset">dnet:publication_dataset_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Publications and Dataset entities
+            </ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isRelatedTo" encoding="publication_dataset_isRelatedTo" english_name="is related to"
+                      native_name="is related to">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isRelatedTo"/>
+                    </RELATIONS>
+                </TERM>
+
+                <TERM code="isReferencedBy" encoding="publication_dataset_isReferencedBy"
+                      english_name="is referenced by"
+                      native_name="is referenced by">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="references"/>
+                    </RELATIONS>
+                </TERM>
+
+                <TERM code="references" encoding="publication_dataset_references" english_name="references"
+                      native_name="references">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isReferencedBy"/>
+                    </RELATIONS>
+                </TERM>
+
+                <TERM code="unknown" encoding="publication_dataset_unknown" english_name="unknown"
+                      native_name="references">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="unknown"/>
+                    </RELATIONS>
+                </TERM>
+
+
+	            <TERM code="isSupplementTo" encoding="publication_dataset_isSupplementTo" english_name="is supplement to" native_name="is supplement to">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isSupplementedBy"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isSupplementedBy" encoding="publication_dataset_isSupplementedBy" english_name="is supplemented by" native_name="is supplemented by">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isSupplementTo"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isDerivedFrom" encoding="publication_dataset_isDerivedFrom" english_name="is derived from" native_name="is derived from">
+		            <SYNONYMS/>
+		            <RELATIONS>
+                        <RELATION type="inverseOf" code="isSourceOf"/>
+		            </RELATIONS>
+	            </TERM>
+
+                <TERM code="isSourceOf" encoding="publication_dataset_cites" english_name="is Source Of"
+                      native_name="is Source Of">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isDerivedFrom"/>
+                    </RELATIONS>
+                </TERM>
+
+	            <TERM code="isPreviousVersionOf" encoding="publication_dataset_isPreviousVersionOf" english_name="is Previous Version Of"
+	                  native_name="is Previous Version Of">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isNewVersionOf"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isNewVersionOf" encoding="publication_dataset_isNewVersionOf" english_name="is New Version Of"
+	                  native_name="is New Version Of">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isPreviousVersionOf"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isDocumentedBy" encoding="publication_dataset_isDocumentedBy" english_name="is documented by" native_name="is documented by">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="documents"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="documents" encoding="publication_dataset_documents" english_name="documents" native_name="documents">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isDocumentedBy"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isVariantFormOf" encoding="publication_dataset_isVariantFormOf" english_name="is variant form of" native_name="is variant form of">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isVariantFormOf"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="cites" encoding="publication_dataset_cites" english_name="cites"
+	                  native_name="cites">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isCitedBy"/>
+		            </RELATIONS>
+	            </TERM>
+
+
+                <TERM code="isCitedBy" encoding="publication_dataset_isCitedBy" english_name="is Cited By"
+	                  native_name="is Cited By">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="cites"/>
+		            </RELATIONS>
+	            </TERM>
+
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_source.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_source.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_source.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="0c46760d-4787-4b56-87a7-ab91983b7494_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_dc_source</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_dc_source";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"not(starts-with(normalize-space(.), 'http'))" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:source[starts-with(., 'http')]" $varHttpTest = "true"; else dc:source = skipRecord();
+dc:identifier = xpath:"//dc:source[starts-with(normalize-space(.), 'http')]";
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_scientificreports.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_scientificreports.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_scientificreports.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="93547998-a573-4f8a-bce3-a8f9cb32acbd_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-12-11T10:51:43+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_scientificreports</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_scientificreports";
+// make DOIs to URLs
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'doi:')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'doi:')" dc:identifier = xpath:"concat('http://dx.doi.org/', substring-after(normalize-space(.), 'doi:'))"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/project_organization_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/project_organization_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/project_organization_relations.xml	(revision 51225)
@@ -0,0 +1,35 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="1e6c3a21-7551-4366-affd-295425b12958_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="project_organization">dnet:project_organization_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Project and Organization entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isParticipant" encoding="project_organization_isParticipant" english_name="is participant"
+                      native_name="is participant">
+                    <SYNONYMS/>
+                   	<RELATIONS>
+						<RELATION type="inverseOf" code="hasParticipant"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="hasParticipant" encoding="project_organization_hasParticipant"
+                      english_name="has participant" native_name="has participant">
+                    <SYNONYMS/>
+                   	<RELATIONS>
+						<RELATION type="inverseOf" code="isParticipant"/>
+					</RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_milano.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_milano.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_milano.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c190a6a3-83dd-43a8-b9b2-f4db6a72beca_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_milano</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_milano";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics/closedAccess')] and not(//dc:relation[starts-with(normalize-space(.), 'info:eu-repo/grantAgreement')])" dc:relation = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_project_relations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_project_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_project_relations.xml	(revision 51225)
@@ -0,0 +1,35 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="57e16235-b6c1-4a40-b5be-3e84acb2ff48_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="person_project">dnet:person_project_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Person and Project entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isContact" encoding="person_project_isContact" english_name="is contact"
+                      native_name="is contact">
+                    <SYNONYMS/>
+         			<RELATIONS>
+						<RELATION type="inverseOf" code="hasContact"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="hasContact" encoding="person_project_hasContact" english_name="has contact"
+                      native_name="has contact">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isContact"/>
+					</RELATIONS>                    
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/919cd504-6a4b-4de1-a33c-ad26ece21350.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/919cd504-6a4b-4de1-a33c-ad26ece21350.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/919cd504-6a4b-4de1-a33c-ad26ece21350.xml	(revision 51225)
@@ -0,0 +1,53 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="919cd504-6a4b-4de1-a33c-ad26ece21350_TURGb3JtYXREU1Jlc291cmNlcy9NREZvcm1hdERTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="MDFormatDSResourceType"/>
+        <RESOURCE_KIND value="MDFormatDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2008-05-22T14:40:04+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <NAME>OPENAIRE</NAME>
+            <DESCRIPTION>Openaire Metadata Format</DESCRIPTION>
+            <INTERPRETATION>dedup</INTERPRETATION>
+            <SCHEMA uri=""/>
+        </CONFIGURATION>
+        <STATUS>
+            <LAYOUTS>
+                <LAYOUT name="index">
+                    <FIELDS>
+                        <!-- COMMON FIELDS -->
+                        <FIELD name="oaftype" path="entity/type" tokenizable="false" indexable="true" stat="false" result="false"/>
+                        <FIELD name="objIdentifier" path="entity/id" tokenizable="false" indexable="true" stat="false" result="false"/>
+                        <FIELD name="collectedfrom" path="entity/collectedfrom/value" tokenizable="false" indexable="true" result="false" stat="false" />
+                        <FIELD name="pid" path="entity/pid/value" tokenizable="false" stat="false" result="false" indexable="true"/>
+                        <FIELD name="deletedbyinference" path="dataInfo/deletedbyinference" tokenizable="false" stat="false" result="false" indexable="true"/>
+                       	<FIELD name="inferred" path="dataInfo/inferred" tokenizable="false" stat="false" result="false" indexable="true"/>                 
+						<FIELD name="actionset" indexable="true" stat="false" tokenizable="false" result="false"/>
+
+                        <!-- ORGANIZATION FIELDS -->
+                        <FIELD name="organizationlegalname" path="entity/organization/metadata/legalname/value | entity/children/organization/metadata/legalname/value" type="ngramtext" stat="false" indexable="true" result="false"/>
+                        <FIELD name="organizationlegalshortname" path="entity/organization/metadata/legalshortname/value | entity/children/organization/metadata/legalshortname/value" type="ngramtext" stat="false" indexable="true" result="false"/>
+                        <FIELD name="organizationwebsiteurl" path="entity/organization/metadata/websiteurl/value" stat="false" indexable="true" result="false"/>
+
+                        <!-- PERSON FIELDS -->
+                        <FIELD name="personfirstname" path="entity/person/metadata/firstname/value" stat="false" indexable="true" result="false"/>
+                        <FIELD name="personsecondnames" path="entity/person/metadata/secondnames/value" stat="false" indexable="true" result="false"/>
+                        <FIELD name="personfullname" path="entity/person/metadata/fullname/value" stat="false" indexable="true" result="false"/>
+
+                        <!-- PUBLICATION FIELDS -->
+                        <FIELD indexable="true" name="pubtitle" path="entity/publication/metadata/title/value | entity/children/publication/metadata/title/value" result="false" stat="false"/>
+                        <FIELD indexable="true" name="pubdescription" path="entity/publication/metadata/description/value | entity/children/publication/metadata/description/value" result="false" stat="false"/>
+                        <FIELD indexable="true" name="pubauthor" path="entity/publication/author/metadata/fullname/value | entity/children/publication/author/metadata/fullname/value" result="false" stat="false"/>
+
+                        <!-- DATASET FIELDS -->
+                        <FIELD indexable="true" name="datasettitle" path="entity/dataset/metadata/title/value | entity/children/dataset/metadata/title/value" result="false" stat="false"/>
+                        <FIELD indexable="true" name="datasetdescription" path="entity/dataset/metadata/description/value | entity/children/dataset/metadata/description/value" result="false" stat="false"/>
+                        <FIELD indexable="true" name="datasetauthor" path="entity/dataset/author/metadata/fullname/value | entity/children/dataset/author/metadata/fullname/value" result="false" stat="false"/>
+       	 			</FIELDS>
+                </LAYOUT>
+            </LAYOUTS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/person.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/person.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/person.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="7a975214-9579-4991-9fb9-b25381db29a0_RGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupOrchestrationDSResourceType"/>
+        <RESOURCE_KIND value="DedupOrchestrationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION enabled="false">
+            <DEDUPLICATION>
+                <ENTITY name="person" code="30" label="Person" />
+                <ACTION_SET id="dedup-similarity-person" />
+                <SCAN_SEQUENCE>
+                	<SCAN id="2a81faf4-3412-48e2-a0a5-045636dedfb1_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                </SCAN_SEQUENCE>
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nivel.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nivel.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nivel.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="8836d313-164c-4842-bf8d-d42076dd3b52_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-12-05T08:46:44+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_nivel</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_nivel";
+// nivel specific language handling
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language//*[local-name='text']", Languages);
+//dc:language = Convert(xpath:"//dc:language//*[local-name='text'][language='0']", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dissimilarity_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dissimilarity_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dissimilarity_2_hbase.xml	(revision 51225)
@@ -0,0 +1,63 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a3a05526-a544-4087-b446-a53c22b06159_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_dissimilarity2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="type" select="/ROW/FIELD[@name = 'entitytype']"/>
+		<xsl:variable name="source" select="dnet:oafSimpleId($type, /ROW/FIELD[@name = 'id1'])"/>
+		<xsl:variable name="target" select="dnet:oafSimpleId($type, /ROW/FIELD[@name = 'id2'])"/>
+		<xsl:variable name="isSimilarTo" select="'isSimilarTo'"/>
+		<xsl:variable name="relationType">
+			<xsl:choose>
+				<xsl:when test="$type = 'result'">publication_publication</xsl:when>
+				<xsl:when test="$type = 'person'">person_person</xsl:when>
+				<xsl:when test="$type = 'organization'">organization_organization</xsl:when>
+			</xsl:choose>
+		</xsl:variable>
+
+		<ROWS>
+			<xsl:if test="string-length($source) &gt; 0 and string-length($target) &gt; 0 and string-length($relationType) &gt; 0">
+				<ROW >
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($source, $target, $isSimilarTo, $relationType)"/>
+					</xsl:attribute>
+				</ROW>
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($target, $source, $isSimilarTo, $relationType)"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_kassel.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_kassel.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_kassel.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4a9a5f07-01c1-49c9-ad73-bbbb3807229c_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-30T15:11:52+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_kassel</TITLE>
+                <CODE><![CDATA[
+// reason for deviation from standard rule script: concat('http://nbn-resolving.org/', normalize-space(.))
+declare_script "dc_cleaning_OpenAIREplus_compliant_kassel";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'urn:nbn')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'urn:nbn')" dc:identifier = xpath:"concat('http://nbn-resolving.org/', normalize-space(.))"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/persons_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/persons_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/persons_2_hbase.xml	(revision 51225)
@@ -0,0 +1,53 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="dec9fb5d-c845-4ea3-a8a4-1b8c6b2f2682_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_person2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="originalid" select="//FIELD[@name = 'personid']"/>
+		<xsl:variable name="personid" select="dnet:oafSplitId('person', $originalid)"/>
+		<xsl:variable name="dateofcollection" select="//FIELD[@name = 'dateofcollection']"/>
+		<xsl:variable name="dateoftransformation" select="//FIELD[@name = 'dateoftransformation']"/>
+		<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //FIELD[@name = 'collectedfromid'])"/>
+		<xsl:variable name="collectedfromname" select="//FIELD[@name = 'collectedfromname']"/>
+		<ROWS>
+			<xsl:if test="string-length($personid) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:oafEntity($personid, $collectedfromid, $collectedfromname,
+						$originalid, $dateofcollection, $dateoftransformation, //FIELD[not(@isNull)])"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ubiquitypress.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ubiquitypress.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ubiquitypress.xml	(revision 51225)
@@ -0,0 +1,86 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="b7773110-4beb-45f7-adf1-9cb4037fad58_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-23T09:58:00+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_ubiquitypress</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_ubiquitypress";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+declare_ns oai = "http://www.openarchives.org/OAI/2.0/";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0 and contains(., ';')" dc:creator = xpath:"substring-before(normalize-space(.), ';')"; else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0 and not(contains(., ';'))" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+// apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'http')" oaf:fulltext = xpath:"replace(normalize-space(.),'article/view', 'article/download')"; else $varDummy = "''";
+oaf:fulltext = xpath:"replace(//dc:relation[count(//dc:format[.='application/pdf']/preceding-sibling::dc:format)+1], 'article/view', 'article/download')";
+// oaf:fulltext = xpath:"count(//dc:format[.='application/pdf']/preceding-sibling::dc:format)";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+dc:date = xpath:"//dc:date";
+dc:format = xpath:"//dc:format";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:". and not(//oai:setSpec[.='up:DP']) and not(//oai:setSpec[.='up:SMP'])" dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+if xpath:"//oai:setSpec[.='up:DP']" dr:CobjCategory = "0031"; else $varDummy = "''";
+if xpath:"//oai:setSpec[.='up:SMP']" dr:CobjCategory = "0032"; else $varDummy = "''";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+// oaf:journal = set($varOfficialname, @issn = xpath:"replace(//oaf:datasourceprefix, 'issn', '')";);
+oaf:journal = set($varOfficialname, @issn = xpath:"//dc:source[2]";);
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_ora.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_ora.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_ora.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4a574346-7e18-411e-b28c-15ea03814ee0_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_ora</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_ora";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+//preprocess p1 = dblookup("select id, officialname, accessinfopackage from datasources where accessinfopackage is not null");
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'urn:uuid:')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+$varuuid = RegExpr(xpath:"normalize-space(//dc:identifier[starts-with(., 'urn:uuid:')])", $var0, "s/^(.*urn:uuid:)//gmi");
+$varhostprefix = "'http://ora.ox.ac.uk/objects/uuid:'";
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'urn:uuid:')" dc:identifier = xpath:"concat($varhostprefix,$varuuid)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "RESTRICTED";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OpenAIREplus_compliant_hal.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OpenAIREplus_compliant_hal.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OpenAIREplus_compliant_hal.xml	(revision 51225)
@@ -0,0 +1,76 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ba70f93a-9309-40f5-8988-6018baf2b3e1_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-12-07T11:53:28+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_hal</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_hal";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+declare_ns oai = "http://www.openarchives.org/OAI/2.0/";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:contributor[starts-with(., 'European Project')]" if xpath:"string-length(replace(., '.*(\d{6,6}).*', '$1')) = 6" oaf:projectid = xpath:"concat($var1, replace(., '.*(\d{6,6}).*', '$1'))"; else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description/normalize-space(.)";
+$varHttpTest = "''";
+oaf:fulltext = xpath:"//dc:identifier[ends-with(., 'document')]";
+if xpath:"//dc:identifier[ends-with(., 'document')] or //dc:contributor[starts-with(., 'European Project')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+dc:type = xpath:"//dc:type";
+dc:format = xpath:"//dc:format";
+dc:date = xpath:"//dc:date";
+dc:language = Convert(xpath:"//dc:language", Languages);
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+// apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+if xpath:"//dc:identifier[ends-with(., 'document')]"  oaf:accessrights = "OPEN"; else oaf:accessrights = "CLOSED";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ojs.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ojs.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ojs.xml	(revision 51225)
@@ -0,0 +1,77 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="120c4a4d-48c2-4f70-9acc-335954f1eab2_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-23T19:31:11+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_ojs</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_ojs";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0 and contains(., ';')" dc:creator = xpath:"substring-before(normalize-space(.), ';')"; else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0 and not(contains(., ';'))" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+oaf:journal = set($varOfficialname, @issn = xpath:"replace(substring(//oaf:datasourceprefix, 5), '(\d{4})(\d{4})', '$1-$2')";);
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_od_1222.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_od_1222.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_od_1222.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5d3132a4-e067-4716-9fa3-5e163c85638b_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-05-27T16:13:39+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_od_1222</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_od_1222";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"//dc:type[starts-with(., 'Sound')] or //dc:type[starts-with(., 'Map')]" dc:type = skipRecord(); else $varDummy = "''";
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-researchinitiative.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-researchinitiative.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-researchinitiative.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="2aecb09f-83a7-4882-aea3-6ef37fa0c019_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:05+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-researchinitiative">iis-researchinitiative</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/graph.mdformat.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/graph.mdformat.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/graph.mdformat.xml	(revision 51225)
@@ -0,0 +1,357 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="7786e31f-7fad-45c1-a676-f6e1da9d66ed_TURGb3JtYXREU1Jlc291cmNlcy9NREZvcm1hdERTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="MDFormatDSResourceType"/>
+        <RESOURCE_KIND value="MDFormatDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2008-05-22T14:40:04+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <NAME>DNGF</NAME>
+            <DESCRIPTION>Graph Metadata Format</DESCRIPTION>
+            <INTERPRETATION>openaire</INTERPRETATION>
+            <SCHEMA uri=""/>
+        </CONFIGURATION>
+        <STATUS>
+            <LAYOUTS>
+                <LAYOUT name="index">
+	                <FIELDS>
+		                <FIELD name="oafentity" xpath="//*[local-name() = 'entity']" indexable="false" tokenizable="true" result="true" stat="false"/>
+		                <FIELD name="oaftype" value="local-name(//*[local-name()='entity']/*)" tokenizable="false" result="false" indexable="true"
+		                       stat="false"/>
+		                <FIELD name="objIdentifier" indexable="true" tokenizable="false" xpath="//header/dri:objIdentifier" stat="false" result="false"/>
+
+		                <!-- DATASOURCE FIELDS -->
+		                <FIELD name="datasourceofficialname" xpath="//*[local-name()='entity']/*[local-name()='datasource']/officialname" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="datasourceenglishname" xpath="//*[local-name()='entity']/*[local-name()='datasource']/englishname" stat="false"
+		                       indexable="true" result="false"/>
+
+		                <FIELD name="datasourceoddescription" xpath="//*[local-name()='entity']/*[local-name()='datasource']/oddescription" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="datasourceodsubjects" xpath="//*[local-name()='entity']/*[local-name()='datasource']/odsubjects" stat="false"
+		                       tokenizable="false" indexable="true" result="false"/>
+		                <FIELD name="datasourceodlanguages" xpath="//*[local-name()='entity']/*[local-name()='datasource']/odlanguages" stat="false"
+		                       tokenizable="false" indexable="true" result="false"/>
+		                <FIELD name="datasourceodcontenttypes" xpath="//*[local-name()='entity']/*[local-name()='datasource']/odcontenttypes" stat="false"
+		                       tokenizable="false" indexable="true" result="false"/>
+		                <FIELD name="datasourcetypeuiid" xpath="//*[local-name()='entity']/*[local-name()='datasource']/datasourcetypeui/@classid"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="datasourcecompatibilityid" xpath="//*[local-name()='entity']/*[local-name()='datasource']/openairecompatibility/@classid"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="datasourcecompatibilityname"
+		                       xpath="//*[local-name()='entity']/*[local-name()='datasource']/openairecompatibility/@classname" tokenizable="false" stat="false"
+		                       indexable="true" result="false" multivalued="false"/>
+
+		                <!-- ORGANIZATION FIELDS -->
+		                <FIELD name="organizationlegalshortname" xpath="//*[local-name()='entity']/*[local-name()='organization']/legalshortname"
+		                       type="ngramtext" stat="false" indexable="true" result="false"/>
+		                <FIELD name="organizationlegalname" xpath="//*[local-name()='entity']/*[local-name()='organization']/legalname" type="ngramtext"
+		                       stat="false" indexable="true" result="false"/>
+		                <FIELD name="organizationeclegalbody" xpath="//*[local-name()='entity']/*[local-name()='organization']/eclegalbody" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationeclegalperson" xpath="//*[local-name()='entity']/*[local-name()='organization']/eclegalperson" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationecnonprofit" xpath="//*[local-name()='entity']/*[local-name()='organization']/ecnonprofit" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationecresearchorganization"
+		                       xpath="//*[local-name()='entity']/*[local-name()='organization']/ecresearchorganization" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="organizationecinternationalorganizationeurinterests"
+		                       xpath="//*[local-name()='entity']/*[local-name()='organization']/ecinternationalorganizationeurinterests" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationecinternationalorganization"
+		                       xpath="//*[local-name()='entity']/*[local-name()='organization']/ecinternationalorganization" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="organizationecenterprise" xpath="//*[local-name()='entity']/*[local-name()='organization']/ecenterprise" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationecsmevalidated" xpath="//*[local-name()='entity']/*[local-name()='organization']/ecsmevalidated" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationecnutscode" xpath="//*[local-name()='entity']/*[local-name()='organization']/ecnutscode" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationcountryid" xpath="//*[local-name()='entity']/*[local-name()='organization']/country/@classid"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="organizationcountryname" xpath="//*[local-name()='entity']/*[local-name()='organization']/country/@classname"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+
+		                <!-- PERSON FIELDS -->
+		                <FIELD name="personfirstname" xpath="//*[local-name()='entity']/*[local-name()='person']/firstname" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="personsecondnames" xpath="//*[local-name()='entity']/*[local-name()='person']/secondnames" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="personfullname" xpath="//*[local-name()='entity']/*[local-name()='person']/fullname" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="personcountryid" xpath="//*[local-name()='entity']/*[local-name()='person']/nationality/@classid" tokenizable="false"
+		                       stat="false" indexable="true" result="false" multivalued="false"/>
+
+		                <!-- PROJECT FIELDS -->
+		                <FIELD name="projectcode" xpath="//*[local-name()='entity']/*[local-name()='project']/code" type="ngramtext" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="projectacronym" xpath="//*[local-name()='entity']/*[local-name()='project']/acronym" type="ngramtext" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="projecttitle" xpath="//*[local-name()='entity']/*[local-name()='project']/title" type="ngramtext" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="projectstartdate" value="//*[local-name()='entity']/*[local-name()='project']/startdate" type="date" stat="false"
+		                       indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectstartyear" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='project']/startdate)"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectenddate" value="//*[local-name()='entity']/*[local-name()='project']/enddate" type="date" stat="false"
+		                       indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectendyear" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='project']/enddate)" tokenizable="false"
+		                       stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectcallidentifier" xpath="//*[local-name()='entity']/*[local-name()='project']/callidentifier" tokenizable="false"
+		                       stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectkeywords" xpath="//*[local-name()='entity']/*[local-name()='project']/keywords" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="projectduration" xpath="//*[local-name()='entity']/*[local-name()='project']/duration" tokenizable="false" stat="false"
+		                       indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectecsc39" xpath="//*[local-name()='entity']/*[local-name()='project']/ecsc39" tokenizable="false" stat="false"
+		                       indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectoamandatepublications" xpath="//*[local-name()='entity']/*[local-name()='project']/oamandatepublications"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectecarticle29_3" xpath="//*[local-name()='entity']/*[local-name()='project']/ecarticle29_3" tokenizable="false"
+		                       stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectsubject" xpath="//*[local-name()='entity']/*[local-name()='project']/subjects" stat="false" tokenizable="false"
+		                       indexable="true" result="false"/>
+
+		                <FIELD name="projectcontracttypeid" xpath="//*[local-name()='entity']/*[local-name()='project']/contracttype/@classid"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectcontracttypename" xpath="//*[local-name()='entity']/*[local-name()='project']/contracttype/@classname"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="fundinglevel0_id" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/id"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel0_name" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/name"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel0_description"
+		                       xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/description" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="fundinglevel1_id" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_1/id"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel1_name" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_1/name"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel1_description"
+		                       xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_1/description" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="fundinglevel2_id" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_2/id"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel2_name" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_2/name"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel2_description"
+		                       xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_2/description" stat="false"
+		                       indexable="true" result="false"/>
+		                <!--  PROJECTS' FUNDER FIELDS: indexable only with the new funding path/context handling -->
+		                <FIELD name="funderid" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree/funder/id" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="fundershortname" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree/funder/shortname"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+		                <FIELD name="fundername" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree/funder/name" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD indexable="true" name="funderoriginalname" result="false" stat="false" tokenizable="false"
+		                       xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree/funder/originalname"/>
+		                <FIELD name="funderjurisdiction" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree/funder/jurisdiction"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+
+		                <!-- RESULT FIELDS -->
+		                <FIELD name="resulttitle"
+		                       xpath="//*[local-name() = 'entity']/*[local-name() ='dataset']/title | //*[local-name()='entity']/*[local-name()='dataset']/children/dataset/title |
+									  //*[local-name() = 'entity']/*[local-name() ='publication']/title | //*[local-name()='entity']/*[local-name()='publication']/children/publication/title"
+		                       stat="false" result="false" indexable="true"/>
+		                <FIELD name="resultsubject" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/subject"
+		                       tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="resultsubjectclass" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/subject/@classname"
+		                       tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="resultembargoenddate" value="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/embargoenddate"
+		                       type="date" stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resultembargoendyear" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/embargoenddate)"
+		                       tokenizable="false" stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resulttypeid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/resulttype/@classid"
+		                       tokenizable="false" stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resulttypename" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/resulttype/@classname"
+		                       tokenizable="false" stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resultlanguageid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/language/@classid" tokenizable="false"
+		                       indexable="true" result="false" stat="false" multivalued="false"/>
+		                <FIELD name="resultlanguagename" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/language/@classname" tokenizable="false"
+		                       indexable="true" result="false" stat="false" multivalued="false"/>
+		                <FIELD name="resultpublisher" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/*[local-name()='publisher']" indexable="true"
+		                       result="false" stat="false"/>
+		                <FIELD name="resultdescription" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']//*[local-name()='description']"
+		                       result="false" indexable="true" stat="false"/>
+		                <FIELD name="resultrights" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/licence/@classname"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+		                <FIELD name="resultrightsid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/licence/@classid"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+		                <FIELD name="resultbestlicense" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/bestlicense/@classname" tokenizable="false"
+		                       indexable="true" result="false" stat="false" multivalued="false"/>
+		                <FIELD name="resultbestlicenseid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/bestlicense/@classid" tokenizable="false"
+		                       indexable="true" result="false" stat="false" multivalued="false"/>
+
+		                <FIELD name="resultdateofacceptance" value="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/dateofacceptance" type="date"
+		                       stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resultacceptanceyear" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/dateofacceptance)"
+		                       tokenizable="false" stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resulthostingdatasourceid"
+		                       xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/*[local-name()='hostedby']/@id" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+		                <FIELD name="resulthostingdatasourcename"
+		                       xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/*[local-name()='hostedby']/@name"
+		                       tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="instancetypename"
+		                       xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/*[local-name()='instancetype']/@classname"
+		                       tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="instancetypenameid"
+		                       xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/*[local-name()='instancetype']/@classid"
+		                       tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="resultdupid" xpath="//*[local-name()='entity']/*//children/result/@objidentifier" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+
+		                <FIELD name="externalrefsite" xpath="//*[local-name()='entity']/*//children/externalreference/sitename" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="externalreflabel" xpath="//*[local-name()='entity']/*//children/externalreference/label" tokenizable="true" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="externalrefclass" xpath="//*[local-name()='entity']/*//children/externalreference/qualifier/@classid" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+		                <FIELD name="externalrefid" xpath="//*[local-name()='entity']/*//children/externalreference/refidentifier" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+
+		                <!--  REL FIELDS -->
+		                <FIELD name="reldatasourcecompatibilityid"
+		                       xpath="//*[local-name()='entity']/*//rel[./to/@type='datasource']/openairecompatibility/@classid" tokenizable="false"
+		                       indexable="true" stat="false" result="false"/>
+		                <FIELD name="relpersonid" xpath="//*[local-name()='entity']/*//rel/to[@type='person']" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="relperson" xpath="//*[local-name()='entity']/*//rel[./to/@type='person']/fullname" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="relprojectid" xpath="//*[local-name()='entity']/*//rel/to[@type='project']" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="relprojectcode" xpath="//*[local-name()='entity']/*//rel[to/@type='project']/code" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="relprojectname" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/acronym" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relprojecttitle" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/title" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="relcontracttypeid" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/contracttype/@classid"
+		                       tokenizable="false" indexable="true" stat="false" result="false"/>
+		                <FIELD name="relcontracttypename" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/contracttype/@classname"
+		                       indexable="true" stat="false" result="false"/>
+		                <FIELD name="relorganizationcountryid" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classid"
+		                       tokenizable="false" indexable="true" stat="false" result="false"/>
+		                <FIELD name="relorganizationcountryname" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classname"
+		                       indexable="true" stat="false" result="false"/>
+		                <FIELD name="relorganizationid" xpath="//*[local-name()='entity']/*//rel/to[@type='organization']" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relorganizationname" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/legalname" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relorganizationshortname" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/legalshortname" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relresultid" xpath="//*[local-name()='entity']/*//rel/to[@type='result']" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="relfundinglevel0_id" xpath="//*[local-name()='entity']//rel/funding/funding_level_0" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relfundinglevel1_id" xpath="//*[local-name()='entity']//rel/funding/funding_level_1" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relfundinglevel2_id" xpath="//*[local-name()='entity']//rel/funding/funding_level_2" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relfundinglevel0_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_0/@name" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+		                <FIELD name="relfundinglevel1_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_1/@name" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+		                <FIELD name="relfundinglevel2_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_2/@name" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+
+		                <FIELD name="relinferred" xpath="//*[local-name()='entity']//rel/@inferred" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="reltrust" xpath="//*[local-name()='entity']//rel/@trust" tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="relinferenceprovenance" xpath="//*[local-name()='entity']//rel/@inferenceprovenance" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relprovenanceactionclassid" xpath="//*[local-name()='entity']//rel/@provenanceaction" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+
+		                <!--  PROJECTS' FUNDER FIELDS: indexable only with the new funding path/context handling -->
+		                <FIELD name="relfunderid" xpath="//*[local-name()='entity']//rel/funding/funder/@id" tokenizable="false" indexable="true" result="false"
+		                       stat="false"/>
+		                <FIELD name="relfundershortname" xpath="//*[local-name()='entity']//rel/funding/funder/@shortname" tokenizable="false" indexable="true"
+		                       result="false" stat="false"/>
+		                <FIELD name="relfundername" xpath="//*[local-name()='entity']//rel/funding/funder/@name" tokenizable="false" indexable="true"
+		                       result="false" stat="false"/>
+		                <FIELD name="relfunderjurisdiction" xpath="//*[local-name()='entity']//rel/funding/funder/@jurisdiction" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+
+		                <!-- COMMON FIELDS -->
+
+		                <FIELD name="dateofcollection" value="//header/*[local-name()='dateOfCollection']" type="date" stat="false" result="false"
+		                       indexable="true" multivalued="false"/>
+		                <FIELD name="collectedfromdatasourceid" xpath="//*[local-name()='entity']//*[local-name()='collectedfrom']/@id" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="collectedfromdatasourcename" xpath="//*[local-name()='entity']//*[local-name()='collectedfrom']/@name" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+
+		                <FIELD name="pid" xpath="//*[local-name()='entity']//pid" tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="pidclassid" xpath="//*[local-name()='entity']//pid/@classid" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="pidclassname" xpath="//*[local-name()='entity']//pid/@classname" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+
+		                <FIELD name="inferred" xpath="//*[local-name()='entity']//datainfo/inferred" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="deletedbyinference" xpath="//*[local-name()='entity']//datainfo/deletedbyinference" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="trust" xpath="//*[local-name()='entity']//datainfo/trust" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="inferenceprovenance" xpath="//*[local-name()='entity']//datainfo/inferenceprovenance" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="provenanceactionclassid" xpath="//*[local-name()='entity']//datainfo/provenanceaction/@classid" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+
+		                <FIELD name="contextid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/@id" tokenizable="false" indexable="true"
+		                       result="false" stat="false"/>
+		                <FIELD name="contexttype" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/@type" tokenizable="false" indexable="true"
+		                       result="false" stat="false"/>
+		                <FIELD name="contextname" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/@label" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <!-- Need spaecial fields for community (research initiative) context in order to exclude funders from the context browse -->
+		                <FIELD name="communityid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context[@type='community']/@id" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="communityname" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context[@type='community']/@label"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+
+		                <FIELD name="categoryid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/category/@id" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="categoryname" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/category/@label" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="conceptid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/category//concept/@id" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="conceptname" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/category//concept/@label"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+
+		                <!-- COUNTER FIELDS -->
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_dedup" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_dedup/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_authorship" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_authorship/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_participation" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_participation/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_similarity" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_similarity/@value"/>
+
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_publicationdataset" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_publicationdataset/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_publicationdataset_claimed" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_publicationdataset_claimed/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_publicationdataset_collected" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_publicationdataset_collected/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_publicationdataset_inferred" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_publicationdataset_inferred/@value"/>
+
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_outcome" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_outcome/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_outcome_claimed" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_outcome_claimed/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_outcome_collected" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_outcome_collected/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_outcome_inferred" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_outcome_inferred/@value"/>
+
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_affiliation" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_affiliation/@value"/>
+
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_doi" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_doi/@value"/>
+	                </FIELDS>
+                </LAYOUT>
+                <LAYOUT name="store">
+                    <FIELDS>
+                        <FIELD xpath="//dc:language" stat="true" indexable="false" name="language" result="false"/>
+                        <FIELD xpath="//dr:repositoryCountry" name="repositoryCountry" stat="true" result="false" indexable="false"/>
+                    </FIELDS>
+                </LAYOUT>
+            </LAYOUTS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-citations.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-citations.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-citations.xml	(revision 51225)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="bb72e3e4-4f83-490c-848a-d7bb612fedbd_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:06+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-document-citations">iis-document-citations</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization.xml	(revision 51225)
@@ -0,0 +1,25 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4b9a58d4-a048-4161-b5b1-a5cdf78a9956_RGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupOrchestrationDSResourceType"/>
+        <RESOURCE_KIND value="DedupOrchestrationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION enabled="true">
+            <DEDUPLICATION>
+                <ENTITY name="organization" code="20" label="Organization" />
+                <ACTION_SET id="dedup-similarity-organization" />
+                <SCAN_SEQUENCE>
+                	<SCAN id="98494a63-f5d1-46f7-9afd-e026c1dda913_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                	<SCAN id="1d52dba7-1902-4c25-bf5b-3598f29ef11c_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                </SCAN_SEQUENCE>
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_phaidra.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_phaidra.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_phaidra.xml	(revision 51225)
@@ -0,0 +1,80 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="d152b8be-723d-42f5-8a13-e9de7d66a2b8_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-27T00:21:15+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_phaidra</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_phaidra";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+//if xpath:"//*[local-name() = 'setSpec' and text()='ec_fundedresources']" dc:relation = skipRecord(); else $varDummy = "''";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and number(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) &gt; 100000" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = skipRecord();
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-extracted-metadata.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-extracted-metadata.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-extracted-metadata.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="9e9498ed-b91b-40ce-bb6a-5e1741f2d077_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:05+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-extracted-metadata">iis-extracted-metadata</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" creationDate="2014-11-17T17:40:59+00:00" lastUpdate="2014-11-17T21:50:05+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-main.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-main.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-main.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="0a87e99f-8b44-4630-a5f9-f18c814d8ded_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:06+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-dataset-entities-main">iis-dataset-entities-main</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-main.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-main.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-main.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="9908ac97-58f9-489b-bfc5-923e2c9e63ab_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:05+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-referenced-datasets-main">iis-referenced-datasets-main</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_creator_comma.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_creator_comma.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_creator_comma.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="bc13c7ee-869f-4b76-81a8-2ee6ffcb81fa_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-04-09T08:05:59+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_creator_comma</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_creator_comma";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"concat(substring-before(normalize-space(.), ' '), ', ', substring-after(normalize-space(.), ' '))"; else $varDummy = "''";
+apply xpath:"//dc:contributor" if xpath:"string-length(.) > 0" dc:contributor = xpath:"concat(substring-before(normalize-space(.), ' '), ', ', substring-after(normalize-space(.), ' '))"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-similarities.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-similarities.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-similarities.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4025e214-f4db-4c74-9999-ad1f52c093d5_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:05+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-document-similarities">iis-document-similarities</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-main.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-main.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-main.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="3c75f511-c684-4f67-8297-91daabc2fd1a_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:05+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-referenced-projects-main">iis-referenced-projects-main</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.simple.01.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.simple.01.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.simple.01.xml	(revision 51225)
@@ -0,0 +1,49 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="20d08926-ce57-443c-adef-c879c561d30d_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+        	<DESCRIPTION>1 - Organization: Match against the legalname and legalshortname</DESCRIPTION>
+            <DEDUPLICATION>
+			{ 
+				"wf" : { 
+			        "threshold" : "0.98", 
+			        "dedupRun" : "001", 
+			        "entityType" : "organization", 
+			        "orderField" : "legalname", 
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "organization", "projectOrganization_participation_isParticipant", "datasourceOrganization_provision_isProvidedBy" ],
+			        "includeChildren" : "true" 
+			    },
+				"pace" : {		
+					"clustering" : [
+						{ "name" : "ngrampairs", "fields" : [ "legalname" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+						{ "name" : "suffixprefix", "fields" : [ "legalname" ], "params" : { "max" : "1", "len" : "3" } },
+						{ "name" : "spacetrimmingfieldvalue", "fields" : [ "legalshortname" ], "params" : { "randomLength" : "5" } }
+					],
+			  		"conditions" : [ 
+			  			{ "name" : "exactMatch", "fields" : [ "country" ] }
+			  		],					
+					"model" : [
+						{ "name" : "legalname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.7", "ignoreMissing" : "false", "path" : "organization/metadata/legalname/value" },
+						{ "name" : "legalshortname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.3", "ignoreMissing" : "true", "path" : "organization/metadata/legalshortname/value" },
+						{ "name" : "country", "algo" : "Null", "type" : "String", "weight" : "0", "ignoreMissing" : "true", "path" : "organization/metadata/country/classid" }
+					],
+					"blacklists" : { } 		
+				}
+			} 	
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/publication.step.01.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/publication.step.01.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/publication.step.01.xml	(revision 51225)
@@ -0,0 +1,288 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c611ec67-eefc-4ffe-a5d4-cb3fc40a8baf_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+	        <DESCRIPTION>1 - Publication: Match against the title, whose numbers must match</DESCRIPTION>
+            <DEDUPLICATION>
+ 			{ 
+				"wf" : { 
+			        "threshold" : "0.99", 
+			        "dedupRun" : "001", 
+			        "entityType" : "publication",
+			        "orderField" : "title", 
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "publication", "personPublication_authorship_hasAuthor", "publicationProject_outcome_isProducedBy", "publicationPublication_isRelatedTo_isRelatedTo", "publicationPublication_similarity_isAmongTopNSimilarDocuments", "publicationPublication_similarity_hasAmongTopNSimilarDocuments" ],
+			        "includeChildren" : "true" 
+			    },
+				"pace" : {		
+					"clustering" : [
+						{ "name" : "ngrampairs", "fields" : [ "title" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+						{ "name" : "suffixprefix", "fields" : [ "title" ], "params" : { "max" : "1", "len" : "3" } } 
+					],	
+			  		"conditions" : [ 
+			  			{ "name" : "titleVersionMatch", "fields" : [ "title" ] },
+			  			{ "name" : "sizeMatch", "fields" : [ "authors" ] }
+			  		],		
+					"model" : [
+						{ "name" : "title", "algo" : "Level2Levenstein", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "publication/metadata/title/value" },
+						{ "name" : "authors", "algo" : "Null", "type" : "List", "weight" : "0.0", "ignoreMissing" : "true", "path" : "publication/author/metadata/fullname/value" }
+					],
+					"blacklists" : { 
+						"title" : [
+				
+				"^THE ASSOCIATION AND THE GENERAL MEDICAL COUNCIL$",
+				"^Problems with perinatal pathology\.?$",
+				
+				"(?i)^Cases? of Puerperal Convulsions$",
+				"(?i)^Operative Gyna?ecology$",
+				"(?i)^Mind the gap\!?\:?$",
+				"^Chronic fatigue syndrome\.?$",
+				"^Cartas? ao editor Letters? to the Editor$",
+				"^Note from the Editor$",
+				"^Anesthesia Abstract$",
+				
+				"^Annual report$",
+				"(?i)^“?THE RADICAL PREVENTION OF VENEREAL DISEASE\.?”?$",
+				"(?i)^Graph and Table of Infectious Diseases?$",
+				"^Presentation$",
+				"(?i)^Reviews and Information on Publications$",
+				"(?i)^PUBLIC HEALTH SERVICES?$",
+				"(?i)^COMBINED TEXT-?BOOK OF OBSTETRICS AND GYN(Æ|ae)COLOGY$",
+				"(?i)^Adrese autora$",
+				"(?i)^Systematic Part .*\. Catalogus Fossilium Austriae, Band 2: Echinoidea neogenica$",
+				"(?i)^Acknowledgement to Referees$",
+				"(?i)^Behçet's disease\.?$",
+				"(?i)^Isolation and identification of restriction endonuclease.*$",
+				"(?i)^CEREBROVASCULAR DISEASES?.?$",
+				"(?i)^Screening for abdominal aortic aneurysms?\.?$",
+				"^Event management$",
+				"(?i)^Breakfast and Crohn's disease.*\.?$",
+				"^Cálculo de concentraciones en disoluciones acuosas. Ejercicio interactivo\..*\.$",
+				"(?i)^Genetic and functional analyses of SHANK2 mutations suggest a multiple hit model of Autism spectrum disorders?\.?$",
+				"^Gushi hakubutsugaku$",
+
+				"^Starobosanski nadpisi u Bosni i Hercegovini \(.*\)$",							
+				"^Intestinal spirocha?etosis$",
+				"^Treatment of Rodent Ulcer$",
+				"(?i)^\W*Cloud Computing\W*$",
+				"^Compendio mathematico : en que se contienen todas las materias mas principales de las Ciencias que tratan de la cantidad$",				
+				"^Free Communications, Poster Presentations: Session [A-F]$",
+				
+				"^“The Historical Aspects? of Quackery\.?”$",
+				"^A designated centre for people with disabilities operated by St John of God Community Services (Limited|Ltd), Louth$",
+				"^P(er|re)-Mile Premiums for Auto Insurance\\.?$",
+				"(?i)^Case Report$",							
+				"^Boletín Informativo$",
+				"(?i)^Glioblastoma Multiforme$",
+				"(?i)^Nuevos táxones animales descritos en la península Ibérica y Macaronesia desde 1994 \\(.*\\)$",
+				"^Zaměstnanecké výhody$",
+				"(?i)^The Economics of Terrorism and Counter-Terrorism: A Survey \\(Part .*\\)$",
+				"(?i)^Carotid body tumours?\\.?$", 
+				"(?i)^\\[Españoles en Francia : La condición Emigrante.*\\]$",
+				"^Avant-propos$",
+				"(?i)^St\. Patrick's Cathedral, Dublin, County Dublin - Head(s)? and Capital(s)?$",
+				"(?i)^St\. Patrick's Cathedral, Dublin, County Dublin - Bases?$",
+				"(?i)^PUBLIC HEALTH VERSUS THE STATE$",							
+				"^Viñetas de Cortázar$",
+				"(?i)^Search for heavy neutrinos and W(\\[|_|\\(|_\\{|-)?R(\\]|\\)|\\})? bosons with right-handed couplings in a left-right symmetric model in pp collisions at.*TeV(\.)?$",
+				"(?i)^Measurement of the pseudorapidity and centrality dependence of the transverse energy density in Pb(-?)Pb collisions at.*tev(\.?)$",				
+				"(?i)^Search for resonances decaying into top-quark pairs using fully hadronic decays in pp collisions with ATLAS at.*TeV$",
+				"(?i)^Search for neutral minimal supersymmetric standard model Higgs bosons decaying to tau pairs in pp collisions at.*tev$",
+
+				"(?i)^Relatório de Estágio (de|em) Angiologia e Cirurgia Vascular$",
+				"^Aus der AGMB$",				
+
+				"^Znanstveno-stručni prilozi$",
+				"(?i)^Zhodnocení finanční situace podniku a návrhy na zlepšení$",
+				"(?i)^Evaluation of the Financial Situation in the Firm and Proposals to its Improvement$",
+	            "(?i)^Hodnocení finanční situace podniku a návrhy na její zlepšení$",
+				"^Finanční analýza podniku$",
+				"^Financial analysis( of business)?$",
+				"(?i)^Textbook of Gyn(a)?(Æ)?(e)?cology$",
+				"^Jikken nihon shūshinsho$",
+				"(?i)^CORONER('|s)(s|') INQUESTS$",
+				"(?i)^(Μελέτη παραγόντων )?risk management( για ανάπτυξη και εφαρμογή ενός πληροφοριακού συστήματος| και ανάπτυξη συστήματος)?$",				
+				"(?i)^Consultants' contract(s)?$",
+				"(?i)^Upute autorima$",
+				"(?i)^Bijdrage tot de Kennis van den Godsdienst der Dajaks van Lan(d|f)ak en Tajan$",
+				"^Joshi shin kokubun$",
+				"^Kōtō shōgaku dokuhon nōson'yō$",
+				"^Jinjō shōgaku shōka$",
+				"^Shōgaku shūjichō$",
+				"^Nihon joshi dokuhon$",
+				"^Joshi shin dokuhon$",
+				"^Chūtō kanbun dokuhon$",
+				"^Wabun dokuhon$",
+				"(?i)^(Analysis of economy selected village or town|Rozbor hospodaření vybrané obce či města)$",
+				"(?i)^cardiac rehabilitation$",
+				"(?i)^Analytical summary$",
+				"^Thesaurus resolutionum Sacrae Congregationis Concilii$",
+				"(?i)^Sumario analítico(\\s{1})?(Analitic summary)?$", 
+				"^Prikazi i osvrti$",
+				"^Rodinný dům s provozovnou$",
+				"^Family house with an establishment$",
+				"^Shinsei chūtō shin kokugun$",
+				"^Pulmonary alveolar proteinosis(\\.?)$",
+				"^Shinshū kanbun$",
+				"^Viñeta(s?) de Rodríguez$",
+				"(?i)^RUBRIKA UREDNIKA$",
+				"^A Matching Model of the Academic Publication Market$",
+				"^Yōgaku kōyō$",
+
+				"^Internetový marketing$",
+				"^Internet marketing$",
+				"^Chūtō kokugo dokuhon$",
+				"^Kokugo dokuhon$",
+				"^Antibiotic Cover for Dental Extraction(s?)$",
+				"^Strategie podniku$",				
+				"^Strategy of an Enterprise$",
+				"(?i)^respiratory disease(s?)(\.?)$",
+				"^Award(s?) for Gallantry in Civil Defence$",
+				"^Podniková kultura$",
+				"^Corporate Culture$",
+				"^Severe hyponatraemia in hospital inpatient(s?)(\.?)$",
+				"^Pracovní motivace$",
+				"^Work Motivation$",
+				"^Kaitei kōtō jogaku dokuhon$",
+				"^Konsolidovaná účetní závěrka$",
+				"^Consolidated Financial Statements$",
+				"(?i)^intracranial tumour(s?)$",
+				"^Climate Change Mitigation Options and Directed Technical Change: A Decentralized Equilibrium Analysis$",
+				"^\\[CERVECERIAS MAHOU(\\.|\\:) INTERIOR\\] \\[Material gráfico\\]$",
+				"^Housing Market Dynamics(\\:|\\.) On the Contribution of Income Shocks and Credit Constraint(s?)$",
+				"^\\[Funciones auxiliares de la música en Radio París,.*\\]$",
+				"^Úroveň motivačního procesu jako způsobu vedení lidí$",
+				"^The level of motivation process as a leadership$",
+				"^Pay-beds in N(\\.?)H(\\.?)S(\\.?) Hospitals$",
+				"(?i)^news and events$",
+				"(?i)^NOVOSTI I DOGAĐAJI$",
+				"^Sansū no gakushū$",
+				"^Posouzení informačního systému firmy a návrh změn$",
+				"^Information System Assessment and Proposal for ICT Modification$",
+				"^Stresové zatížení pracovníků ve vybrané profesi$",
+				"^Stress load in a specific job$",
+				
+				"^Sunday: Poster Sessions, Pt.*$",
+				"^Monday: Poster Sessions, Pt.*$",
+				"^Wednesday: Poster Sessions, Pt.*",
+				"^Tuesday: Poster Sessions, Pt.*$",
+				
+				"^Analýza reklamy$",
+				"^Analysis of advertising$",
+
+				"^Shōgaku shūshinsho$",
+				"^Shōgaku sansū$",
+				"^Shintei joshi kokubun$",
+				"^Taishō joshi kokubun dokuhon$",
+				"^Joshi kokubun$",				
+												
+				"^Účetní uzávěrka a účetní závěrka v ČR$",
+				"(?i)^The \"?Causes\"? of Cancer$",
+				"^Normas para la publicación de artículos$",
+				"^Editor('|s)(s|') [Rr]eply$",
+				"^Editor(’|s)(s|’) letter$",
+				"^Redaktoriaus žodis$",		
+				"^DISCUSSION ON THE PRECEDING PAPER$",
+				"^Kōtō shōgaku shūshinsho jidōyō$",
+				"^Shōgaku nihon rekishi$",
+				"^(Theory of the flow of action currents in isolated myelinated nerve fibers).*$",
+				"^Préface$",
+				"^Occupational [Hh]ealth [Ss]ervices.$",
+				"^In Memoriam Professor Toshiyuki TAKESHIMA$",
+				"^Účetní závěrka ve vybraném podniku.*$",
+				"^Financial statements in selected company$",
+				"^Abdominal [Aa]ortic [Aa]neurysms.*$",
+				"^Pseudomyxoma peritonei$",
+				"^Kazalo autora$",			
+			
+				"(?i)^uvodna riječ$",
+				"^Motivace jako způsob vedení lidí$",
+				"^Motivation as a leadership$",
+				"^Polyfunkční dům$",
+				"^Multi\\-funkcional building$",
+				"^Podnikatelský plán$",
+	            "(?i)^Podnikatelský záměr$",
+				"(?i)^Business Plan$",
+				"^Oceňování nemovitostí$",
+				"^Marketingová komunikace$",
+				"^Marketing communication$",
+				"^Sumario Analítico$",
+				"^Riječ uredništva$",
+				"^Savjetovanja i priredbe$",
+				"^Índice$",
+				"^(Starobosanski nadpisi).*$",
+				"^Vzdělávání pracovníků v organizaci$",
+				"^Staff training in organization$",
+				"^(Life Histories of North American Geometridae).*$",
+				"^Strategická analýza podniku$",
+				"^Strategic Analysis of an Enterprise$",
+				"^Sadržaj$",
+				"^Upute suradnicima$",
+				"^Rodinný dům$",
+				"(?i)^Fami(l)?ly house$",
+				"^Upute autorima$",
+				"^Strategic Analysis$",
+				"^Finanční analýza vybraného podniku$",
+				"^Finanční analýza$",
+				"^Riječ urednika$",
+				"(?i)^Content(s?)$",
+				"(?i)^Inhalt$",
+				"^Jinjō shōgaku shūshinsho jidōyō$",
+				"(?i)^Index$",
+				"^Chūgaku kokubun kyōkasho$",
+				"^Retrato de una mujer$",
+				"^Retrato de un hombre$",
+				"^Kōtō shōgaku dokuhon$",
+				"^Shotōka kokugo$",
+				"^Shōgaku dokuhon$",
+				"^Jinjō shōgaku kokugo dokuhon$",
+				"^Shinsei kokugo dokuhon$",
+				"^Teikoku dokuhon$",
+				"^Instructions to Authors$",
+				"^KİTAP TAHLİLİ$",
+				"^PRZEGLĄD PIŚMIENNICTWA$",
+				"(?i)^Presentación$",
+				"^İçindekiler$",
+				"(?i)^Tabl?e of contents$",
+				"^(CODICE DEL BEATO DE LOS REYES FERNANDO I Y SANCHA).*$",
+				"^(\\[MADRID\\. BIBL\\. NAC\\. N.*KING FERDINAND I.*FROM SAN ISIDORO DE LEON\\. FACUNDUS SCRIPSIT DATED.*\\]).*",
+				"^Editorial( Board)?$",
+				"(?i)^Editorial \\(English\\)$",
+				"^Editörden$",			
+				"^(Corpus Oral Dialectal \\(COD\\)\\.).*$",
+				"^(Kiri Karl Morgensternile).*$",
+				"^(\\[Eksliibris Aleksandr).*\\]$",
+				"^(\\[Eksliibris Aleksandr).*$",
+				"^(Eksliibris Aleksandr).*$",
+				"^(Kiri A\\. de Vignolles).*$",
+				"^(2 kirja Karl Morgensternile).*$",
+				"^(Pirita kloostri idaosa arheoloogilised).*$",
+				"^(Kiri tundmatule).*$",
+				"^(Kiri Jenaer Allgemeine Literaturzeitung toimetusele).*$",
+				"^(Eksliibris Nikolai Birukovile).*$",
+				"^(Eksliibris Nikolai Issakovile).*$",
+				"^(WHP Cruise Summary Information of section).*$",
+				"^(Measurement of the top quark\\-pair production cross section with ATLAS in pp collisions at).*$",
+				"^(Measurement of the spin\\-dependent structure function).*",
+	            "(?i)^.*authors['’′]? reply\.?$",
+	            "(?i)^.*authors['’′]? response\.?$"
+						]
+					} 		
+				}
+			}
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2insertActions.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2insertActions.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2insertActions.xml	(revision 51225)
@@ -0,0 +1,176 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="8f18f2a0-ae75-4a81-970a-6de383d527d4_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="pmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="pmf_insert_action"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_pmf2insertAction</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dc="http://purl.org/dc/elements/1.1/"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+                xmlns:exslt="http://exslt.org/common"
+                version="1.0" extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl oaf dr dri dnet exslt">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:param name="writeCoAuthors" select="false()"/>
+
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+		<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+		<xsl:variable name="trust" select="string('0.9')"/>
+		<xsl:variable name="provenance" select="string('sysimport:crosswalk:repository')"/>
+
+		<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+		<xsl:variable name="namespaceprefix">
+			<xsl:choose>
+
+				<!-- TODO check namespaceprefix length is 12 -->
+				<xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+					<xsl:value-of select="//oaf:datasourceprefix"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="unknown_"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:choose>
+			<!-- 			<xsl:when test="count($metadata) = 0 or string-length($namespaceprefix) = 0"> -->
+			<xsl:when test="count($metadata) = 0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+
+				<xsl:variable name="objIdentifier" select="//dri:objIdentifier"/>
+				<xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', //dri:objIdentifier)"/>
+
+				<xsl:if test="string-length($publicationId) &gt; 0">
+
+					<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+					<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+
+					<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+					<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+
+					<xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']"/>
+					<xsl:variable name="originalid">
+						<xsl:choose>
+							<xsl:when test="contains($originalidTest, '::')">
+								<xsl:value-of select="substring-after($originalidTest, '::')"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$originalidTest"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:variable>
+
+					<ROWS>
+						<ROW>
+							<xsl:attribute name="value">
+								<xsl:value-of select="dnet:oafPublication($publicationId, $provenance, $trust, $about, $hostedbyid, $hostedbyname, $collectedfromid,
+										              $collectedfromname, $originalid, $dateofcollection, $dateoftransformation, $metadata)"/>
+							</xsl:attribute>
+						</ROW>
+
+						<xsl:for-each select="//*[local-name()='projectid']">
+
+							<xsl:variable name="projectId" select="dnet:oafSplitId('project', normalize-space(.))"/>
+
+							<xsl:if test="string-length($projectId) &gt; 0">
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($publicationId, $projectId, 'isProducedBy', 'publication_project', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($projectId, $publicationId, 'produces', 'publication_project', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+						<xsl:for-each select="//*[local-name()='relatedDataset']">
+
+							<!-- relatedDataset ids must be in the openaire format  -->
+							<xsl:variable name="datasetId" select="dnet:oafSimpleId('publication', normalize-space(./@id))"/>
+
+							<xsl:if test="string-length($datasetId) &gt; 0">
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($publicationId, $datasetId, 'isRelatedTo', 'publication_publication', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($datasetId, $publicationId, 'isRelatedTo', 'publication_publication', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+						<xsl:for-each select="//*[local-name()='creator']">
+
+							<xsl:if test="string-length(normalize-space(.)) &gt; 0">
+								<xsl:variable name="originalPersonId">
+									<xsl:choose>
+										<xsl:when test="string-length(@nameIdentifier) &gt; 0">
+											<xsl:value-of select="normalize-space(@nameIdentifier)"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="concat($originalid, '::', normalize-space(.))"/>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:variable>
+
+								<xsl:variable name="personId" select="dnet:oafId('person', $namespaceprefix, $originalPersonId)"/>
+								<xsl:variable name="position" select="position()"/>
+
+								<xsl:if test="string-length($personId) &gt; 0">
+									<ROW>
+										<xsl:attribute name="value">
+											<xsl:value-of select="dnet:person($personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname,
+								              $originalPersonId, $dateofcollection, $dateoftransformation, normalize-space(.), @nameIdentifier, @nameIdentifierScheme)"/>
+										</xsl:attribute>
+									</ROW>
+									<ROW>
+										<xsl:attribute name="value">
+											<xsl:value-of select="dnet:authorship($personId, $publicationId, $position, 'isAuthorOf', 'person_publication', $provenance, $trust, $about)"/>
+										</xsl:attribute>
+									</ROW>
+									<ROW>
+										<xsl:attribute name="value">
+											<xsl:value-of select="dnet:authorship($publicationId, $personId, $position, 'hasAuthor', 'person_publication', $provenance, $trust, $about)"/>
+										</xsl:attribute>
+									</ROW>
+								</xsl:if>
+							</xsl:if>
+						</xsl:for-each>
+
+					</ROWS>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasourceorganization_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasourceorganization_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasourceorganization_2_hbase.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="760183e7-a5d4-4827-9218-3d49ff9fcbd1_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_datasourceOrganization2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="datasourceId" select="dnet:oafSplitId('datasource', //FIELD[@name = 'datasource'])"/>
+		<xsl:variable name="organizationId" select="dnet:oafSplitId('organization', //FIELD[@name = 'organization'])"/>
+
+		<ROWS>
+			<xsl:if test="string-length($datasourceId) &gt; 0 and string-length($organizationId) &gt; 0">
+				final String source,
+				final String target,
+				final NodeList nodeList,
+				final String relClass,
+				final String relScheme
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($datasourceId, $organizationId, //FIELD[not(@isNull)], 'provides', 'datasource_organization')"/>
+					</xsl:attribute>
+				</ROW>
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($organizationId, $datasourceId, //FIELD[not(@isNull)], 'isProvidedBy', 'datasource_organization')"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.01.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.01.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.01.xml	(revision 51225)
@@ -0,0 +1,42 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="98494a63-f5d1-46f7-9afd-e026c1dda913_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+           	<DESCRIPTION>1 - Organization: Merge by legalshortname</DESCRIPTION>
+            <DEDUPLICATION>
+			{ 
+				"wf" : { 
+			        "threshold" : "1.0", 
+			        "dedupRun" : "001", 
+			        "entityType" : "organization", 
+			        "orderField" : "legalshortname", 
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "organization", "projectOrganization_participation_isParticipant", "datasourceOrganization_provision_isProvidedBy" ],
+			        "includeChildren" : "true" 
+			    },
+				"pace" : {		
+					"clustering" : [
+						{ "name" : "spacetrimmingfieldvalue", "fields" : [ "legalshortname" ], "params" : { "randomLength" : "5" } }
+					],		
+					"model" : [
+						{ "name" : "legalshortname", "algo" : "JaroWinkler", "type" : "String", "weight" : "1.0", "ignoreMissing" : "true", "path" : "organization/metadata/legalshortname/value" }
+					],
+					"blacklists" : { } 		
+				}
+			}            
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/project_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/project_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/project_2_hbase.xml	(revision 51225)
@@ -0,0 +1,54 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="5fccd61e-e6e5-4912-b849-54bc84b69a83_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_projects2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="originalid" select="//FIELD[@name = 'projectid']"/>
+		<xsl:variable name="projectid" select="dnet:oafSplitId('project', $originalid)"/>
+		<xsl:variable name="dateofcollection" select="//FIELD[@name = 'dateofcollection']"/>
+		<xsl:variable name="dateoftransformation" select="//FIELD[@name = 'dateoftransformation']"/>
+		<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //FIELD[@name = 'collectedfromid'])"/>
+		<xsl:variable name="collectedfromname" select="//FIELD[@name = 'collectedfromname']"/>
+
+		<ROWS>
+			<xsl:if test="string-length($projectid) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:oafEntity($projectid, $collectedfromid, $collectedfromname,
+						$originalid, $dateofcollection, $dateoftransformation, //FIELD[not(@isNull)])"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2hbase.xml	(revision 51225)
@@ -0,0 +1,173 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="43108eba-4b67-4d7a-8928-55ca09f1c8ff_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="pmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="dngf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_pmf2hbase</TITLE>
+				<CODE>
+					<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+					                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dc="http://purl.org/dc/elements/1.1/"
+					                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+					                xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+					                xmlns:exslt="http://exslt.org/common"
+					                version="1.0" extension-element-prefixes="exslt"
+					                exclude-result-prefixes="xsl oaf dr dri dnet exslt">
+
+						<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+						<xsl:param name="writeCoAuthors" select="false()"/>
+
+						<xsl:template match="/*">
+							<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+							<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+							<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+							<xsl:variable name="trust" select="string('0.9')"/>
+							<xsl:variable name="provenance" select="string('sysimport:crosswalk:repository')"/>
+
+							<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+							<xsl:variable name="namespaceprefix">
+								<xsl:choose>
+
+									<!-- TODO check namespaceprefix length is 12 -->
+									<xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+										<xsl:value-of select="//oaf:datasourceprefix"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="unknown_"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+
+							<xsl:choose>
+								<!-- 			<xsl:when test="count($metadata) = 0 or string-length($namespaceprefix) = 0"> -->
+								<xsl:when test="count($metadata) = 0">
+									<ROWS/>
+								</xsl:when>
+								<xsl:otherwise>
+
+									<xsl:variable name="objIdentifier" select="//dri:objIdentifier"/>
+									<xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', //dri:objIdentifier)"/>
+
+									<xsl:if test="string-length($publicationId) &gt; 0">
+
+										<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+										<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+
+										<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+										<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+
+										<xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']"/>
+										<xsl:variable name="originalid">
+											<xsl:choose>
+												<xsl:when test="contains($originalidTest, '::')">
+													<xsl:value-of select="substring-after($originalidTest, '::')"/>
+												</xsl:when>
+												<xsl:otherwise>
+													<xsl:value-of select="$originalidTest"/>
+												</xsl:otherwise>
+											</xsl:choose>
+										</xsl:variable>
+
+										<ROWS>
+											<ROW>
+												<xsl:attribute name="value"><xsl:value-of select="dnet:oafPublication($publicationId, $provenance, $trust, $about, $hostedbyid, $hostedbyname, $collectedfromid,
+										              $collectedfromname, $originalid, $dateofcollection, $dateoftransformation, $metadata)"/></xsl:attribute>
+											</ROW>
+
+											<xsl:for-each select="//*[local-name()='projectid']">
+
+												<xsl:variable name="projectId" select="dnet:oafSplitId('project', normalize-space(.))"/>
+
+												<xsl:if test="string-length($projectId) &gt; 0">
+													<ROW>
+														<xsl:attribute name="value">
+															<xsl:value-of select="dnet:rel($publicationId, $projectId, 'isProducedBy', 'publication_project', $provenance, $trust, $about)"/>
+														</xsl:attribute>
+													</ROW>
+													<ROW>
+														<xsl:attribute name="value">
+															<xsl:value-of select="dnet:rel($projectId, $publicationId, 'produces', 'publication_project', $provenance, $trust, $about)"/>
+														</xsl:attribute>
+													</ROW>
+												</xsl:if>
+											</xsl:for-each>
+
+											<xsl:for-each select="//*[local-name()='relatedDataset']">
+
+												<!-- relatedDataset ids must be in the openaire format  -->
+												<xsl:variable name="datasetId" select="dnet:oafSimpleId('dataset', normalize-space(./@id))"/>
+
+												<xsl:if test="string-length($datasetId) &gt; 0">
+													<ROW>
+														<xsl:attribute name="value">
+															<xsl:value-of select="dnet:rel($publicationId, $datasetId, 'isRelatedTo', 'publication_dataset', $provenance, $trust, $about)"/>
+														</xsl:attribute>
+													</ROW>
+													<ROW>
+														<xsl:attribute name="value">
+															<xsl:value-of select="dnet:rel($datasetId, $publicationId, 'isRelatedTo', 'publication_dataset', $provenance, $trust, $about)"/>
+														</xsl:attribute>
+													</ROW>
+												</xsl:if>
+											</xsl:for-each>
+
+											<xsl:for-each select="//*[local-name()='creator']">
+
+												<xsl:if test="string-length(normalize-space(.)) &gt; 0">
+													<xsl:variable name="originalPersonId">
+														<xsl:choose>
+															<xsl:when test="string-length(@nameIdentifier) &gt; 0">
+																<xsl:value-of select="normalize-space(@nameIdentifier)"/>
+															</xsl:when>
+															<xsl:otherwise>
+																<xsl:value-of select="concat($originalid, '::', normalize-space(.))"/>
+															</xsl:otherwise>
+														</xsl:choose>
+													</xsl:variable>
+
+													<xsl:variable name="personId" select="dnet:oafId('person', $namespaceprefix, $originalPersonId)"/>
+													<xsl:variable name="position" select="position()"/>
+
+													<xsl:if test="string-length($personId) &gt; 0">
+														<ROW>
+															<xsl:attribute name="value">
+																<xsl:value-of select="dnet:person($personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname,
+								                                    $originalPersonId, $dateofcollection, $dateoftransformation, normalize-space(.), @nameIdentifier, @nameIdentifierScheme)"/>
+															</xsl:attribute>
+														</ROW>
+														<ROW>
+															<xsl:attribute name="value">
+																<xsl:value-of select="dnet:authorship($personId, $publicationId, $position, 'isAuthorOf', 'person_publication', $provenance, $trust, $about)"/>
+															</xsl:attribute>
+														</ROW>
+														<ROW>
+															<xsl:attribute name="value">
+																<xsl:value-of select="dnet:authorship($publicationId, $personId, $position, 'hasAuthor', 'person_publication', $provenance, $trust, $about)"/>
+															</xsl:attribute>
+														</ROW>
+													</xsl:if>
+												</xsl:if>
+											</xsl:for-each>
+										</ROWS>
+									</xsl:if>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:template>
+					</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/similarity_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/similarity_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/similarity_2_hbase.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a9e72b6b-c047-410d-885b-636c3390e9ef_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_similarity2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="source" select="/SIMILARITY/SOURCE/@id"/>
+		<xsl:variable name="target" select="/SIMILARITY/TARGET/@id"/>
+		<xsl:variable name="type" select="/SIMILARITY/TYPE/@name"/>
+		<xsl:variable name="isSimilarTo" select="'isSimilarTo'"/>
+		<xsl:variable name="relationType">
+			<xsl:choose>
+				<xsl:when test="$type = 'result'">publication_publication</xsl:when>
+				<xsl:when test="$type = 'person'">person_person</xsl:when>
+				<xsl:when test="$type = 'organization'">organization_organization</xsl:when>
+			</xsl:choose>
+		</xsl:variable>
+		<ROWS>
+			<xsl:if test="string-length($source) &gt; 0 and string-length($target) &gt; 0 and string-length($relationType) &gt; 0">
+				<ROW >
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($source, $target, $isSimilarTo, $relationType)"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/wos_rules.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/wos_rules.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/wos_rules.xml	(revision 51225)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5ac71ab7-a250-4d3d-9d5e-8e12d983ff4a_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-11T11:11:11+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>oaf_transformation_wos</TITLE>
+                <CODE><![CDATA[
+declare_script "oaf_transformation_wos";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+// +++ header section +++
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:recordIdentifier = xpath:"//csvRecord/column[@name='UT']";
+dri:dateOfCollection = xpath:"//dri:dateOfCollection";
+// dri:repositoryId
+oaf:datasourceprefix = "webcrawl____";
+// +++ metadata section +++
+dc:language = Convert(xpath:"//csvRecord/column[@name='LA']", Languages);
+dc:title = xpath:"//csvRecord/column[@name='TI']";
+%myTemplate = split(xpath:"//csvRecord/column[@name='AF']/text()", "dc:creator", ";");
+// dc:creator = xpath:"//csvRecord/column[@name='AF']/text()";
+$varIssn = xpath:"//csvRecord/column[@name='SN']";
+oaf:journal = set(xpath:"//csvRecord/column[@name='SO']", @issn = $varIssn;);
+dr:CobjCategory = Convert(xpath:"//csvRecord/column[@name='DT']", TextTypologies);
+// subjects must be ignored
+// dc:subject = xpath:"//csvRecord/column[@name='ID']";
+// abstract must be ignored
+// dc:description = xpath:"//csvRecord/column[@name='AB']";
+dc:publisher = xpath:"//csvRecord/column[@name='PU']";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::column[@name='PY']", DateISO8601, "yyyy-MM-dd", "min()");
+$varDoi = xpath:"concat('http://dx.doi.org/', normalize-space(//csvRecord/column[@name='DI']))";
+dc:identifier = $varDoi;
+if xpath:"//csvRecord/column[@name='OA'][text()='Y']" oaf:accessrights = "OPEN"; else oaf:accessrights = "CLOSED";
+oaf:identifier = set(xpath:"//csvRecord/column[@name='DI']", @identifierType = "doi";);
+oaf:hostedBy = set("''", @name="Unknown Repository";, @id="openaire____::1256f046-bf1f-4afc-8b47-d0b147148b18";);
+if xpath:"//csvRecord/column[@name='DI'][starts-with(., '10.')]" oaf:collectedFrom = set("''", @name="Crossref";, @id="openaire____::crossref";); else oaf:collectedFrom = set("''", @name="Web Crawl";, @id="openaire____::webcrawl";);
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_arxiv.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_arxiv.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_arxiv.xml	(revision 51225)
@@ -0,0 +1,76 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="18b2d7cb-dd69-4c58-9bad-8fcdb5972d5c_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-01-28T13:52:15+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAREplus_arxiv</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_arxiv";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+if xpath:"count(//dc:language) = 0" dc:language = "eng"; else dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 5" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+oaf:accessrights = "OPEN";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_doaj.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_doaj.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_doaj.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="1fa784c6-0fc3-489f-80b7-3c404b5d9d2c_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-29T13:15:18+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_doaj</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_doaj";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+// $varUnknownRepoId = "'openaire____::55045bd2a65019fd8e6741a755395c8c'";
+$varUnknownRepoId = "'openaire____::1256f046-bf1f-4afc-8b47-d0b147148b18'";
+$varUnknownRepoName = "'Unknown Repository'";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"//dc:creator[string-length(normalize-space(.)) &gt; 0][contains(., 'CDATA')][starts-with(normalize-space(.), '(')][starts-with(normalize-space(.), '.')]" dc:creator = skipRecord(); else $varDummy = "''";
+//apply xpath:"//dc:creator" if xpath:"string-length(normalize-space(.)) &amp;gt; 0 and not(contains(., 'CDATA')) and not(starts-with(normalize-space(.), '.')) and not(starts-with(normalize-space(.), '('))" dc:creator = Convert(xpath:".", Person); else $varDummy = "''";
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:relation[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+//apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = $varDatasourceid;
+//
+// apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+dr:CobjCategory = "0001";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+$varJournalName = xpath:"substring-before(//dc:source, ',')";
+oaf:journal = set($varJournalName, @issn = xpath:"//dc:identifier[string-length() = 9 and matches(., '(\d{4})-(\d{4})')][1]"; , @eissn = xpath:"//dc:identifier[string-length() = 9 and matches(., '(\d{4})-(\d{4})')][2]";);
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a8c3e147-a94f-4cad-bfc3-c795feed8029.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a8c3e147-a94f-4cad-bfc3-c795feed8029.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a8c3e147-a94f-4cad-bfc3-c795feed8029.xml	(revision 51225)
@@ -0,0 +1,33 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a8c3e147-a94f-4cad-bfc3-c795feed8029_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:dataCite_title">dnet:dataCite_title</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:dataCite_title</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="alternative title" encoding="OPENAIRE" english_name="alternative title" native_name="alternative title">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="main title" encoding="OPENAIRE" english_name="main title" native_name="main title">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="subtitle" encoding="OPENAIRE" english_name="subtitle" native_name="subtitle">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="translated title" encoding="OPENAIRE" english_name="translated title" native_name="translated title">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/344de4f6-8d27-4382-a3d5-5bcd3bf2c33e.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/344de4f6-8d27-4382-a3d5-5bcd3bf2c33e.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/344de4f6-8d27-4382-a3d5-5bcd3bf2c33e.xml	(revision 51225)
@@ -0,0 +1,73 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="344de4f6-8d27-4382-a3d5-5bcd3bf2c33e_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:36+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:access_modes">dnet:access_modes</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:access_modes</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="12 Months Embargo" code="12MONTHS" english_name="12 Months Embargo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="6 Months Embargo" code="6MONTHS" english_name="6 Months Embargo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Closed Access" code="CLOSED" english_name="Closed Access" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/closedAccess" encoding="openaireGuidelines"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Embargo" code="EMBARGO" english_name="Embargo" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/embargoedAccess" encoding="openaireGuidelines"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Open Access" code="OPEN" english_name="Open Access" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Creative Commons License [CC BY-NC-ND] http://creativecommons.org/licenses/by-nc-nd/3.0/de/" encoding="datacite"/>
+						<SYNONYM term="Creative commons" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by-nc-nd/3.0/" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by-nc/3.0/" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by-sa/3.0/" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by-sa/4.0/" encoding="zenodo"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by/3.0/" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by/3.0/us/" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by/4.0/" encoding="zenodo"/>
+						<SYNONYM term="http://creativecommons.org/publicdomain/zero/1.0/" encoding="zenodo"/>
+						<SYNONYM term="http://creativecommons.org/publicdomain/zero/1.0/ &amp; http://www.canadensys.net/norms" encoding="datacite"/>
+						<SYNONYM term="info:eu-repo/semantics/openAccess" encoding="openaireGuidelines"/>
+						<SYNONYM term="open_access" encoding="DINI"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Other" code="OTHER" english_name="Other" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Restricted" code="RESTRICTED" english_name="Restricted" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/restrictedAccess" encoding="openaireGuidelines"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="UNKNOWN" code="UNKNOWN" english_name="not available" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_dc2oaf_narcis.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_dc2oaf_narcis.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_dc2oaf_narcis.xml	(revision 51225)
@@ -0,0 +1,256 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="9cb0ed27-005c-4355-beff-f8e9a23c5a08_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2016-02-17T15:54:56+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_dc2oaf_narcis</TITLE>
+                <CODE>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1" 
+                             xmlns:dri="http://www.driver-repository.eu/namespace/dri" 
+                             xmlns:dc="http://purl.org/dc/elements/1.1/" 
+                             xmlns:oaf="http://namespace.openaire.eu/oaf" 
+                             xmlns:dr="http://www.driver-repository.eu/namespace/dr" 
+                             xmlns:transformExt="http://namespace.openaire.eu/java/org.apache.commons.codec.digest.DigestUtils" 
+                             xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                             extension-element-prefixes="transformExt TransformationFunction"
+                             exclude-result-prefixes="transformExt TransformationFunction" &gt;
+                        &lt;xsl:output indent="yes" omit-xml-declaration="yes"/&gt;
+
+  &lt;xsl:param name="varOfficialName" /&gt;
+  &lt;xsl:param name="varDsType" /&gt;
+  &lt;xsl:param name="varDataSourceId" /&gt;
+  &lt;xsl:param name="varFP7" select="'corda_______::'"/&gt;
+  &lt;xsl:param name="varH2020" select="'corda__h2020::'"/&gt;
+
+  &lt;xsl:param name="repoCode" select="substring-before(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], ':')"/&gt;
+
+  &lt;xsl:param name="index" select="0"/&gt;
+  &lt;xsl:param name="transDate" select="current-dateTime()"/&gt;
+  &lt;xsl:variable name="tf" select="TransformationFunction:getInstance()"/&gt;
+
+
+
+&lt;xsl:variable name="vCodes"&gt;
+  &lt;codes&gt;
+   &lt;code key="uva" value="od_______323"   id="opendoar____::323" name="Universiteit van Amsterdam Digital Academic Repository"/&gt;
+   &lt;code key="uvapub" value="od_______323"   id="opendoar____::323" name="Universiteit van Amsterdam Digital Academic Repository"/&gt;
+   &lt;code key="cwi" value="od______2358" id="opendoar____::2358" name="Repository CWI Amsterdam"/&gt; &lt;!-- CWI --&gt;
+   &lt;code key="eur" value="od______1113"  id="opendoar____::1113" name="Erasmus University Institutional Repository"/&gt;
+   &lt;code key="wur" value="od_______370"  id="opendoar____::370" name="Wageningen Yield"/&gt;
+   &lt;code key="uu" value="od_______101"    id="opendoar____::101" name="Utrecht University Repository"/&gt;
+   &lt;code key="ru" value="od______1236"    id="opendoar____::1236" name="Radboud Repository"/&gt; &lt;!-- Radboud --&gt;
+   &lt;code key="run" value="od______1236"  id="opendoar____::1236" name="Radboud Repository"/&gt; &lt;!-- Radboud --&gt;
+   &lt;code key="uvt" value="od_______550"   id="opendoar____::550" name="Tilburg University Repository"/&gt; &lt;!-- Tilburg --&gt;
+   &lt;code key="aup" value="od________19"   id="opendoar____::19" name="Amsterdam University Press Publications"/&gt; &lt;!-- amsterdam univ. press --&gt;
+   &lt;code key="rug" value="od_______189"  id="opendoar____::189" name="University of Groningen Digital Archive"/&gt; &lt;!-- groningen --&gt;
+   &lt;code key="dans" value="r384e1237760"  id="re3data_____::r3d100010214" name="EASY"/&gt; &lt;!--easy --&gt;
+   &lt;code key="differ" value="differ______"  id="openaire____::75ee19e2-ff9e-47f7-bed6-2e3ee23e2b49" name="Dutch Institute for Fundamental Energy Research"/&gt;
+   &lt;code key="kit" value="od______1423"  id="opendoar____::1423" name="Search4Dev"/&gt; &lt;!-- search4dev --&gt;
+   &lt;code key="ul" value="od_______202"  id="opendoar____::202" name="Leiden University Repository"/&gt; &lt;!-- leiden --&gt;
+   &lt;code key="um" value="od________83"  id="opendoar____::83" name="UM Publications"/&gt;
+   &lt;code key="knaw" value="od______1476"  id="opendoar____::1476" name="KNAW Repository"/&gt;
+   &lt;code key="vu" value="od_______369"  id="opendoar____::369" name="DSpace at VU"/&gt;
+   &lt;code key="ut" value="od_______354"  id="opendoar____::354" name="Universiteit Twente Repository"/&gt;
+   &lt;code key="hbo" value="hbo_________"  id="openaire____::79c8217f-00ee-4902-9743-9e11b4970c60" name="HBO Kennisbank"/&gt;
+   &lt;code key="kim" value="kim_________"  id="openaire____::b1b15b72-bf0b-4f91-9f95-dab2e43d3eaa" name="Publicaties KiM"/&gt;
+   &lt;code key="nivel" value="nivel_____nl"  id="driver______::daf0542d-1ef5-4f9d-80f1-62849b92aefa" name="NIVEL publications"/&gt;
+   &lt;code key="ntrl" value="od_______913"  id="opendoar____::913" name="Naturalis Publications"/&gt;
+   &lt;code key="nyenrode" value="nyenrode____"  id="openaire____::e57352f3-516b-42cb-b666-2480233c6513" name="Publications of the University Nyenrode"/&gt;
+   &lt;code key="ou" value="od_______233"  id="opendoar____::233" name="DSpace at Open Universiteit Nederland "/&gt;
+   &lt;code key="ptu" value="ptu_________"  id="openaire____::openaire____::f834f1fe-8198-4929-ac0b-b1c1bf166f38" name="Protestantse Theologische Universiteit"/&gt;
+   &lt;code key="rivm" value="od_______881"  id="opendoar____::881" name="Web-based Archive of RIVM Publications"/&gt;
+   &lt;code key="scp" value="scp_________"  id="openaire____::088a0087-4bc6-4c38-a052-b446c3b225a7" name="Sociaal en Cultureel Planbureau"/&gt;
+   &lt;code key="swov" value="swov________"  id="openaire____::06d89df2-b613-4989-9dc3-f60f2fc593f6" name="Stichting Wetenschappelijk Onderzoek Verkeersveiligheid (SWOV) Library Repository"/&gt;
+   &lt;code key="tno" value="tno_________"  id="openaire____::58fd0ad2-c476-11e5-80b3-0021e9e777ac" name="TNO Repository - hosted by TU Delft Library"/&gt;
+   &lt;code key="tue" value="od_______567"  id="opendoar____::567" name="Repository TU/e"/&gt;
+   &lt;code key="tuk" value="tuk_________"  id="openaire____::df55d991-1ebb-459c-aed6-559bcbb1d277::" name="Theological University Kampen"/&gt;
+   &lt;code key="uvh" value="uvh_______nl"  id="driver______::a422c38b-73de-44bf-a340-a4fd5f0817ea" name="Universiteit voor Humanistiek"/&gt;
+   &lt;code key="tua" value="tua_________"   id="openaire____::cd073e1e-2fe9-4ea7-aea5-dc6855c347f7" name="Theological University Apeldoorn"/&gt;
+   &lt;code key="tud" value="od_______571"   id="opendoar____::571" name="TU Delft Repository"/&gt;
+   &lt;code key="wodc" value="wodc______nl"   id="driver______::03c60250-9d65-44fe-85d3-23503b3303af" name="WODC Repository Ministerie van Veiligheid en Justitie"/&gt; 
+   &lt;code key="unesco" value="unesco___ihe"  id="2877c7c4-b57a-4f62-9c16-d7faa5b0b98b" name="UNESCO-IHE Institute for Water Education"/&gt;
+  &lt;/codes&gt;
+ &lt;/xsl:variable&gt;
+&lt;!-- not considered
+hbo added
+tno added
+differ added
+nyenrode added
+beeldengeluis todo, not yet found in metadata
+philips todo, not yet found in metadata
+scp added
+swov added
+tuk added
+tua added
+ptu added
+ut_restricted ? merge with ut?
+nda
+neyenrode
+--&gt;
+&lt;xsl:key name="kCodeByName" match="code" use="string(@key)"/&gt;
+
+
+               &lt;xsl:template name="terminate"&gt;
+                	&lt;xsl:message terminate="yes"&gt;
+                             	record is not compliant, transformation is interrupted.
+                	&lt;/xsl:message&gt;
+               &lt;/xsl:template&gt;
+
+                        &lt;xsl:template match="/"&gt;
+                              &lt;record&gt;
+                                  &lt;xsl:apply-templates select="//*[local-name() = 'header']" /&gt;
+                                  &lt;metadata&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:title"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:title'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:creator"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:creator'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:contributor"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:contributor'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:description"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:description'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:subject"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:subject'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:publisher"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:publisher'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:source"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:source'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;dc:language&gt;
+                                             &lt;xsl:value-of select="TransformationFunction:convertString($tf, //dc:language, 'Languages')"/&gt;
+                                    &lt;/dc:language&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:rights"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:rights'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:relation"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:relation'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:if test="not(//dc:identifier[starts-with(., 'http')])"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                                   &lt;/xsl:if&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:identifier[starts-with(., 'http')]"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:identifier'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+         &lt;xsl:for-each select="//dc:relation"&gt;
+            &lt;xsl:if test="matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', 'i')"&gt;
+                &lt;oaf:projectid&gt;
+                    &lt;xsl:value-of select="concat($varFP7, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))"/&gt;
+                &lt;/oaf:projectid&gt;
+            &lt;/xsl:if&gt;
+            &lt;xsl:if test="matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')"&gt;
+                &lt;oaf:projectid&gt;
+                    &lt;xsl:value-of select="concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))"/&gt;
+                &lt;/oaf:projectid&gt;
+            &lt;/xsl:if&gt;
+         &lt;/xsl:for-each&gt;
+
+
+&lt;!--
+                                    &lt;xsl:if test="not(//didl:Component/didl:Resource[@mimeType='application/pdf'])"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                                   &lt;/xsl:if&gt;
+--&gt;
+
+                                  &lt;oaf:accessrights&gt;
+                                    &lt;xsl:value-of select="TransformationFunction:convert($tf, //dc:rights, 'AccessRights')"/&gt;
+                                  &lt;/oaf:accessrights&gt;
+                                  &lt;dr:CobjCategory&gt;
+                                  &lt;xsl:value-of 
+                 select="TransformationFunction:convertString($tf, //dc:type, 'TextTypologies')" /&gt;
+         &lt;/dr:CobjCategory&gt;
+
+         &lt;oaf:dateAccepted&gt;
+               &lt;xsl:value-of select="TransformationFunction:convertString($tf, //dc:date, 'DateISO8601')"/&gt;
+         &lt;/oaf:dateAccepted&gt;
+
+
+&lt;!--
+                                    &lt;oaf:fulltext&gt;&lt;xsl:value-of select="//didl:Component/didl:Resource[@mimeType='application/pdf']/@ref"/&gt;&lt;/oaf:fulltext&gt;
+--&gt;
+         &lt;oaf:hostedBy&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="key('kCodeByName', $repoCode, $vCodes)/@name"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="key('kCodeByName', $repoCode, $vCodes)/@id"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:hostedBy&gt;
+         &lt;oaf:collectedFrom&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="$varOfficialName"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="$varDataSourceId"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:collectedFrom&gt;
+                                  &lt;/metadata&gt;
+                                &lt;xsl:copy-of select="//*[local-name() = 'about']" /&gt;
+                              &lt;/record&gt;
+
+                        &lt;/xsl:template&gt;
+
+         &lt;xsl:template name="allElements"&gt;
+             &lt;xsl:param name="sourceElement"/&gt;
+             &lt;xsl:param name="targetElement"/&gt;
+             &lt;xsl:for-each select="$sourceElement"&gt;
+                &lt;xsl:element name="{$targetElement}"&gt;
+                    &lt;xsl:value-of select="normalize-space(.)"/&gt;
+                &lt;/xsl:element&gt;
+             &lt;/xsl:for-each&gt;
+          &lt;/xsl:template&gt;
+
+
+                      &lt;xsl:template match="//*[local-name() = 'header']"&gt;
+                         &lt;xsl:copy&gt;
+                            &lt;xsl:apply-templates  select="node()|@*"/&gt;
+                             &lt;xsl:element name="dr:dateOfTransformation"&gt;
+                                 &lt;xsl:value-of select="$transDate"/&gt;
+                             &lt;/xsl:element&gt;
+                         &lt;/xsl:copy&gt;
+                        &lt;/xsl:template&gt;
+
+&lt;!--
+                       &lt;xsl:template match="dri:objIdentifier"&gt;
+                         &lt;xsl:variable name="objIdentifier" select="substring-after(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], ':')"/&gt;
+                         &lt;xsl:variable name="nsPrefix" select="key('kCodeByName', $repoCode, $vCodes)/@value"/&gt;
+                         &lt;xsl:if test="string-length($nsPrefix) = 0"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                         &lt;/xsl:if&gt;
+                        &lt;xsl:copy&gt;
+                        &lt;xsl:value-of select="concat( $nsPrefix , '::', transformExt:md5Hex(string($objIdentifier)))"/&gt;
+                        &lt;/xsl:copy&gt;
+                       &lt;/xsl:template&gt;
+--&gt;
+                       &lt;xsl:template match="node()|@*"&gt;
+                            &lt;xsl:copy&gt;
+                                 &lt;xsl:apply-templates select="node()|@*"/&gt;
+                            &lt;/xsl:copy&gt;
+                       &lt;/xsl:template&gt;
+                    &lt;/xsl:stylesheet&gt;</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_fraunhofer.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_fraunhofer.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_fraunhofer.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="3ff02e38-f3d2-4ecc-9d45-7100256c979d_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-04-29T03:51:40+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_fraunhofer</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_fraunhofer";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:rights[starts-with(., 'openAccess')]  or count(//dc:relation[starts-with(normalize-space(.), 'info:eu-repo/grantAgreement')]) > 0" $varHttpTest = "true"; else dc:identifier = skipRecord();
+//if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last.xml	(revision 51225)
@@ -0,0 +1,83 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="351c08cd-08a7-4a7b-b629-80b828553164_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_dcrelation_last</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_dcrelation_last";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+$varHttpLinks = xpath:"//dc:relation[starts-with(., 'http')]";
+if xpath:"count($varHttpLinks) &gt; 0" $varHttpTest = "true"; else dc:identifier = skipRecord();
+dc:identifier = xpath:"$varHttpLinks[last()][normalize-space(.)]";
+dr:CobjIdentifier = xpath:"//dc:identifier[normalize-space(.)]";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'http') and position=last()" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ucl.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ucl.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ucl.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="52dfa952-2943-4d76-b964-981425a4c7f0_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_ucl</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_ucl";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+//apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = Convert(xpath:".", Person); else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+dc:identifier = xpath:"//dc:identifier[last()]";
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http') and position()!=last()" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_person_normalization.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_person_normalization.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_person_normalization.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c6a65d3b-16ea-423e-ac79-3821f1655986_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_person_normalization</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_person_normalization";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+//apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = Convert(xpath:".", Person); else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus.xml	(revision 51225)
@@ -0,0 +1,76 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="d8bf1473-4af6-4c18-8b27-fb59759908ed_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAREplus</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 5" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+oaf:accessrights = "OPEN";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_narcis.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_narcis.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_narcis.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="48a51f8f-4667-4a89-a812-16e82c5380dc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-12-04T10:05:24+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_narcis</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_narcis";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+$varHostedById = "'opendoar____::101'";
+$varHostedByName = "'Igitur Archief - Utrecht Publishing and Archiving Service'";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varHostedByName; , @id = $varHostedById;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant.xml	(revision 51225)
@@ -0,0 +1,84 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="b844840b-4efa-40a1-a1ce-90b4b63972c2_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$varFP7 = "'corda_______::'";
+$varH2020 = "'corda__h2020::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0 and not(contains(., 'US National Cancer Institute'))" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+dc:type = xpath:"//dc:type";
+dc:format = xpath:"//dc:format";
+dc:date = xpath:"//dc:date";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+// FP7
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varFP7, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+// H2020
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+dc:relation = xpath:"//dc:relation";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+// 1st param: list of xpath expresssions to be applied on the metadata in json syntax; 2nd param: xpath expression for the metadata record; 3rd param reg expr that matches with a negative lookahead for the first group and extracts digits of the second group
+$varPmId = identifierExtract('["//dc:relation[starts-with(normalize-space(.), \"info:eu-repo/semantics/altIdentifier/pmid/\")]"]' , xpath:"./*[local-name()='record']" , '(?!info:eu-repo/semantics/altIdentifier/pmid/)(\d+)');
+$varUrn = identifierExtract('["//dc:relation[starts-with(normalize-space(.), \"info:eu-repo/semantics/altIdentifier/urn/\")]"]' , xpath:"./*[local-name()='record']" , '(?!info:eu-repo/semantics/altIdentifier/urn/)(urn:nbn:.*)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:identifier = set(xpath:"$varPmId//value", @identifierType = "pmid";);
+oaf:identifier = set(xpath:"$varUrn//value", @identifierType = "urn";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_hku.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_hku.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_hku.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5fb66d83-2f9c-4a54-8b92-30486a0c99d3_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-03-19T12:49:39+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_hku</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_hku";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http://hdl.handle.net')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+// if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+if xpath:"not(//dc:rights[starts-with(., 'Creative Commons')] or //dc:publisher[starts-with(., 'BioMed Central')] or //dc:publisher[starts-with(., 'Public Library of Science')] or //dc:identifier[starts-with(., 'PMC')])" dc:publisher = skipRecord(); else oaf:accessrights = "OPEN";
+
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_zenodo_datacite.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_zenodo_datacite.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_zenodo_datacite.xml	(revision 51225)
@@ -0,0 +1,154 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="33e8cc88-3b4a-4a68-b332-7cae8baad8dc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-07-17T10:41:08+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_cleaning_zenodo_datacite</TITLE>
+                <CODE><![CDATA[
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
+ 		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+        	xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                extension-element-prefixes="TransformationFunction"
+                exclude-result-prefixes="TransformationFunction">
+
+  <xsl:param name="varOfficialName" />
+  <xsl:param name="varDsType" />
+  <xsl:param name="varDataSourceId" />
+  <xsl:param name="varCorda" select="'corda_______::'"/>
+
+  <xsl:param name="index" select="0"/>
+  <xsl:variable name="tf" select="TransformationFunction:getInstance()"/>
+
+
+  <xsl:template match="/">
+    <xsl:variable name="datasourcePrefix"
+             select="normalize-space(//oaf:datasourceprefix)" />
+    <xsl:call-template name="validRecord" />
+  </xsl:template>
+
+
+  <xsl:template name="validRecord">
+    <record>
+      <xsl:copy-of select="//*[local-name() = 'header']" />
+
+      <metadata>
+        <xsl:copy-of select="//*[local-name() = 'metadata']/*[local-name() = 'resource']" />
+
+         <xsl:if test="//*[local-name()='date']/@dateType='Available'">
+            <xsl:variable name='varEmbargoEndDate' 
+                select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='date'][@dateType='Available']), 'DateISO8601')"/>
+            <xsl:choose>
+              <xsl:when test="string-length($varEmbargoEndDate) > 0">
+                <oaf:embargoenddate>
+                  <xsl:value-of select="$varEmbargoEndDate"/>
+                </oaf:embargoenddate>
+              </xsl:when>
+              <xsl:otherwise>
+               <oaf:skip>
+                 <xsl:value-of select="TransformationFunction:skipRecord($tf, $index)"/>
+               </oaf:skip>
+              </xsl:otherwise>
+            </xsl:choose>
+         </xsl:if>
+
+         <dr:CobjCategory><xsl:value-of 
+                 select="TransformationFunction:convertString($tf, //*[local-name()='resourceType']/@resourceTypeGeneral, 'TextTypologies')" />
+         </dr:CobjCategory>
+
+         <oaf:dateAccepted>
+               <xsl:value-of select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='publicationYear']), 'DateISO8601')"/>           
+         </oaf:dateAccepted>
+         <xsl:choose>
+
+          <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+          <xsl:when test="//*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:choose>
+             <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'http://creativecommons.org')]">
+              <oaf:accessrights>
+                 <xsl:text>OPEN</xsl:text>
+              </oaf:accessrights>
+             </xsl:when>
+             <xsl:otherwise>
+              <oaf:accessrights>
+                 <xsl:text>CLOSED</xsl:text>
+              </oaf:accessrights>
+             </xsl:otherwise> 
+            </xsl:choose>
+          </xsl:otherwise>
+         </xsl:choose>
+
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+
+<!--
+    <xsl:if test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics/embargoedAccess')]">
+        <oaf:embargoenddate>
+          <xsl:value-of select="//*[local-name()='date']/@dateType='Available'"/>
+        </oaf:embargoenddate>
+    </xsl:if>
+-->
+
+         <xsl:for-each select="//*[local-name()='nameIdentifier']">
+            <xsl:if test="string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6">
+                <oaf:projectid>
+                    <xsl:value-of select="TransformationFunction:regExpr($tf, normalize-space(.), $varCorda, 's/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gm')"/>
+                </oaf:projectid>
+            </xsl:if>
+         </xsl:for-each>
+
+
+         <oaf:hostedBy>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varDataSourceId"/>
+            </xsl:attribute>
+         </oaf:hostedBy>
+         <oaf:collectedFrom>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varDataSourceId"/>
+            </xsl:attribute>
+         </oaf:collectedFrom>
+      </metadata>
+      <xsl:copy-of select="//*[local-name() = 'about']" />
+   </record>
+  </xsl:template>
+
+<!--
+  <xsl:template match="//*[local-name()='language']">
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+  </xsl:template>
+-->
+</xsl:stylesheet>
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_pangaea_datacite.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_pangaea_datacite.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_pangaea_datacite.xml	(revision 51225)
@@ -0,0 +1,157 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a9649911-1697-47df-922a-23ac4c1e593a_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-07-17T10:41:08+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_cleaning_pangaea_datacite</TITLE>
+                <CODE><![CDATA[
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
+ 		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+        	xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                extension-element-prefixes="TransformationFunction"
+                exclude-result-prefixes="TransformationFunction">
+
+  <xsl:param name="varOfficialName" />
+  <xsl:param name="varDsType" />
+  <xsl:param name="varDataSourceId" />
+  <xsl:param name="varCorda" select="'corda_______::'"/>
+
+  <xsl:param name="index" select="0"/>
+  <xsl:variable name="tf" select="TransformationFunction:getInstance()"/>
+
+
+  <xsl:template match="/">
+    <xsl:variable name="datasourcePrefix"
+             select="normalize-space(//oaf:datasourceprefix)" />
+    <xsl:call-template name="validRecord" />
+  </xsl:template>
+
+
+  <xsl:template name="validRecord">
+    <record>
+      <xsl:copy-of select="//*[local-name() = 'header']" />
+
+      <metadata>
+        <xsl:copy-of select="//*[local-name() = 'metadata']/*[local-name() = 'resource']" />
+
+		<xsl:copy-of select="//*[local-name() = 'metadata']/*[local-name() = 'relatedPublication']" copy-namespaces="no"/>
+		<xsl:copy-of select="//*[local-name() = 'metadata']/*[local-name() = 'relatedDataSet']" copy-namespaces="no"/>
+
+         <xsl:if test="//*[local-name()='date']/@dateType='Available'">
+            <xsl:variable name='varEmbargoEndDate' 
+                select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='date'][@dateType='Available']), 'DateISO8601')"/>
+            <xsl:choose>
+              <xsl:when test="string-length($varEmbargoEndDate) > 0">
+                <oaf:embargoenddate>
+                  <xsl:value-of select="$varEmbargoEndDate"/>
+                </oaf:embargoenddate>
+              </xsl:when>
+              <xsl:otherwise>
+               <oaf:skip>
+                 <xsl:value-of select="TransformationFunction:skipRecord($tf, $index)"/>
+               </oaf:skip>
+              </xsl:otherwise>
+            </xsl:choose>
+         </xsl:if>
+
+         <dr:CobjCategory><xsl:value-of 
+                 select="TransformationFunction:convertString($tf, //*[local-name()='resourceType']/@resourceTypeGeneral, 'TextTypologies')" />
+         </dr:CobjCategory>
+
+         <oaf:dateAccepted>
+               <xsl:value-of select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='publicationYear']), 'DateISO8601')"/>           
+         </oaf:dateAccepted>
+         <xsl:choose>
+
+          <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+          <xsl:when test="//*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:choose>
+             <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'http://creativecommons.org')]">
+              <oaf:accessrights>
+                 <xsl:text>OPEN</xsl:text>
+              </oaf:accessrights>
+             </xsl:when>
+             <xsl:otherwise>
+              <oaf:accessrights>
+                 <xsl:text>CLOSED</xsl:text>
+              </oaf:accessrights>
+             </xsl:otherwise> 
+            </xsl:choose>
+          </xsl:otherwise>
+         </xsl:choose>
+
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+
+<!--
+    <xsl:if test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics/embargoedAccess')]">
+        <oaf:embargoenddate>
+          <xsl:value-of select="//*[local-name()='date']/@dateType='Available'"/>
+        </oaf:embargoenddate>
+    </xsl:if>
+-->
+
+         <xsl:for-each select="//*[local-name()='nameIdentifier']">
+            <xsl:if test="string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6">
+                <oaf:projectid>
+                    <xsl:value-of select="TransformationFunction:regExpr($tf, normalize-space(.), $varCorda, 's/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gm')"/>
+                </oaf:projectid>
+            </xsl:if>
+         </xsl:for-each>
+
+
+         <oaf:hostedBy>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varDataSourceId"/>
+            </xsl:attribute>
+         </oaf:hostedBy>
+         <oaf:collectedFrom>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varDataSourceId"/>
+            </xsl:attribute>
+         </oaf:collectedFrom>
+      </metadata>
+      <xsl:copy-of select="//*[local-name() = 'about']" />
+   </record>
+  </xsl:template>
+
+<!--
+  <xsl:template match="//*[local-name()='language']">
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+  </xsl:template>
+-->
+</xsl:stylesheet>
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidatacite.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidatacite.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidatacite.xml	(revision 51225)
@@ -0,0 +1,245 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+			value="oaf2oaidatacite_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType" />
+		<RESOURCE_KIND value="TransformationRuleDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2001-12-31T12:00:00" />
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="oaf" layout="index"
+				interpretation="openaire" />
+			<SINK_METADATA_FORMAT name="oai_datacite" />
+			<IMPORTED />
+			<SCRIPT>
+				<TITLE>OAF to OAI_DATACITE</TITLE>
+				<CODE>
+					<!-- (M): Mandatory (R): Reccomended (M w A): Mandatory when Applicable -->
+					<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+						xmlns:datacite="http://datacite.org/schema/kernel-3" xmlns:oaf="http://namespace.openaire.eu/oaf"
+						version="1.0" exclude-result-prefixes="oaf">
+
+						<xsl:output method="xml" indent="yes"
+							omit-xml-declaration="yes" />
+
+						<xsl:variable name="openaireNamespace" select="string('oai:dnet:')" />
+
+						<xsl:template match="//oaf:entity">
+							<datacite:resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+								xsi:schemaLocation="http://datacite.org/schema/kernel-3 http://schema.datacite.org/meta/kernel-3/metadata.xsd">
+								<xsl:apply-templates />
+								<datacite:titles>
+									<xsl:for-each select="oaf:result/title/text()">
+										<datacite:title>
+											<xsl:value-of select="normalize-space(.)" />
+										</datacite:title>
+									</xsl:for-each>
+								</datacite:titles>
+								<datacite:descriptions>
+									<xsl:for-each select="oaf:result/description/text()">
+										<datacite:description descriptionType="Abstract">
+											<xsl:value-of select="normalize-space(.)" />
+										</datacite:description>
+									</xsl:for-each>
+								</datacite:descriptions>
+								<datacite:subjects>
+									<xsl:for-each select="oaf:result/subject[./text()]">
+										<xsl:choose>
+											<xsl:when test="@classname='keyword'">
+												<datacite:subject>
+													<xsl:value-of select="normalize-space(./text())" />
+												</datacite:subject>
+											</xsl:when>
+											<xsl:otherwise>
+												<datacite:subject subjectScheme="{@classid}">
+													<xsl:value-of select="normalize-space(./text())" />
+												</datacite:subject>
+											</xsl:otherwise>
+										</xsl:choose>
+									</xsl:for-each>
+								</datacite:subjects>
+								<!-- Dates are mandatory but we do not always have them... -->
+								<datacite:dates>
+									<datacite:date dateType="Issued">
+										<xsl:value-of select="oaf:result/dateofacceptance/text()" />
+									</datacite:date>
+									<xsl:variable name="embargoEndDate">
+										<xsl:value-of select="oaf:result/embargoenddate/text()" />
+									</xsl:variable>
+									<xsl:if test="$embargoEndDate != ''">
+										<datacite:date dateType="Available">
+											<xsl:value-of select="$embargoEndDate" />
+										</datacite:date>
+									</xsl:if>
+								</datacite:dates>
+								<!-- Size (O) -->
+								<datacite:sizes>
+									<xsl:for-each select="oaf:result/size/text()">
+										<datacite:size>
+											<xsl:value-of select="." />
+										</datacite:size>
+									</xsl:for-each>
+								</datacite:sizes>
+
+							</datacite:resource>
+						</xsl:template>
+
+
+						<!--Identifier (M) -->
+						<xsl:template match="oaf:result//webresource/url ">
+							<datacite:identifier identifierType="URL">
+								<xsl:value-of select="./text()" />
+							</datacite:identifier>
+						</xsl:template>
+
+						<!-- Alt id : we know it's only one because we do not deduplicate dataset -->
+						<xsl:template match="oaf:result/pid/text()">
+							<datacite:alternateIdentifiers>
+								<datacite:alternateIdentifier
+									alternateIdentifierType="{@classid}">
+									<xsl:value-of select="." />
+								</datacite:alternateIdentifier>
+							</datacite:alternateIdentifiers>
+						</xsl:template>
+
+						<!-- Handling relationships -->
+						<xsl:template match="oaf:result/rels">
+							<!-- Creators (M) -->
+							<datacite:creators>
+								<xsl:apply-templates select="./rel[./to/@class='hasAuthor']" />
+							</datacite:creators>
+							<datacite:contributors>
+								<!-- person contributors: not yet available in openaire -->
+								<xsl:apply-templates select="./rel[./to/@class='hasContributor']" />
+								<!-- contributor fields is also used to model funding information -->
+								<xsl:apply-templates select="./rel[./to/@class='isProducedBy']" />
+							</datacite:contributors>
+							<datacite:relatedIdentifiers>
+								<!-- Links to publications -->
+								<xsl:apply-templates
+									select="./rel[./resulttype/@classid='publication']" />
+							</datacite:relatedIdentifiers>
+
+						</xsl:template>
+
+						<!--Creator template -->
+						<xsl:template match="rel[./to/@class='hasAuthor']">
+							<datacite:creator>
+								<datacite:creatorName>
+									<xsl:value-of select="./fullname" />
+								</datacite:creatorName>
+							</datacite:creator>
+						</xsl:template>
+
+						<!-- Person Contributor template -->
+						<xsl:template match="rel[./to/@class='hasContributor']">
+							<datacite:contributor>
+								<datacite:contributorName>
+									<xsl:value-of select="./fullname" />
+								</datacite:contributorName>
+							</datacite:contributor>
+						</xsl:template>
+
+						<!-- Funding template, goes into contributors -->
+						<xsl:template match="rel[./to/@class='isProducedBy']">
+							<xsl:variable name="funder" select="./funding/funder/@shortname" />
+							<xsl:variable name="fundingProgramme" select="./funding/funding_level_0/@name"/>
+							<xsl:variable name="jurisdiction" select = "./funding/funder/@jurisdiction"/>
+							<datacite:contributor contributorType="Funder">
+								<datacite:contributorName>
+									<xsl:value-of select="$funder" />
+								</datacite:contributorName>
+								<datacite:nameIdentifier
+									nameIdentifierScheme="info">
+									<xsl:value-of
+										select="concat('info:eu-repo/grantAgreement/', $funder, '/', $fundingProgramme, '/', ./code, '/', $jurisdiction, '/' , ./title, '/', ./acronym)" />
+								</datacite:nameIdentifier>
+							</datacite:contributor>
+						</xsl:template>
+
+						<!-- Links to publication. The related id should be a DOI or similar, 
+							but we only have the openaire id for now... -->
+						<xsl:template match="rel[./resulttype/@classid='publication']">
+							<datacite:relatedIdentifier
+								relatedIdentifierType="openaire" relationType="IsReferencedBy">
+								<xsl:value-of select="concat($openaireNamespace, ./to/text())" />
+							</datacite:relatedIdentifier>
+						</xsl:template>
+
+						<!--publisher (M) from publisher -->
+						<xsl:template match="oaf:result/publisher/text()">
+							<datacite:publisher>
+								<xsl:value-of select="normalize-space(.)" />
+							</datacite:publisher>
+						</xsl:template>
+
+						<!-- Publication year (M) -->
+						<xsl:template match="oaf:result/dateofacceptance/text()">
+							<datacite:publicationYear>
+								<xsl:value-of select="normalize-space(substring-before(.,'-'))" />
+							</datacite:publicationYear>
+						</xsl:template>
+
+						<!-- Language (R) from language@classid -->
+						<xsl:template match="oaf:result/language/@classid">
+							<datacite:language>
+								<xsl:value-of select="." />
+							</datacite:language>
+						</xsl:template>
+
+						<!-- ResourceType (R) -->
+						<xsl:template
+							match="oaf:result/children/instance/instancetype[./@classname!='Unknown'] | oaf:result/resourcetype[./@classname != '']">
+							<datacite:resourceType resourceTypeGeneral="{./@classname}" />
+						</xsl:template>
+
+						<!-- Version (O) -->
+						<xsl:template match="oaf:result/version/text()">
+							<datacite:version>
+								<xsl:value-of select="." />
+							</datacite:version>
+						</xsl:template>
+
+
+						<!-- Rights list (M) -->
+						<xsl:template match="oaf:result/bestlicense">
+							<xsl:variable name="license">
+								<xsl:choose>
+									<xsl:when test="@classid='OPEN'">
+										<xsl:value-of select="string('info:eu-repo/semantics/openAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='CLOSED'">
+										<xsl:value-of select="string('info:eu-repo/semantics/closedAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='RESTRICTED'">
+										<xsl:value-of
+											select="string('info:eu-repo/semantics/restrictedAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='EMBARGO'">
+										<xsl:value-of
+											select="string('info:eu-repo/semantics/embargoedAccess')" />
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="string('info:eu-repo/semantics/unknownAccess')" />
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+							<datacite:rightsList>
+								<datacite:rights rightsURI="{$license}">
+									<xsl:value-of select="./@classname" />
+								</datacite:rights>
+							</datacite:rightsList>
+						</xsl:template>
+
+						<!-- Override default template -->
+						<xsl:template match="text()|@*" />
+					</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS />
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/EntityGrouperConfigurationDSResources/EntityGrouperConfigurationDSResourceType/c2b7fa8b-a3a3-439b-9799-02ea17e4d598.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/EntityGrouperConfigurationDSResources/EntityGrouperConfigurationDSResourceType/c2b7fa8b-a3a3-439b-9799-02ea17e4d598.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/EntityGrouperConfigurationDSResources/EntityGrouperConfigurationDSResourceType/c2b7fa8b-a3a3-439b-9799-02ea17e4d598.xml	(revision 51225)
@@ -0,0 +1,55 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c2b7fa8b-a3a3-439b-9799-02ea17e4d598_RW50aXR5R3JvdXBlckNvbmZpZ3VyYXRpb25EU1Jlc291cmNlcy9FbnRpdHlHcm91cGVyQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="EntityGrouperConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="EntityGrouperConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <GROUP><![CDATA[
+    index.conf {
+         publication { dups = true, links = [
+            { relType = publication_publication_isMergedIn, targetEntity = publication, expandAs = child, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype] },
+            { relType = publication_publication_merges, targetEntity = publication, expandAs = child, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype] },
+            { relType = publication_publication_isRelatedTo, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,pid] },
+            { relType = publication_publication_isAmongTopNSimilarDocuments, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },
+            { relType = publication_publication_hasAmongTopNSimilarDocuments, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },
+            { relType = publication_publication_isSupplementTo, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },
+            { relType = publication_publication_isSupplementedBy, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },
+            { relType = publication_publication_isPartOf, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },
+            { relType = publication_publication_hasPart, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] }
+         ]},
+         dataset { dups = true, links = [
+            { relType = dataset_dataset_isRelatedTo, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,pid] }
+         ]},
+         person { dups = false, links = [
+            { relType = person_publication_isAuthorOf, targetEntity = publication, expandAs = rel, symmetric = true, fields = [fullname,ranking] },
+            { relType = person_publication_isAuthorOf, targetEntity = dataset, expandAs = rel, symmetric = true, fields = [fullname,ranking] },
+            { relType = project_person_isContact, targetEntity = project, expandAs = rel, symmetric = true, fields = [fullname,email,fax,phone] }
+         ]},
+         datasource { dups = false, links = [
+            { relType = datasource_organization_provides, targetEntity = organization, expandAs = rel, symmetric = true, fields = [officialname,websiteurl,datasourcetype,aggregatortype,openairecompatibility] }
+         ]},
+         organization { dups = false, links = [
+            { relType = project_organization_isParticipant, targetEntity = project, expandAs = rel, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] },
+            { relType = datasource_organization_isProvidedBy, targetEntity = datasource, expandAs = rel, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] },
+            { relType = organization_organization_merges, targetEntity = organization, expandAs = child, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] },
+            { relType = organization_organization_isMergedIn, targetEntity = organization, expandAs = child, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] }
+         ]},
+         unknown { dups = false, links = []},
+         project { dups = false, links = [
+            { relType = project_organization_hasParticipant, targetEntity = organization, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] },
+            { relType = publication_project_produces, targetEntity = publication, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] },
+            { relType = dataset_project_produces, targetEntity = dataset, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] },
+            { relType = project_person_hasContact, targetEntity = person, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] }
+         ]}}
+                ]]></GROUP>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_CSIC.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_CSIC.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_CSIC.xml	(revision 51225)
@@ -0,0 +1,87 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="e545ed7a-a349-47e0-8387-c3bd9b1aab37_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-02-26T11:02:25+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_CSIC</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_CSIC";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+//preprocess p1 = dblookup("select id, officialname, accessinfopackage from datasources where accessinfopackage is not null");
+$var0 = "''";
+$varFP7 = "'corda_______::'";
+$varH2020 = "'corda__h2020::'";
+$varFCT="'fct_________::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = xpath:"//dri:recordIdentifier";
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+dc:format = xpath:"//dc:format";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')] and (//dc:rights[starts-with(normalize-space(.), 'openAccess')] or //dc:relation[starts-with(normalize-space(.), 'info:eu-repo/grantAgreement')])" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+dr:dateOfCollection = xpath:"//dri:dateOfCollection";
+dc:rights = xpath:"//dc:rights";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+// FP7
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varFP7, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+// H2020
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+// FCT
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/fct)/(.+)/(\d+)(.*)', 'i')]/concat($varFCT, replace(normalize-space(.), '(info:eu-repo/grantagreement/fct)/(.+)/(\d+)(.*)', '$3', 'i'))";
+dc:relation = xpath:"//dc:relation";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else $var0 = "''";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'openAccess')]" oaf:accessrights = "OPEN"; else $var0 = "''";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'closedAccess')]" oaf:accessrights = "CLOSED"; else $var0 = "''";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'embargoedAccess')]" oaf:accessrights = "EMBARGO"; else $var0 = "''";
+// if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/publication.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/publication.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/publication.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="acaf1433-8a35-4708-b903-ab35c899851d_RGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupOrchestrationDSResourceType"/>
+        <RESOURCE_KIND value="DedupOrchestrationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION enabled="true">
+            <DEDUPLICATION>
+                <ENTITY name="publication" code="50" label="Publication" />
+                <ACTION_SET id="dedup-similarity-publication" />
+                <SCAN_SEQUENCE>
+                	<SCAN id="c611ec67-eefc-4ffe-a5d4-cb3fc40a8baf_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                </SCAN_SEQUENCE>
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/27f3906a-b3ec-496d-b868-0b5d38af0276.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/27f3906a-b3ec-496d-b868-0b5d38af0276.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/27f3906a-b3ec-496d-b868-0b5d38af0276.xml	(revision 51225)
@@ -0,0 +1,72 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="27f3906a-b3ec-496d-b868-0b5d38af0276_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:provenanceActions">dnet:provenanceActions</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:provenanceActions</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="sysimport:crosswalk:aggregator" encoding="OPENAIRE" english_name="sysimport:crosswalk:aggregator" native_name="sysimport:crosswalk:aggregator">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:crosswalk:cris" encoding="OPENAIRE" english_name="sysimport:crosswalk:cris" native_name="sysimport:crosswalk:cris">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:crosswalk:datasetarchive" encoding="OPENAIRE" english_name="sysimport:crosswalk:datasetarchive" native_name="sysimport:crosswalk:datasetarchive">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:crosswalk:entityregistry" encoding="OPENAIRE" english_name="sysimport:crosswalk:entityregistry" native_name="sysimport:crosswalk:entityregistry">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:crosswalk:infospace" encoding="OPENAIRE" english_name="sysimport:crosswalk:infospace" native_name="sysimport:crosswalk:infospace">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:crosswalk:repository" encoding="OPENAIRE" english_name="sysimport:crosswalk:repository" native_name="sysimport:crosswalk:repository">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:aggregator" encoding="OPENAIRE" english_name="sysimport:mining:aggregator" native_name="sysimport:mining:aggregator">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:cris" encoding="OPENAIRE" english_name="sysimport:mining:cris" native_name="sysimport:mining:cris">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:datasetarchive" encoding="OPENAIRE" english_name="sysimport:mining:datasetarchive" native_name="sysimport:mining:datasetarchive">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:entityregistry" encoding="OPENAIRE" english_name="sysimport:mining:entityregistry" native_name="sysimport:mining:entityregistry">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:infospace" encoding="OPENAIRE" english_name="sysimport:mining:infospace" native_name="sysimport:mining:infospace">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:repository" encoding="OPENAIRE" english_name="sysimport:mining:repository" native_name="sysimport:mining:repository">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="user:claim:pid" encoding="OPENAIRE" english_name="user:claim:pid" native_name="user:claim:pid">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="user:claim:search" encoding="OPENAIRE" english_name="user:claim:search" native_name="user:claim:search">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="user:insert" encoding="OPENAIRE" english_name="user:insert" native_name="user:insert">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="" encoding="OPENAIRE" english_name="" native_name="">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/dedup-similarity-dataset.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/dedup-similarity-dataset.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/dedup-similarity-dataset.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="31272b5f-19c4-4cb2-b67a-69b0653e430d_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+		<RESOURCE_KIND value="ActionManagerSetDSResources"/>
+		<RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+		<DATE_OF_CREATION value="2014-11-17T21:50:06+00:00"/>
+	</HEADER>
+	<BODY>
+		<SET directory="dedup-similarity-dataset" id="dedup-similarity-dataset">dedup-similarity-dataset</SET>
+		<IMPACT>INSERT_UPDATE</IMPACT>
+		<RAW_SETS>
+			<LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+		</RAW_SETS>
+		<STATUS>
+			<LAST_EXECUTION_DATE/>
+			<NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+			<NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+		</STATUS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f335e2c6-6cc3-4d73-b630-56be6f1c45d6.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f335e2c6-6cc3-4d73-b630-56be6f1c45d6.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f335e2c6-6cc3-4d73-b630-56be6f1c45d6.xml	(revision 51225)
@@ -0,0 +1,69 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="f335e2c6-6cc3-4d73-b630-56be6f1c45d6_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-09-17T06:53:03+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="nsf:contractTypes">NSF Contract Types</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>NSF Contract Types</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="BOA/Task Order" code="BOA/Task Order" english_name="BOA/Task Order" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Continuing grant" code="Continuing grant" english_name="Continuing grant" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Contract" code="Contract" english_name="Contract" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Contract Interagency Agreement" code="Contract Interagency Agreement" english_name="Contract Interagency Agreement" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cooperative Agreement" code="Cooperative Agreement" english_name="Cooperative Agreement" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fellowship" code="Fellowship" english_name="Fellowship" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fixed Price Award" code="Fixed Price Award" english_name="Fixed Price Award" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Interagency Agreement" code="Interagency Agreement" english_name="Interagency Agreement" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Intergovernmental Personnel Award" code="Intergovernmental Personnel Award" english_name="Intergovernmental Personnel Award" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Personnel Agreement" code="Personnel Agreement" english_name="Personnel Agreement" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Standard Grant" code="Standard Grant" english_name="Standard Grant" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="GAA" code="GAA" english_name="GAA" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-09-17T08:45:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file

Property changes on: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f335e2c6-6cc3-4d73-b630-56be6f1c45d6.xml
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-preprocessing.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-preprocessing.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-preprocessing.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="55349610-304f-4629-b981-8d646bc25353_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T17:27:12+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-dataset-entities-preprocessing">iis-dataset-entities-preprocessing</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T17:27:12+00:00" creationDate="2014-11-17T13:20:05+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-preprocessing.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-preprocessing.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-preprocessing.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="45b785fe-1f56-493f-9207-c4d4c326e68e_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T17:27:12+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-referenced-datasets-preprocessing">iis-referenced-datasets-preprocessing</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" creationDate="2014-11-17T13:20:05+00:00" lastUpdate="2014-11-17T17:27:12+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/51b3a0ad-7054-4b3b-acbc-b3c9657f113c.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/51b3a0ad-7054-4b3b-acbc-b3c9657f113c.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/51b3a0ad-7054-4b3b-acbc-b3c9657f113c.xml	(revision 51225)
@@ -0,0 +1,93 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="51b3a0ad-7054-4b3b-acbc-b3c9657f113c_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2016-01-18T15:32:18+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:datasource_typologies">dnet:datasource_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:datasource_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="CRIS System" code="crissystem" english_name="CRIS System" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Data Repository" code="datarepository::unknown" english_name="Data Repository" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Data Repository Aggregator" code="aggregator::datarepository" english_name="Data Repository Aggregator" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Information Space" code="infospace" english_name="Information Space" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Institutional Repository" code="pubsrepository::institutional" english_name="Institutional Repository" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Institutional Repository Aggregator" code="aggregator::pubsrepository::institutional" english_name="Institutional Repository Aggregator" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Journal" code="pubsrepository::journal" english_name="Journal" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Journal Aggregator/Publisher" code="aggregator::pubsrepository::journals" english_name="Journal Aggregator/Publisher" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Other" code="pubsrepository::mock" english_name="Other" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Publication Catalogue" code="pubscatalogue::unknown" english_name="Publication Catalogue" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Publication Repository" code="pubsrepository::unknown" english_name="Publication Repository" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Publication Repository Aggregator" code="aggregator::pubsrepository::unknown" english_name="Publication Repository Aggregator" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Registry" code="entityregistry" english_name="Registry" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Scholarly Comm. Infrastructure" code="scholarcomminfra" english_name="Scholarly Comm. Infrastructure" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Thematic Repository" code="pubsrepository::thematic" english_name="Thematic Repository" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Web Source" code="websource" english_name="Web Source" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Registry of repositories" code="entityregistry::repositories" english_name="Registry of repositories" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Funder database" code="entityregistry::projects" english_name="Funder database" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-wos-entities.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-wos-entities.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-wos-entities.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ffbbde12-8694-40b8-926c-acd9e401b927_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T17:27:12+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-wos-entities">iis-wos-entities</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" creationDate="2014-11-17T13:20:05+00:00" lastUpdate="2014-11-17T17:27:12+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/1f3dacf7-2cbb-4b88-9afd-43a3fbd03042.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/1f3dacf7-2cbb-4b88-9afd-43a3fbd03042.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/1f3dacf7-2cbb-4b88-9afd-43a3fbd03042.xml	(revision 51225)
@@ -0,0 +1,29 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="1f3dacf7-2cbb-4b88-9afd-43a3fbd03042_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value="String"/>
+		<DATE_OF_CREATION value="2014-07-10T12:24:17+02:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="ModularUiLabels">ModularUiLabels</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>Labels used by the Modular UI</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="PendingRepositoryResources" encoding="DNET" english_name="Pending datasource" native_name="Pending datasource">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="RepositoryServiceResources" encoding="DNET" english_name="Valid datasource" native_name="Valid datasource">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2014-07-10T12:24:16+02:00"/>
+		</STATUS>
+		<SECURITY_PARAMETERS/>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file

Property changes on: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/1f3dacf7-2cbb-4b88-9afd-43a3fbd03042.xml
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.02.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.02.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.02.xml	(revision 51225)
@@ -0,0 +1,68 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="82b1c7fb-c36c-4291-8863-0393c7c588ee_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+           	<DESCRIPTION>1 - Person: Decision tree</DESCRIPTION>
+            <DEDUPLICATION>
+			{
+				"wf" : {
+			        "threshold" : "1.0",
+			        "dedupRun" : "001",
+			        "entityType" : "person",
+			        "orderField" : "fullname",
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "person" ],
+			        "includeChildren" : "true"
+			    },
+				"pace" : {
+					"clustering" : [
+						{ "name" : "personclustering", "fields" : [ "person" ], "params" : { } }
+					],
+					"model" : [
+			            { "name" : "fullname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person/metadata/fullname/value", "params" : { } },
+			            { "name" : "person", "algo" : "PersonDistance", "type" : "JSON", "weight" : "0.7", "ignoreMissing" : "false", "path" : "person", "params" : { "common.anchors" : "1", "common.surnames" : "3" } },
+			            { "name" : "lastname", "algo" : "Null", "type" : "String", "weight" : "0", "ignoreMissing" : "true", "path" : "person/metadata/secondnames/value" }
+					],
+					"blacklists" : {
+			            "lastname" : [
+				            "(?i)^wang$",
+				            "(?i)^~wang$",
+				            "(?i)^zhang$",
+				            "(?i)^zhou$",
+				            "(?i)^zhao$",
+				            "(?i)^li$",
+				            "(?i)^~li$",
+				            "(?i)^liu$",
+				            "(?i)^chen$",
+				            "(?i)^yang$",
+				            "(?i)^kim$",
+				            "(?i)^xu$",
+				            "(?i)^huang$",
+				            "(?i)^sun$",
+				            "(?i)^lee$",
+				            "(?i)^ma$",
+				            "(?i)^kim$",
+				            "(?i)^hu$",
+				            "(?i)^wu$",
+				            "(?i)^zhu$",
+				            "(?i)^lu$"
+			            ]
+	                }
+				}
+			}
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8a2b4126-1a8d-4c32-a52a-7b28430bab59.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8a2b4126-1a8d-4c32-a52a-7b28430bab59.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8a2b4126-1a8d-4c32-a52a-7b28430bab59.xml	(revision 51225)
@@ -0,0 +1,30 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="8a2b4126-1a8d-4c32-a52a-7b28430bab59_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="ec:funding_typologies">ec:funding_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>ec:funding_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="ec:frameworkprogram" encoding="OPENAIRE" english_name="frameworkprogram" native_name="frameworkprogram">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ec:program" encoding="OPENAIRE" english_name="program" native_name="program">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ec:specificprogram" encoding="OPENAIRE" english_name="specificprogram" native_name="specificprogram">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.01.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.01.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.01.xml	(revision 51225)
@@ -0,0 +1,70 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="2a81faf4-3412-48e2-a0a5-045636dedfb1_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+           	<DESCRIPTION>1 - Person: Merge by fullname</DESCRIPTION>
+            <DEDUPLICATION>
+			{
+				"wf" : {
+			        "threshold" : "1.0",
+			        "dedupRun" : "001",
+			        "entityType" : "person",
+			        "orderField" : "person",
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "person" ],
+			        "includeChildren" : "true"
+			    },
+				"pace" : {
+					"clustering" : [
+						{ "name" : "personclustering", "fields" : [ "person" ], "params" : { } }
+					],
+					"model" : [
+						{ "name" : "person", "algo" : "PersonDistance", "type" : "JSON", "weight" : "0", "ignoreMissing" : "false", "path" : "person" },
+			            { "name" : "fullname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person/metadata/fullname/value", "params" : { } },
+			            { "name" : "coanchors", "algo" : "PersonCoAnchorsDistance", "type" : "JSON", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person", "params" : { "common.anchors" : "1" } },
+			            { "name" : "coauthorsurnames", "algo" : "PersonCoAuthorSurnamesDistance", "type" : "JSON", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person", "params" : { "common.surnames" : "4" } },
+			            { "name" : "lastname", "algo" : "Null", "type" : "String", "weight" : "0", "ignoreMissing" : "true", "path" : "person/metadata/secondnames/value" }
+					],
+					"blacklists" : {
+			            "lastname" : [
+				            "(?i)^wang$",
+				            "(?i)^~wang$",
+				            "(?i)^zhang$",
+				            "(?i)^zhou$",
+				            "(?i)^zhao$",
+				            "(?i)^li$",
+				            "(?i)^~li$",
+				            "(?i)^liu$",
+				            "(?i)^chen$",
+				            "(?i)^yang$",
+				            "(?i)^kim$",
+				            "(?i)^xu$",
+				            "(?i)^huang$",
+				            "(?i)^sun$",
+				            "(?i)^lee$",
+				            "(?i)^ma$",
+				            "(?i)^kim$",
+				            "(?i)^hu$",
+				            "(?i)^wu$",
+				            "(?i)^zhu$",
+				            "(?i)^lu$"
+			            ]
+	                }
+				}
+			}
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/66daaedb-c0de-48d3-a1ff-60bf5756c9be.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/66daaedb-c0de-48d3-a1ff-60bf5756c9be.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/66daaedb-c0de-48d3-a1ff-60bf5756c9be.xml	(revision 51225)
@@ -0,0 +1,351 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="66daaedb-c0de-48d3-a1ff-60bf5756c9be_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:publication_resource">dnet:publication_resource</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:publication_resource</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="Annotation" code="0018" english_name="Annotation" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/annotation" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Article" code="0001" english_name="Article" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Article" encoding="OTHER"/>
+						<SYNONYM term="Article (author)" encoding="OTHER"/>
+						<SYNONYM term="Article - letter to the editor" encoding="DRIVER"/>
+						<SYNONYM term="Article / Letter to editor" encoding="DRIVER"/>
+						<SYNONYM term="Article / Letter to the editor" encoding="DRIVER"/>
+						<SYNONYM term="Article / Newspaper" encoding="DRIVER"/>
+						<SYNONYM term="Article in monograph or in proceedings" encoding="DRIVER"/>
+						<SYNONYM term="Article in proceedings" encoding="OTHER"/>
+						<SYNONYM term="Article-letter to the editor" encoding="DRIVER"/>
+						<SYNONYM term="Article/Letter to editor" encoding="DRIVER"/>
+						<SYNONYM term="Articolo" encoding="OTHER"/>
+						<SYNONYM term="Artículo" encoding="CSIC"/>
+						<SYNONYM term="Aufsatz" encoding="DRIVER"/>
+						<SYNONYM term="Institutional Series" encoding="OTHER"/>
+						<SYNONYM term="International Journal" encoding="OTHER"/>
+						<SYNONYM term="International Journal Abstract" encoding="OTHER"/>
+						<SYNONYM term="International Journal ISI/JCR" encoding="OTHER"/>
+						<SYNONYM term="Journal (full / special issue)" encoding="OTHER"/>
+						<SYNONYM term="Journal article" encoding="DRIVER"/>
+						<SYNONYM term="Journal article (on-line or printed)" encoding="DRIVER"/>
+						<SYNONYM term="Journal articles" encoding="HAL"/>
+						<SYNONYM term="National Journal" encoding="OTHER"/>
+						<SYNONYM term="Peer-reviewed Article" encoding="DRIVER"/>
+						<SYNONYM term="article in non peer-reviewed journal" encoding="OTHER"/>
+						<SYNONYM term="article in peer-reviewed journal" encoding="OTHER"/>
+						<SYNONYM term="doc-type:Journal Article" encoding="OTHER"/>
+						<SYNONYM term="doc-type:article" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/article" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="journalArticle" encoding="OTHER"/>
+						<SYNONYM term="journal_article" encoding="CrossRef DOI type"/>
+						<SYNONYM term="non peer-reviewed article" encoding="OTHER"/>
+						<SYNONYM term="proceeding with peer review" encoding="OTHER"/>
+						<SYNONYM term="text" encoding="OTHER"/>
+						<SYNONYM term="text (article)" encoding="OTHER"/>
+						<SYNONYM term="Journal Article/Review" encoding="RIOXX"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bachelor thesis" code="0008" english_name="Bachelor thesis" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Bachelor's Degree" encoding="OTHER"/>
+						<SYNONYM term="Bachelors Thesis" encoding="OTHER"/>
+						<SYNONYM term="Undergraduate Thesis" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/bachelorThesis" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Book" code="0002" english_name="Book" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Book (monograph)" encoding="DRIVER"/>
+						<SYNONYM term="Book - monograph - editorial book" encoding="DRIVER"/>
+						<SYNONYM term="Book Section" encoding="DRIVER"/>
+						<SYNONYM term="Buch" encoding="OTHER"/>
+						<SYNONYM term="International Book/Monograph" encoding="OTHER"/>
+						<SYNONYM term="Libro" encoding="CSIC"/>
+						<SYNONYM term="Monografia" encoding="OTHER"/>
+						<SYNONYM term="Monograph" encoding="DRIVER"/>
+						<SYNONYM term="National Book/Monograph" encoding="OTHER"/>
+						<SYNONYM term="book_series" encoding="CrossRef DOI type"/>
+						<SYNONYM term="book_title" encoding="CrossRef DOI type"/>
+						<SYNONYM term="doc-type:book" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/book" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="scientific book" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Collection" code="0022" english_name="Collection" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="collection" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Conference object" code="0004" english_name="Conference object" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Conference Paper" encoding="DRIVER"/>
+						<SYNONYM term="Conference contribution" encoding="DRIVER"/>
+						<SYNONYM term="Conference lecture" encoding="DRIVER"/>
+						<SYNONYM term="Conference or Workshop Item" encoding="DRIVER"/>
+						<SYNONYM term="Conference papers" encoding="HAL"/>
+						<SYNONYM term="Conference report" encoding="DRIVER"/>
+						<SYNONYM term="International Conference" encoding="OTHER"/>
+						<SYNONYM term="International Conference Abstract/Poster" encoding="OTHER"/>
+						<SYNONYM term="International Conference ISI/JCR" encoding="OTHER"/>
+						<SYNONYM term="International Conference communication/abstract/poster" encoding="OTHER"/>
+						<SYNONYM term="National Conference" encoding="OTHER"/>
+						<SYNONYM term="National Conference Abstract/Poster" encoding="OTHER"/>
+						<SYNONYM term="National Conference communication/abstract/poster" encoding="OTHER"/>
+						<SYNONYM term="Proceedings of a Conference" encoding="OTHER"/>
+						<SYNONYM term="Proceedings paper" encoding="OTHER"/>
+						<SYNONYM term="conference" encoding="OTHER"/>
+						<SYNONYM term="conference item" encoding="OTHER"/>
+						<SYNONYM term="conference proceeding" encoding="OTHER"/>
+						<SYNONYM term="conferenceObject" encoding="OTHER"/>
+						<SYNONYM term="conference_paper" encoding="OTHER"/>
+						<SYNONYM term="doc-type:conferenceObject" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/conferenceItem" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/conferenceObject" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="invited conference talk" encoding="OTHER"/>
+						<SYNONYM term="proceeding, seminar, workshop without peer review" encoding="OTHER"/>
+						<SYNONYM term="Conference Paper/Proceeding/Abstract" encoding="RIOXX"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Contribution for newspaper or weekly magazine" code="0005" english_name="Contribution for newspaper or weekly magazine" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/contributionToPeriodical" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dataset" code="0021" english_name="Dataset" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="dataset" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/DDIInstance" encoding="OPENAIRE"/>
+						<SYNONYM term="info:eu-repo/semantics/datafile" encoding="OPENAIRE"/>
+						<SYNONYM term="info:eu-repo/semantics/dataset" encoding="OPENAIRE"/>
+						<SYNONYM term="info:eu-repo/semantics/enhancedObjectFile" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Doctoral thesis" code="0006" english_name="Doctoral thesis" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Diss" encoding="DRIVER"/>
+						<SYNONYM term="Dissertation" encoding="DRIVER"/>
+						<SYNONYM term="Doctoral" encoding="OTHER"/>
+						<SYNONYM term="DoctoralThesis" encoding="DRIVER"/>
+						<SYNONYM term="PhD thesis" encoding="OTHER"/>
+						<SYNONYM term="Text.Thesis.Doctoral" encoding="DINI"/>
+						<SYNONYM term="Thesis" encoding="OTHER"/>
+						<SYNONYM term="Thesis or Dissertation" encoding="OTHER"/>
+						<SYNONYM term="Thesis.Doctoral" encoding="DRIVER"/>
+						<SYNONYM term="doc-type:doctoralThesis" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/doctoralThesis" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="these exercice" encoding="France"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Event" code="0023" english_name="Event" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="event" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="External research report" code="0009" english_name="External research report" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Tech-Report" encoding="DINI"/>
+						<SYNONYM term="Technical Report" encoding="OTHER"/>
+						<SYNONYM term="research report" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Film" code="0024" english_name="Film" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="film" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Image" code="0025" english_name="Image" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="image" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="InteractiveResource" code="0026" english_name="InteractiveResource" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="interactiveResource" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Internal report" code="0011" english_name="Internal report" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Internal note" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lecture" code="0010" english_name="Lecture" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Inaugural lecture" encoding="DRIVER"/>
+						<SYNONYM term="Public-Lecture" encoding="DINI"/>
+						<SYNONYM term="info:eu-repo/semantics/lecture" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Master thesis" code="0007" english_name="Master thesis" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Diploma Project" encoding="OTHER"/>
+						<SYNONYM term="MSc Thesis" encoding="OTHER"/>
+						<SYNONYM term="Master Degree" encoding=""/>
+						<SYNONYM term="Masterarbeit u.a." encoding="OTHER"/>
+						<SYNONYM term="Masters (Taught)" encoding=""/>
+						<SYNONYM term="Masters thesis" encoding="DRIVER"/>
+						<SYNONYM term="Masters-Thesis.Magister" encoding="DINI"/>
+						<SYNONYM term="Thesis.Master" encoding="DRIVER"/>
+						<SYNONYM term="doc-type:masterThesis" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/masterThesis" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="masterThesis" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Model" code="0027" english_name="Model" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="model" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Newsletter" code="0012" english_name="Newsletter" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Other" code="0020" english_name="Other" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Abstract" encoding="OTHER"/>
+						<SYNONYM term="Editorial" encoding="OTHER"/>
+						<SYNONYM term="Editorial ISI/JCR" encoding="OTHER"/>
+						<SYNONYM term="Exhibition" encoding="OTHER"/>
+						<SYNONYM term="HabilitationThesis" encoding="OTHER"/>
+						<SYNONYM term="Learning Object" encoding="OTHER"/>
+						<SYNONYM term="Patent" encoding="OTHER"/>
+						<SYNONYM term="Video" encoding="OTHER"/>
+						<SYNONYM term="artefact" encoding="OTHER"/>
+						<SYNONYM term="composition" encoding="OTHER"/>
+						<SYNONYM term="fotó" encoding="OTHER"/>
+						<SYNONYM term="grafika" encoding="OTHER"/>
+						<SYNONYM term="habilitation à diriger des recherches" encoding="OTHER"/>
+						<SYNONYM term="historicalDocument" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/other" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="learningObject" encoding="OTHER"/>
+						<SYNONYM term="map" encoding="OTHER"/>
+						<SYNONYM term="misc" encoding="OTHER"/>
+						<SYNONYM term="other publication" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Part of book or chapter of book" code="0013" english_name="Part of book or chapter of book" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Book Part (author)" encoding="OTHER"/>
+						<SYNONYM term="Book editorial" encoding="DRIVER"/>
+						<SYNONYM term="Book section" encoding="DRIVER"/>
+						<SYNONYM term="Book_Chapter" encoding="OTHER"/>
+						<SYNONYM term="Buchbeitrag" encoding="OTHER"/>
+						<SYNONYM term="Capítulo de libro" encoding="CSIC"/>
+						<SYNONYM term="Contribution to International Book/Monograph" encoding="OTHER"/>
+						<SYNONYM term="Contribution to International Book/Monograph ISI/JCR" encoding="OTHER"/>
+						<SYNONYM term="Contribution to National Book/Monograph" encoding="OTHER"/>
+						<SYNONYM term="Part of book - chapter" encoding="DRIVER"/>
+						<SYNONYM term="book chapter" encoding="OTHER"/>
+						<SYNONYM term="bookPart" encoding="OTHER"/>
+						<SYNONYM term="book_content" encoding="CrossRef DOI type"/>
+						<SYNONYM term="doc-type:bookPart" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/bookPart" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="scientific book chapter" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Patent" code="0019" english_name="Patent" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Patente" encoding="CSIC"/>
+						<SYNONYM term="info:eu-repo/semantics/patent" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="PhysicalObject" code="0028" english_name="PhysicalObject" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="physicalObject" encoding="DataCite"/>
+						<SYNONYM term="service" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Preprint" code="0016" english_name="Preprint" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Pre Print" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/preprint" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Report" code="0017" english_name="Report" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Deliverable" encoding="OTHER"/>
+						<SYNONYM term="Project Report" encoding="OTHER"/>
+						<SYNONYM term="doc-type:report" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/report" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="report" encoding="OTHER"/>
+						<SYNONYM term="report-paper_title" encoding="CrossRef DOI type"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Research" code="0014" english_name="Research" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Arbeitspapier" encoding="OTHER"/>
+						<SYNONYM term="Paper" encoding="DINI"/>
+						<SYNONYM term="Research-Paper" encoding="DINI"/>
+						<SYNONYM term="ResearchPaper" encoding="DINI"/>
+						<SYNONYM term="Working / discussion paper" encoding="OTHER"/>
+						<SYNONYM term="Working Paper" encoding="OTHER"/>
+						<SYNONYM term="doc-type:workingPaper" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/paper" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/workingPaper" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="workingPaper" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Review" code="0015" english_name="Review" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/review" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Software" code="0029" english_name="Software" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="software" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sound" code="0030" english_name="Sound" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sound" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Unknown" code="0000" english_name="Unknown" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-12-17T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c71a2bfc-3509-463b-85d0-0db535556a94.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c71a2bfc-3509-463b-85d0-0db535556a94.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c71a2bfc-3509-463b-85d0-0db535556a94.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="c71a2bfc-3509-463b-85d0-0db535556a94_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="wt:contractTypes">wt:contractTypes</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>wt:contractTypes</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c3bfbbcb-22db-4955-b7ab-2aae8bf53eb8.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c3bfbbcb-22db-4955-b7ab-2aae8bf53eb8.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c3bfbbcb-22db-4955-b7ab-2aae8bf53eb8.xml	(revision 51225)
@@ -0,0 +1,173 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="c3bfbbcb-22db-4955-b7ab-2aae8bf53eb8_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2016-03-18T11:25:22+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="ec:h2020toas">Horizon 2020 - Type of Actions</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>Horizon 2020 - Type of Actions</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="ERC-ADG" encoding="OPENAIRE" english_name="Advanced Grant" native_name="Advanced Grant">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="BBI-IA-DEMO" encoding="OPENAIRE" english_name="Bio-based Industries Innovation action - Demonstration" native_name="Bio-based Industries Innovation action - Demonstration">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="BBI-IA-FLAG" encoding="OPENAIRE" english_name="Bio-based Industries Innovation action - Flagship" native_name="Bio-based Industries Innovation action - Flagship">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="BBI-RIA" encoding="OPENAIRE" english_name="Bio-based Industries Research and Innovation action" native_name="Bio-based Industries Research and Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-IF-EF-CAR" encoding="OPENAIRE" english_name="CAR – Career Restart panel" native_name="CAR – Career Restart panel">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="COFUND-EJP" encoding="OPENAIRE" english_name="COFUND (European Joint Programme)" native_name="COFUND (European Joint Programme)">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="COFUND-PCP" encoding="OPENAIRE" english_name="COFUND (PCP)" native_name="COFUND (PCP)">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="COFUND-PPI" encoding="OPENAIRE" english_name="COFUND (PPI)" native_name="COFUND (PPI)">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="CS2-IA" encoding="OPENAIRE" english_name="CS2 Innovation Action" native_name="CS2 Innovation Action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="CS2-RIA" encoding="OPENAIRE" english_name="CS2 Research and Innovation action" native_name="CS2 Research and Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="CSA-LS" encoding="OPENAIRE" english_name="CSA Lump sum" native_name="CSA Lump sum">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ERC-COG" encoding="OPENAIRE" english_name="Consolidator Grant" native_name="Consolidator Grant">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="FCH2-CSA" encoding="OPENAIRE" english_name="Coordination &amp; support action" native_name="Coordination &amp; support action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="CSA" encoding="OPENAIRE" english_name="Coordination and support action" native_name="Coordination and support action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-COFUND-DP" encoding="OPENAIRE" english_name="Doctoral programmes" native_name="Doctoral programmes">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ECSEL-IA" encoding="OPENAIRE" english_name="ECSEL Innovation Action" native_name="ECSEL Innovation Action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ECSEL-RIA" encoding="OPENAIRE" english_name="ECSEL Research and Innovation Actions" native_name="ECSEL Research and Innovation Actions">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ERA-NET-Cofund" encoding="OPENAIRE" english_name="ERA-NET Cofund" native_name="ERA-NET Cofund">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ERC-LVG" encoding="OPENAIRE" english_name="ERC low value grant" native_name="ERC low value grant">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-ITN-EID" encoding="OPENAIRE" english_name="European Industrial Doctorates" native_name="European Industrial Doctorates">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-ITN-EJD" encoding="OPENAIRE" english_name="European Joint Doctorates" native_name="European Joint Doctorates">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-ITN-ETN" encoding="OPENAIRE" english_name="European Training Networks" native_name="European Training Networks">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="FCH2-IA" encoding="OPENAIRE" english_name="FCH2 Innovation action" native_name="FCH2 Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="FCH2-RIA" encoding="OPENAIRE" english_name="FCH2 Research and Innovation action" native_name="FCH2 Research and Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-COFUND-FP" encoding="OPENAIRE" english_name="Fellowship programmes" native_name="Fellowship programmes">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-IF-GF" encoding="OPENAIRE" english_name="Global Fellowships" native_name="Global Fellowships">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="IA" encoding="OPENAIRE" english_name="Innovation action" native_name="Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ERC-POC" encoding="OPENAIRE" english_name="Proof of Concept Grant" native_name="Proof of Concept Grant">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-IF-EF-RI" encoding="OPENAIRE" english_name="RI – Reintegration panel" native_name="RI – Reintegration panel">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-RISE" encoding="OPENAIRE" english_name="RISE" native_name="RISE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="RIA" encoding="OPENAIRE" english_name="Research and Innovation action" native_name="Research and Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="SESAR-RIA" encoding="OPENAIRE" english_name="SESAR: Research and Innovation action" native_name="SESAR: Research and Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="SGA-RIA" encoding="OPENAIRE" english_name="SGA Research and Innovation action" native_name="SGA-RIA">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="SME-1" encoding="OPENAIRE" english_name="SME instrument phase 1" native_name="SME instrument phase 1">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="SME-2" encoding="OPENAIRE" english_name="SME instrument phase 2" native_name="SME instrument phase 2">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="SGA-CSA" encoding="OPENAIRE" english_name="Specific Grant agreement and Coordination and Support Action" native_name="Specific Grant agreement and Coordination and Support Action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-IF-EF-ST" encoding="OPENAIRE" english_name="Standard EF" native_name="Standard EF">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ERC-STG" encoding="OPENAIRE" english_name="Starting Grant" native_name="Starting Grant">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f3fd5714-3be7-4b68-8ab1-b0620850e11d.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f3fd5714-3be7-4b68-8ab1-b0620850e11d.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f3fd5714-3be7-4b68-8ab1-b0620850e11d.xml	(revision 51225)
@@ -0,0 +1,66 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="f3fd5714-3be7-4b68-8ab1-b0620850e11d_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:36+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="datacite:id_typologies">datacite:id_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>datacite:id_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="ARK" encoding="OPENAIRE" english_name="ARK" native_name="ARK">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="DOI" encoding="OPENAIRE" english_name="DOI" native_name="DOI">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="EAN13" encoding="OPENAIRE" english_name="EAN13" native_name="EAN13">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="EISSN" encoding="OPENAIRE" english_name="EISSN" native_name="EISSN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Handle" encoding="OPENAIRE" english_name="Handle" native_name="Handle">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ISBN" encoding="OPENAIRE" english_name="ISBN" native_name="ISBN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ISSN" encoding="OPENAIRE" english_name="ISSN" native_name="ISSN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ISTC" encoding="OPENAIRE" english_name="ISTC" native_name="ISTC">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="LISSN" encoding="OPENAIRE" english_name="LISSN" native_name="LISSN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="LSID" encoding="OPENAIRE" english_name="LSID" native_name="LSID">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="PURL" encoding="OPENAIRE" english_name="PURL" native_name="PURL">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UPC" encoding="OPENAIRE" english_name="UPC" native_name="UPC">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="URL" encoding="OPENAIRE" english_name="URL" native_name="URL">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="URN" encoding="OPENAIRE" english_name="URN" native_name="URN">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a157e2cc-afe7-41aa-b5f1-f745aaab9271.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a157e2cc-afe7-41aa-b5f1-f745aaab9271.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a157e2cc-afe7-41aa-b5f1-f745aaab9271.xml	(revision 51225)
@@ -0,0 +1,1984 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a157e2cc-afe7-41aa-b5f1-f745aaab9271_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:languages">dnet:languages</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:languages</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="Abkhazian" code="abk" english_name="Abkhazian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ab" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Achinese" code="ace" english_name="Achinese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Acoli" code="ach" english_name="Acoli" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Adangme" code="ada" english_name="Adangme" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Afar" code="aar" english_name="Afar" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="aa" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Afrihili" code="afh" english_name="Afrihili" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Afrikaans" code="afr" english_name="Afrikaans" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="af" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Afro-Asiatic" code="afa" english_name="Afro-Asiatic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Akan" code="aka" english_name="Akan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Akkadian" code="akk" english_name="Akkadian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Albanian" code="alb/sqi" english_name="Albanian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sq" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aleut" code="ale" english_name="Aleut" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Algonquian languages" code="alg" english_name="Algonquian languages" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Altaic" code="tut" english_name="Altaic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Amharic" code="amh" english_name="Amharic" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="am" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ancient Egyptian" code="egy" english_name="Ancient Egyptian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ancient Greek" code="grc" english_name="Ancient Greek" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Apache" code="apa" english_name="Apache" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Arabic" code="ara" english_name="Arabic" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ar" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aragonese" code="arg" english_name="Aragonese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aramaic" code="arc" english_name="Aramaic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Arapaho" code="arp" english_name="Arapaho" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Araucanian" code="arn" english_name="Araucanian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Arawak" code="arw" english_name="Arawak" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Armenian" code="arm/hye" english_name="Armenian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="hy" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Artificial" code="art" english_name="Artificial" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Assamese" code="asm" english_name="Assamese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="as" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Athapascan" code="ath" english_name="Athapascan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Austronesian" code="map" english_name="Austronesian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Auxiliary Language Association)" code="ina" english_name="Auxiliary Language Association)" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ia" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Avaric" code="ava" english_name="Avaric" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Avestan" code="ave" english_name="Avestan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Awadhi" code="awa" english_name="Awadhi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aymara" code="aym" english_name="Aymara" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ay" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Azerbaijani" code="aze" english_name="Azerbaijani" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="az" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aztec" code="nah" english_name="Aztec" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Balinese" code="ban" english_name="Balinese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Baltic" code="bat" english_name="Baltic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Baluchi" code="bal" english_name="Baluchi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bambara" code="bam" english_name="Bambara" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bamileke" code="bai" english_name="Bamileke" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Banda" code="bad" english_name="Banda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bantu" code="bnt" english_name="Bantu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Basa" code="bas" english_name="Basa" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bashkir" code="bak" english_name="Bashkir" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ba" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Basque" code="baq/eus" english_name="Basque" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="eu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Beja" code="bej" english_name="Beja" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Belarusian" code="bel" english_name="Belarusian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="be" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bemba" code="bem" english_name="Bemba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bengali" code="ben" english_name="Bengali" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="bn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Berber" code="ber" english_name="Berber" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bhojpuri" code="bho" english_name="Bhojpuri" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bihari" code="bih" english_name="Bihari" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="bh" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bikol" code="bik" english_name="Bikol" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bini" code="bin" english_name="Bini" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bislama" code="bis" english_name="Bislama" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="bi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bokmål, Norwegian; Norwegian Bokmål" code="nob" english_name="Bokmål, Norwegian; Norwegian Bokmål" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bosnian" code="bos" english_name="Bosnian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Braj" code="bra" english_name="Braj" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Breton" code="bre" english_name="Breton" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="br" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Buginese" code="bug" english_name="Buginese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bulgarian" code="bul" english_name="Bulgarian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="bg" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Buriat" code="bua" english_name="Buriat" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Burmese" code="bur/mya" english_name="Burmese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="my" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Caddo" code="cad" english_name="Caddo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Carib" code="car" english_name="Carib" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Catalan; Valencian" code="cat" english_name="Catalan; Valencian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ca" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Caucasian" code="cau" english_name="Caucasian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cebuano" code="ceb" english_name="Cebuano" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Celtic" code="cel" english_name="Celtic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Central American Indian" code="cai" english_name="Central American Indian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chagatai" code="chg" english_name="Chagatai" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chamorro" code="cha" english_name="Chamorro" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chechen" code="che" english_name="Chechen" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cherokee" code="chr" english_name="Cherokee" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chewa; Chichewa; Nyanja" code="nya" english_name="Chewa; Chichewa; Nyanja" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cheyenne" code="chy" english_name="Cheyenne" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chibcha" code="chb" english_name="Chibcha" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chinese" code="chi/zho" english_name="Chinese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="zh" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chinook jargon" code="chn" english_name="Chinook jargon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Choctaw" code="cho" english_name="Choctaw" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Church Slavic; Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" code="chu" english_name="Church Slavic; Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chuvash" code="chv" english_name="Chuvash" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Coptic" code="cop" english_name="Coptic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cornish" code="cor" english_name="Cornish" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Corsican" code="cos" english_name="Corsican" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="co" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cree" code="cre" english_name="Cree" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Creek" code="mus" english_name="Creek" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Creoles and Pidgins" code="crp" english_name="Creoles and Pidgins" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Croatian" code="hrv" english_name="Croatian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="hr" encoding="iso639-1"/>
+						<SYNONYM term="hr" encoding="iso639-1"/>
+						<SYNONYM term="scr/hrv" encoding="unknown"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cushitic" code="cus" english_name="Cushitic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Czech" code="ces/cze" english_name="Czech" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="cs" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dakota" code="dak" english_name="Dakota" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Danish" code="dan" english_name="Danish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="da" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Delaware" code="del" english_name="Delaware" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dinka" code="din" english_name="Dinka" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Divehi" code="div" english_name="Divehi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dogri" code="doi" english_name="Dogri" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dravidian" code="dra" english_name="Dravidian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Duala" code="dua" english_name="Duala" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dutch; Flemish" code="dut/nld" english_name="Dutch; Flemish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="dut/nla" encoding="iso639-obsolet"/>
+						<SYNONYM term="dutdut" encoding="DRIVER"/>
+						<SYNONYM term="nl" encoding="iso639-1"/>
+						<SYNONYM term="nl_be" encoding="DRIVER"/>
+						<SYNONYM term="nl_nl" encoding="DRIVER"/>
+						<SYNONYM term="nld" encoding="DRIVER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dyula" code="dyu" english_name="Dyula" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dzongkha" code="dzo" english_name="Dzongkha" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="dz" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Efik" code="efi" english_name="Efik" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ekajuk" code="eka" english_name="Ekajuk" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Elamite" code="elx" english_name="Elamite" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="English" code="eng" english_name="English" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="en" encoding="iso639-1"/>
+						<SYNONYM term="en_au" encoding="DRIVER"/>
+						<SYNONYM term="en_en" encoding="DRIVER"/>
+						<SYNONYM term="en_gb" encoding="DRIVER"/>
+						<SYNONYM term="en_nz" encoding="DRIVER"/>
+						<SYNONYM term="en_us" encoding="DRIVER"/>
+						<SYNONYM term="english" encoding="DRIVER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="English-based Creoles and Pidgins" code="cpe" english_name="English-based Creoles and Pidgins" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Eskimo" code="esk" english_name="Eskimo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Esperanto" code="epo" english_name="Esperanto" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="eo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Estonian" code="est" english_name="Estonian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="et" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ewe" code="ewe" english_name="Ewe" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ewondo" code="ewo" english_name="Ewondo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fang" code="fan" english_name="Fang" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fanti" code="fat" english_name="Fanti" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Faroese" code="fao" english_name="Faroese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fijian" code="fij" english_name="Fijian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fj" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Finnish" code="fin" english_name="Finnish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Finno-Ugrian" code="fiu" english_name="Finno-Ugrian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fon" code="fon" english_name="Fon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="French" code="fra/fre" english_name="French" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fr" encoding="iso639-1"/>
+						<SYNONYM term="fr_be" encoding="DRIVER"/>
+						<SYNONYM term="fr_fr" encoding="DRIVER"/>
+						<SYNONYM term="fre/fra" encoding="iso639-2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="French-based Creoles and Pidgins" code="cpf" english_name="French-based Creoles and Pidgins" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Frisian" code="fry" english_name="Frisian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fy" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fulah" code="ful" english_name="Fulah" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ga" code="gaa" english_name="Ga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gaelic" code="gae/gdh" english_name="Gaelic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gaelic; Scottish Gaelic" code="gla" english_name="Gaelic; Scottish Gaelic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Galician" code="glg" english_name="Galician" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="gl" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ganda" code="lug" english_name="Ganda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gayo" code="gay" english_name="Gayo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Geez" code="gez" english_name="Geez" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Georgian" code="geo/kat" english_name="Georgian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ka" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="German" code="deu/ger" english_name="German" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="de" encoding="iso639-1"/>
+						<SYNONYM term="ger/deu" encoding="iso639-2"/>
+						<SYNONYM term="german" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Germanic" code="gem" english_name="Germanic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gikuyu; Kikuyu" code="kik" english_name="Gikuyu; Kikuyu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gilbertese" code="gil" english_name="Gilbertese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gondi" code="gon" english_name="Gondi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gothic" code="got" english_name="Gothic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Grebo" code="grb" english_name="Grebo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Greek" code="ell/gre" english_name="Greek" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="el" encoding="iso639-1"/>
+						<SYNONYM term="gr" encoding="Nemertes"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Greek, Modern (1453-)" code="gre/ell" english_name="Greek, Modern (1453-)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Greenlandic; Kalaallisut" code="kal" english_name="Greenlandic; Kalaallisut" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="kl" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guarani" code="grn" english_name="Guarani" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="gn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gujarati" code="guj" english_name="Gujarati" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="gu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Haida" code="hai" english_name="Haida" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Haitian; Haitian Creole" code="hat" english_name="Haitian; Haitian Creole" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hausa" code="hau" english_name="Hausa" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ha" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hawaiian" code="haw" english_name="Hawaiian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hebrew" code="heb" english_name="Hebrew" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="he" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Herero" code="her" english_name="Herero" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hiligaynon" code="hil" english_name="Hiligaynon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Himachali" code="him" english_name="Himachali" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hindi" code="hin" english_name="Hindi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="hi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hiri Motu" code="hmo" english_name="Hiri Motu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hungarian" code="hun" english_name="Hungarian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="hu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hupa" code="hup" english_name="Hupa" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iban" code="iba" english_name="Iban" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Icelandic" code="ice/isl" english_name="Icelandic" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="is" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ido" code="ido" english_name="Ido" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Igbo" code="ibo" english_name="Igbo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ijo" code="ijo" english_name="Ijo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iloko" code="ilo" english_name="Iloko" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Indic" code="inc" english_name="Indic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Indo-European" code="ine" english_name="Indo-European" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="-" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Indonesian" code="ind" english_name="Indonesian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="id" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Interlingue" code="ile" english_name="Interlingue" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Inuktitut" code="iku" english_name="Inuktitut" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="iu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Inupiaq" code="ipk" english_name="Inupiaq" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ik" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iranian" code="ira" english_name="Iranian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Irish" code="gai/iri" english_name="Irish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ga" encoding="iso639-1"/>
+						<SYNONYM term="gle" encoding="iso639-2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iroquoian" code="iro" english_name="Iroquoian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Italian" code="ita" english_name="Italian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="it" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Japanese" code="jpn" english_name="Japanese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ja" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Javanese" code="jav" english_name="Javanese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="jv" encoding="iso639-1"/>
+						<SYNONYM term="jv/jw" encoding="iso639-1"/>
+						<SYNONYM term="jw" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Judeo-Arabic" code="jrb" english_name="Judeo-Arabic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Judeo-Persian" code="jpr" english_name="Judeo-Persian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kabyle" code="kab" english_name="Kabyle" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kachin" code="kac" english_name="Kachin" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kamba" code="kam" english_name="Kamba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kannada" code="kan" english_name="Kannada" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="kn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kanuri" code="kau" english_name="Kanuri" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kara-Kalpak" code="kaa" english_name="Kara-Kalpak" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Karen" code="kar" english_name="Karen" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kashmiri" code="kas" english_name="Kashmiri" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ks" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kawi" code="kaw" english_name="Kawi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kazakh" code="kaz" english_name="Kazakh" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="kk" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Khasi" code="kha" english_name="Khasi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Khmer" code="khm" english_name="Khmer" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="km" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Khoisan" code="khi" english_name="Khoisan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Khotanese" code="kho" english_name="Khotanese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kinyarwanda" code="kin" english_name="Kinyarwanda" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="rw" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kirghiz" code="kir" english_name="Kirghiz" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ky" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Komi" code="kom" english_name="Komi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kongo" code="kon" english_name="Kongo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Konkani" code="kok" english_name="Konkani" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Korean" code="kor" english_name="Korean" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ko" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kpelle" code="kpe" english_name="Kpelle" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kru" code="kro" english_name="Kru" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kuanyama; Kwanyama" code="kua" english_name="Kuanyama; Kwanyama" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kumyk" code="kum" english_name="Kumyk" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kurdish" code="kur" english_name="Kurdish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ku" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kurukh" code="kru" english_name="Kurukh" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kusaie" code="kus" english_name="Kusaie" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kutenai" code="kut" english_name="Kutenai" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ladino" code="lad" english_name="Ladino" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lahnda" code="lah" english_name="Lahnda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lamba" code="lam" english_name="Lamba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lao" code="lao" english_name="Lao" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="lo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Latin" code="lat" english_name="Latin" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="la" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Latvian" code="lav" english_name="Latvian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="lv" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Letzeburgesch; Luxembourgish" code="ltz" english_name="Letzeburgesch; Luxembourgish" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lezghian" code="lez" english_name="Lezghian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Limburgan; Limburger; Limburgish" code="lim" english_name="Limburgan; Limburger; Limburgish" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lingala" code="lin" english_name="Lingala" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ln" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lithuanian" code="lit" english_name="Lithuanian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="lt" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lozi" code="loz" english_name="Lozi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Luba-Katanga" code="lub" english_name="Luba-Katanga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Luiseno" code="lui" english_name="Luiseno" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lunda" code="lun" english_name="Lunda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Luo" code="luo" english_name="Luo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Macedonian" code="mac/mak" english_name="Macedonian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mk" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Madurese" code="mad" english_name="Madurese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Magahi" code="mag" english_name="Magahi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Maithili" code="mai" english_name="Maithili" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Makasar" code="mak" english_name="Makasar" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malagasy" code="mlg" english_name="Malagasy" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mg" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malay" code="may/msa" english_name="Malay" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ms" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malayalam" code="mal" english_name="Malayalam" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Maltese" code="mlt" english_name="Maltese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ml" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mandingo" code="man" english_name="Mandingo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Manipuri" code="mni" english_name="Manipuri" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Manobo" code="mno" english_name="Manobo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Manx" code="glv" english_name="Manx" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Maori" code="mao/mri" english_name="Maori" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Marathi" code="mar" english_name="Marathi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mr" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mari" code="chm" english_name="Mari" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Marshallese" code="mah" english_name="Marshallese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Marwari" code="mwr" english_name="Marwari" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Masai" code="mas" english_name="Masai" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mayan" code="myn" english_name="Mayan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mende" code="men" english_name="Mende" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Micmac" code="mic" english_name="Micmac" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Middle Dutch" code="dum" english_name="Middle Dutch" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Middle English" code="enm" english_name="Middle English" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Middle French" code="frm" english_name="Middle French" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Middle High German" code="gmh" english_name="Middle High German" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Middle Irish" code="mga" english_name="Middle Irish" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Minangkabau" code="min" english_name="Minangkabau" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Miscellaneous" code="mis" english_name="Miscellaneous" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mohawk" code="moh" english_name="Mohawk" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Moldavian" code="mol" english_name="Moldavian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mon-Kmer" code="mkh" english_name="Mon-Kmer" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mongo" code="lol" english_name="Mongo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mongolian" code="mon" english_name="Mongolian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mossi" code="mos" english_name="Mossi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Multiple languages" code="mul" english_name="Multiple languages" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Munda" code="mun" english_name="Munda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nauru" code="nau" english_name="Nauru" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="na" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Navajo; Navaho" code="nav" english_name="Navajo; Navaho" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ndebele, North" code="nde" english_name="Ndebele, North" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ndebele, South" code="nbl" english_name="Ndebele, South" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ndonga" code="ndo" english_name="Ndonga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nepali" code="nep" english_name="Nepali" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ne" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Newari" code="new" english_name="Newari" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Niger-Kordofanian" code="nic" english_name="Niger-Kordofanian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nilo-Saharan" code="ssa" english_name="Nilo-Saharan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Niuean" code="niu" english_name="Niuean" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Norse" code="non" english_name="Norse" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="North American Indian" code="nai" english_name="North American Indian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Northern Sami" code="sme" english_name="Northern Sami" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Norwegian" code="nor" english_name="Norwegian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="no" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Norwegian Nynorsk; Nynorsk, Norwegian" code="nno" english_name="Norwegian Nynorsk; Nynorsk, Norwegian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nubian" code="nub" english_name="Nubian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nyamwezi" code="nym" english_name="Nyamwezi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nyankole" code="nyn" english_name="Nyankole" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nyoro" code="nyo" english_name="Nyoro" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nzima" code="nzi" english_name="Nzima" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Occitan (post 1500); Provençal" code="oci" english_name="Occitan (post 1500); Provençal" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="oc" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ojibwa" code="oji" english_name="Ojibwa" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Old English" code="ang" english_name="Old English" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Old French" code="fro" english_name="Old French" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Old High German" code="goh" english_name="Old High German" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Oriya" code="ori" english_name="Oriya" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="or" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Oromo" code="orm" english_name="Oromo" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="om" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Osage" code="osa" english_name="Osage" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ossetian; Ossetic" code="oss" english_name="Ossetian; Ossetic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Otomian" code="oto" english_name="Otomian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ottoman" code="ota" english_name="Ottoman" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pahlavi" code="pal" english_name="Pahlavi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Palauan" code="pau" english_name="Palauan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pali" code="pli" english_name="Pali" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pampanga" code="pam" english_name="Pampanga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pangasinan" code="pag" english_name="Pangasinan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Panjabi; Punjabi" code="pan" english_name="Panjabi; Punjabi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="pa" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Papiamento" code="pap" english_name="Papiamento" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Papuan-Australian" code="paa" english_name="Papuan-Australian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Persian" code="fas/per" english_name="Persian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fa" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Persian, Old (ca 600 - 400 B.C.)" code="peo" english_name="Persian, Old (ca 600 - 400 B.C.)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Phoenician" code="phn" english_name="Phoenician" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Polish" code="pol" english_name="Polish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="pl" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ponape" code="pon" english_name="Ponape" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Portuguese" code="por" english_name="Portuguese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="pt" encoding="iso639-1"/>
+						<SYNONYM term="pt_pt" encoding="DRIVER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Portuguese-based Creoles and Pidgins" code="cpp" english_name="Portuguese-based Creoles and Pidgins" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Prakrit" code="pra" english_name="Prakrit" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Provencal" code="pro" english_name="Provencal" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pushto" code="pus" english_name="Pushto" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ps" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Quechua" code="que" english_name="Quechua" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="qu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Raeto-Romance" code="roh" english_name="Raeto-Romance" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="rm" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Rajasthani" code="raj" english_name="Rajasthani" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Rarotongan" code="rar" english_name="Rarotongan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Romance" code="roa" english_name="Romance" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Romanian" code="ron/rum" english_name="Romanian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ro" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Romany" code="rom" english_name="Romany" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Rundi" code="run" english_name="Rundi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="rn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Russian" code="rus" english_name="Russian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ru" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Salishan" code="sal" english_name="Salishan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Samaritan" code="sam" english_name="Samaritan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sami" code="smi" english_name="Sami" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Samoan" code="smo" english_name="Samoan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sm" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sandawe" code="sad" english_name="Sandawe" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sango" code="sag" english_name="Sango" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sg" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sanskrit" code="san" english_name="Sanskrit" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sa" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sardinian" code="srd" english_name="Sardinian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Scots" code="sco" english_name="Scots" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Selkup" code="sel" english_name="Selkup" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Semitic" code="sem" english_name="Semitic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Serbian" code="srp" english_name="Serbian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="scc/srp" encoding="unknown"/>
+						<SYNONYM term="sr" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Serbo-Croatian" code="scr" english_name="Serbo-Croatian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sh" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Serer" code="srr" english_name="Serer" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Shan" code="shn" english_name="Shan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Shona" code="sna" english_name="Shona" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sichuan Yi" code="iii" english_name="Sichuan Yi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sidamo" code="sid" english_name="Sidamo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Siksika" code="bla" english_name="Siksika" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sindhi" code="snd" english_name="Sindhi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sd" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sinhala; Sinhalese" code="sin" english_name="Sinhala; Sinhalese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="si" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sino-Tibetan" code="sit" english_name="Sino-Tibetan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="-" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Siouan" code="sio" english_name="Siouan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Slavic" code="sla" english_name="Slavic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Slovak" code="slk/slo" english_name="Slovak" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sk" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Slovenian" code="slv" english_name="Slovenian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sl" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sogdian" code="sog" english_name="Sogdian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Somali" code="som" english_name="Somali" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="so" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Songhai" code="son" english_name="Songhai" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sorbian" code="wen" english_name="Sorbian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sotho" code="nso" english_name="Sotho" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sotho, Southern" code="sot" english_name="Sotho, Southern" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="st" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="South American Indian" code="sai" english_name="South American Indian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Spanish" code="esl/spa" english_name="Spanish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="es" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Spanish; Castilian" code="spa" english_name="Spanish; Castilian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sukuma" code="suk" english_name="Sukuma" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sumerian" code="sux" english_name="Sumerian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sundanese" code="sun" english_name="Sundanese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="su" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Susu" code="sus" english_name="Susu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Swahili" code="swa" english_name="Swahili" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sw" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Swati" code="ssw" english_name="Swati" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ss" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Swedish" code="swe" english_name="Swedish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sv" encoding="iso639-1"/>
+						<SYNONYM term="sve/swe" encoding="iso639-2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Syriac" code="syr" english_name="Syriac" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tagalog" code="tgl" english_name="Tagalog" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tl" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tahitian" code="tah" english_name="Tahitian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tajik" code="tgk" english_name="Tajik" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tg" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tamashek" code="tmh" english_name="Tamashek" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tamil" code="tam" english_name="Tamil" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ta" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tatar" code="tat" english_name="Tatar" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tt" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Telugu" code="tel" english_name="Telugu" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="te" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tereno" code="ter" english_name="Tereno" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Thai" code="tha" english_name="Thai" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="th" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tibetan" code="bod/tib" english_name="Tibetan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="bo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tigre" code="tig" english_name="Tigre" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tigrinya" code="tir" english_name="Tigrinya" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ti" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Timne" code="tem" english_name="Timne" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tivi" code="tiv" english_name="Tivi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tlingit" code="tli" english_name="Tlingit" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tonga (Tonga Islands)" code="ton" english_name="Tonga (Tonga Islands)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tonga(Nyasa)" code="tog" english_name="Tonga(Nyasa)" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="to" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Truk" code="tru" english_name="Truk" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tsimshian" code="tsi" english_name="Tsimshian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tsonga" code="tso" english_name="Tsonga" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ts" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tswana" code="tsn" english_name="Tswana" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tumbuka" code="tum" english_name="Tumbuka" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Turkish" code="tur" english_name="Turkish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tr" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Turkmen" code="tuk" english_name="Turkmen" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tk" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tuvinian" code="tyv" english_name="Tuvinian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Twi" code="twi" english_name="Twi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tw" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ugaritic" code="uga" english_name="Ugaritic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Uighur; Uyghur" code="uig" english_name="Uighur; Uyghur" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ug" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ukrainian" code="ukr" english_name="Ukrainian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="uk" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Umbundu" code="umb" english_name="Umbundu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Undetermined" code="und" english_name="Undetermined" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Urdu" code="urd" english_name="Urdu" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ur" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Uzbek" code="uzb" english_name="Uzbek" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="uz" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Vai" code="vai" english_name="Vai" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Venda" code="ven" english_name="Venda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Vietnamese" code="vie" english_name="Vietnamese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="vi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Volapük" code="vol" english_name="Volapük" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="vo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Votic" code="vot" english_name="Votic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Wakashan" code="wak" english_name="Wakashan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Walamo" code="wal" english_name="Walamo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Walloon" code="wln" english_name="Walloon" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="wa" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Waray" code="war" english_name="Waray" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Washo" code="was" english_name="Washo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Welsh" code="cym/wel" english_name="Welsh" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="cy" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Wolof" code="wol" english_name="Wolof" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="wo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Xhosa" code="xho" english_name="Xhosa" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="xh" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yakut" code="sah" english_name="Yakut" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yao" code="yao" english_name="Yao" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yap" code="yap" english_name="Yap" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yiddish" code="yid" english_name="Yiddish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="yi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yoruba" code="yor" english_name="Yoruba" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="yo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zapotec" code="zap" english_name="Zapotec" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zenaga" code="zen" english_name="Zenaga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zhuang; Chuang" code="zha" english_name="Zhuang; Chuang" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="za" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zulu" code="zul" english_name="Zulu" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="zu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zuni" code="zun" english_name="Zuni" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="old Irish" code="sga" english_name="old Irish" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-12-17T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/42b3f336-66ac-40d4-9702-b155f2801e77.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/42b3f336-66ac-40d4-9702-b155f2801e77.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/42b3f336-66ac-40d4-9702-b155f2801e77.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="42b3f336-66ac-40d4-9702-b155f2801e77_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2016-01-19T13:05:02+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:compatibilityLevel">dnet:compatibilityLevel</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:compatibilityLevel</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="OpenAIRE 2.0 (EC funding)" code="openaire2.0" english_name="OpenAIRE 2.0 (EC funding)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE 3.0 (OA, funding)" code="openaire3.0" english_name="OpenAIRE 3.0 (OA, funding)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE basic (DRIVER OA)" code="driver" english_name="OpenAIRE Basic (DRIVER OA)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE Data (funded, referenced datasets)" code="openaire2.0_data" english_name="OpenAIRE Data (funded, referenced datasets)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="files" code="files" english_name="files" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="native" code="native" english_name="native" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="not available" code="UNKNOWN" english_name="not available" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="collected from a compatible aggregator" code="hostedBy" english_name="collected from a compatible aggregator" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="under validation" code="notCompatible" english_name="under validation" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8c36efd4-b88a-4826-94ec-8e81061d1df7.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8c36efd4-b88a-4826-94ec-8e81061d1df7.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8c36efd4-b88a-4826-94ec-8e81061d1df7.xml	(revision 51225)
@@ -0,0 +1,48 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="8c36efd4-b88a-4826-94ec-8e81061d1df7_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="ec:FP7contractTypes">ec:FP7contractTypes</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>ec:FP7contractTypes</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="171" encoding="OPENAIRE" english_name="Article 171 of the Treaty" native_name="Article 171 of the Treaty">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="BSG" encoding="OPENAIRE" english_name="Research for the benefit of specific groups" native_name="Research for the benefit of specific groups">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="CIP-EIP-TN" encoding="OPENAIRE" english_name="CIP-Eco-Innovation - CIP-Thematic Network" native_name="CIP-Eco-Innovation - CIP-Thematic Network">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="CP" encoding="OPENAIRE" english_name="Collaborative project" native_name="Collaborative project">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="CP-CSA" encoding="OPENAIRE" english_name="Combination of CP &amp; CSA" native_name="Combination of CP &amp; CSA">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="CSA" encoding="OPENAIRE" english_name="Coordination and support action" native_name="Coordination and support action">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ERC" encoding="OPENAIRE" english_name="Support for frontier research (ERC)" native_name="Support for frontier research (ERC)">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="MC" encoding="OPENAIRE" english_name="Support for training and career development of researchers (Marie Curie)" native_name="Support for training and career development of researchers (Marie Curie)">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="NoE" encoding="OPENAIRE" english_name="Network of Excellence" native_name="Network of Excellence">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/918b0b7b-2670-4dd5-bb6e-24e0502c70a2.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/918b0b7b-2670-4dd5-bb6e-24e0502c70a2.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/918b0b7b-2670-4dd5-bb6e-24e0502c70a2.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="918b0b7b-2670-4dd5-bb6e-24e0502c70a2_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="wt:funding_relations">wt:funding_relations</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>wt:funding_relations</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="wt:hasParentFunding" encoding="OPENAIRE" english_name="wt:hasParentFunding" native_name="wt:hasParentFunding">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/99662685-4b66-4ab5-b1d4-d2bda325528d.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/99662685-4b66-4ab5-b1d4-d2bda325528d.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/99662685-4b66-4ab5-b1d4-d2bda325528d.xml	(revision 51225)
@@ -0,0 +1,25 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="99662685-4b66-4ab5-b1d4-d2bda325528d_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value="String"/>
+		<DATE_OF_CREATION value="2016-07-12T15:21:35+02:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:datasources_organizations_typologies">dnet:datasources_organizations_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION/>
+			<TERMS>
+				<TERM native_name="providedBy" code="providedBy" english_name="providedBy" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2016-07-12T15:21:35+02:00"/>
+		</STATUS>
+		<SECURITY_PARAMETERS/>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec944252-635c-450a-82d3-8f55afffbd43.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec944252-635c-450a-82d3-8f55afffbd43.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec944252-635c-450a-82d3-8f55afffbd43.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="ec944252-635c-450a-82d3-8f55afffbd43_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="wt:funding_typologies">Wellcome Trust: Funding Typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>Wellcome Trust: Funding Typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="wt:fundingStream" encoding="OPENAIRE" english_name="Wellcome Trust: Funding Stream" native_name="Wellcome Trust: Funding Stream">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a2ca399e-be61-42c9-bc98-697b56c1050e.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a2ca399e-be61-42c9-bc98-697b56c1050e.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a2ca399e-be61-42c9-bc98-697b56c1050e.xml	(revision 51225)
@@ -0,0 +1,30 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a2ca399e-be61-42c9-bc98-697b56c1050e_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="ec:funding_relations">ec:funding_relations</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>ec:funding_relations</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="ec:hasframeworkprogram" encoding="OPENAIRE" english_name="hasframeworkprogram" native_name="hasframeworkprogram">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ec:hasprogram" encoding="OPENAIRE" english_name="hasprogram" native_name="hasprogram">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ec:hasspecificprogram" encoding="OPENAIRE" english_name="hasspecificprogram" native_name="hasspecificprogram">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ecdd1e73-cf16-4a8b-8842-d0a7c780ab6e.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ecdd1e73-cf16-4a8b-8842-d0a7c780ab6e.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ecdd1e73-cf16-4a8b-8842-d0a7c780ab6e.xml	(revision 51225)
@@ -0,0 +1,83 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="ecdd1e73-cf16-4a8b-8842-d0a7c780ab6e_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2014-11-13T14:21:17+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:pid_types">dnet:pid_types</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:pid_types</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="FCT" code="FCT" english_name="Fundação para a Ciência e Tecnologia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="GeoPass" code="GeoPass" english_name="Geographic Location-Password Scheme" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="GBIF" code="GBIF" english_name="Global Biodiversity Information Facility" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="ISNI" code="ISNI" english_name="International Standard Name Identifier" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="oai" code="oai" english_name="Open Archives Initiative" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="ORCID" code="orcid" english_name="Open Researcher and Contributor ID" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ORCID12" encoding="openaire"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="PANGAEA" code="PANGAEA" english_name="PANGAEA" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="UNKNOWN" code="UNKNOWN" english_name="UNKNOWN" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="VIAF" code="VIAF" english_name="Virtual International Authority File" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="arXiv" code="arXiv" english_name="arXiv" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="doi" code="doi" english_name="doi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="info:eu-repo/dai" code="info:eu-repo/dai" english_name="info:eu-repo/dai" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="orcidworkid" code="orcidworkid" english_name="orcid workid" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="pmc" code="pmc" english_name="pmc" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="pmid" code="pmid" english_name="pmid" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-01-08T19:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a20fef92-c046-4045-a3df-f3ed606503bf.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a20fef92-c046-4045-a3df-f3ed606503bf.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a20fef92-c046-4045-a3df-f3ed606503bf.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a20fef92-c046-4045-a3df-f3ed606503bf_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="VocabularyDSResourceType"/>
+        <RESOURCE_KIND value="VocabularyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-09-17T07:46:38+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <VOCABULARY_NAME code="nsf:contractTypes">NSF Contract Types</VOCABULARY_NAME>
+            <VOCABULARY_DESCRIPTION>NSF Contract Types</VOCABULARY_DESCRIPTION>
+            <TERMS>
+				<TERM code="BOA/Task Order" encoding="OPENAIRE" english_name="BOA/Task Order" native_name="BOA/Task Order">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Continuing grant" encoding="OPENAIRE" english_name="Continuing grant" native_name="Continuing grant">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Contract" encoding="OPENAIRE" english_name="Contract" native_name="Contract">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Contract Interagency Agreement" encoding="OPENAIRE" english_name="Contract Interagency Agreement" native_name="Contract Interagency Agreement">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Cooperative Agreement" encoding="OPENAIRE" english_name="Cooperative Agreement" native_name="Cooperative Agreement">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Fellowship" encoding="OPENAIRE" english_name="Fellowship" native_name="Fellowship">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Fixed Price Award" encoding="OPENAIRE" english_name="Fixed Price Award" native_name="Fixed Price Award">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="GAA" encoding="OPENAIRE" english_name="GAA" native_name="GAA">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Interagency Agreement" encoding="OPENAIRE" english_name="Interagency Agreement" native_name="Interagency Agreement">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Intergovernmental Personnel Award" encoding="OPENAIRE" english_name="Intergovernmental Personnel Award" native_name="Intergovernmental Personnel Award">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Personnel Agreement" encoding="OPENAIRE" english_name="Personnel Agreement" native_name="Personnel Agreement">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Standard Grant" encoding="OPENAIRE" english_name="Standard Grant" native_name="Standard Grant">
+					<SYNONYMS/>
+				</TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2015-09-17T08:45:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c24eb145-45b0-4d5d-9ebb-0467fb61c266.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c24eb145-45b0-4d5d-9ebb-0467fb61c266.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c24eb145-45b0-4d5d-9ebb-0467fb61c266.xml	(revision 51225)
@@ -0,0 +1,27 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="c24eb145-45b0-4d5d-9ebb-0467fb61c266_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:result_typologies">dnet:result_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:result_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="dataset" encoding="OPENAIRE" english_name="dataset" native_name="dataset">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="publication" encoding="OPENAIRE" english_name="publication" native_name="publication">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5d11b639-51c3-4dc3-a2aa-da0ad168e768.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5d11b639-51c3-4dc3-a2aa-da0ad168e768.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5d11b639-51c3-4dc3-a2aa-da0ad168e768.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="5d11b639-51c3-4dc3-a2aa-da0ad168e768_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-11-08T19:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="fct:contractTypes">fct:contractTypes</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>fct:contractTypes</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-11-08T19:46:37Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/be16b184-a80c-4591-9ebe-8232f1f75635.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/be16b184-a80c-4591-9ebe-8232f1f75635.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/be16b184-a80c-4591-9ebe-8232f1f75635.xml	(revision 51225)
@@ -0,0 +1,42 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="be16b184-a80c-4591-9ebe-8232f1f75635_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:36+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="datacite:relation_typologies">datacite:relation_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>datacite:relation_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="IsCitedBy" encoding="OPENAIRE" english_name="IsCitedBy" native_name="IsCitedBy">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="IsNewVersionOf" encoding="OPENAIRE" english_name="IsNewVersionOf" native_name="IsNewVersionOf">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="IsPartOf" encoding="OPENAIRE" english_name="IsPartOf" native_name="IsPartOf">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="IsPreviousVersionOf" encoding="OPENAIRE" english_name="IsPreviousVersionOf" native_name="IsPreviousVersionOf">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="IsReferencedBy" encoding="OPENAIRE" english_name="IsReferencedBy" native_name="IsReferencedBy">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="References" encoding="OPENAIRE" english_name="References" native_name="References">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/da6b3e2f-2a05-4975-85f8-e66aaa8cb93e.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/da6b3e2f-2a05-4975-85f8-e66aaa8cb93e.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/da6b3e2f-2a05-4975-85f8-e66aaa8cb93e.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="da6b3e2f-2a05-4975-85f8-e66aaa8cb93e_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2016-01-19T13:45:32+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:datasourceCompatibilityLevel">dnet:datasourceCompatibilityLevel</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:datasourceCompatibilityLevel</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="OpenAIRE 2.0 (EC funding)" code="openaire2.0" english_name="OpenAIRE 2.0 (EC funding)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE 2.0+ (DRIVER OA, EC funding)" code="driver-openaire2.0" english_name="OpenAIRE 2.0+ (DRIVER OA, EC funding)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE 3.0 (OA, funding)" code="openaire3.0" english_name="OpenAIRE 3.0 (OA, funding)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE basic (DRIVER OA)" code="driver" english_name="OpenAIRE Basic (DRIVER OA)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE Data (funded, referenced datasets)" code="openaire2.0_data" english_name="OpenAIRE Data (funded, referenced datasets)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="not available" code="UNKNOWN" english_name="not available" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="native" code="native" english_name="proprietary" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="collected from a compatible aggregator" code="hostedBy" english_name="collected from a compatible aggregator" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="under validation" code="notCompatible" english_name="under validation" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/aecdb60c-e1ed-40bd-a6c1-edc9993f07cb.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/aecdb60c-e1ed-40bd-a6c1-edc9993f07cb.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/aecdb60c-e1ed-40bd-a6c1-edc9993f07cb.xml	(revision 51225)
@@ -0,0 +1,1322 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="aecdb60c-e1ed-40bd-a6c1-edc9993f07cb_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2016-01-11T15:29:19+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:countries">dnet:countries</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:countries</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="Afghanistan" code="AF" english_name="Afghanistan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="AFG" encoding="OPENAIRE"/>
+						<SYNONYM term="Afghanistan" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Albania" code="AL" english_name="Albania" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Algeria" code="DZ" english_name="Algeria" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="American Samoa" code="AS" english_name="American Samoa" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Andorra" code="AD" english_name="Andorra" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Andorra" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Angola" code="AO" english_name="Angola" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Angola" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Anguilla" code="AI" english_name="Anguilla" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Antarctica" code="AQ" english_name="Antarctica" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Antigua and Barbuda" code="AG" english_name="Antigua and Barbuda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Argentina" code="AR" english_name="Argentina" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Argentina" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Armenia" code="AM" english_name="Armenia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aruba" code="AW" english_name="Aruba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Australia" code="AU" english_name="Australia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="AUS" encoding="OPENAIRE"/>
+						<SYNONYM term="Australia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Austria" code="AT" english_name="Austria" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="AUT" encoding="OPENAIRE"/>
+						<SYNONYM term="Austria" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Azerbaijan" code="AZ" english_name="Azerbaijan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="AZE" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bahamas" code="BS" english_name="Bahamas" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bahrain" code="BH" english_name="Bahrain" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bangladesh" code="BD" english_name="Bangladesh" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Bangladesh" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Barbados" code="BB" english_name="Barbados" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Belarus" code="BY" english_name="Belarus" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Belarus" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Belgium" code="BE" english_name="Belgium" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="BEL" encoding="OPENAIRE"/>
+						<SYNONYM term="Belgium" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Belize" code="BZ" english_name="Belize" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Benin" code="BJ" english_name="Benin" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="BEN" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bermuda" code="BM" english_name="Bermuda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bhutan" code="BT" english_name="Bhutan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bolivia" code="BO" english_name="Bolivia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bonaire, Sint Eustatius and Saba" code="BQ" english_name="Bonaire, Sint Eustatius and Saba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bosnia and Herzegovina" code="BA" english_name="Bosnia and Herzegovina" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="BIH" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Botswana" code="BW" english_name="Botswana" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bouvet Island" code="BV" english_name="Bouvet Island" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Brazil" code="BR" english_name="Brazil" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="BRA" encoding="OPENAIRE"/>
+						<SYNONYM term="Brazil" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="British Indian Ocean Territory" code="IO" english_name="British Indian Ocean Territory" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Brunei Darussalam" code="BN" english_name="Brunei Darussalam" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bulgaria" code="BG" english_name="Bulgaria" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Bulgaria" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Burkina Faso" code="BF" english_name="Burkina Faso" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="BFA" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Burundi" code="BI" english_name="Burundi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cambodia" code="KH" english_name="Cambodia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cameroon" code="CM" english_name="Cameroon" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CMR" encoding="OpenAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Canada" code="CA" english_name="Canada" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CAN" encoding="OPENAIRE"/>
+						<SYNONYM term="Canada" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cape Verde" code="CV" english_name="Cape Verde" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Cape Verde" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cayman Islands" code="KY" english_name="Cayman Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Central African Republic" code="CF" english_name="Central African Republic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chad" code="TD" english_name="Chad" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chile" code="CL" english_name="Chile" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Chile" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="China (People's Republic of)" code="CN" english_name="China (People's Republic of)" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CHN" encoding="OPENAIRE"/>
+						<SYNONYM term="China" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Christmas Island" code="CX" english_name="Christmas Island" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cocos (Keeling) Islands" code="CC" english_name="Cocos (Keeling) Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Colombia" code="CO" english_name="Colombia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="COL" encoding="OPENAIRE"/>
+						<SYNONYM term="Colombia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Comoros" code="KM" english_name="Comoros" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Congo" code="CG" english_name="Congo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Congo (Democratic Republic of)" code="CD" english_name="Congo (Democratic Republic of)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cook Islands" code="CK" english_name="Cook Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Costa Rica" code="CR" english_name="Costa Rica" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CRI" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cote d'Ivoire" code="CI" english_name="Cote d'Ivoire" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CIV" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Croatia" code="HR" english_name="Croatia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Croatia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cuba" code="CU" english_name="Cuba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Curaçao" code="CW" english_name="Curaçao" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cyprus" code="CY" english_name="Cyprus" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CYP" encoding="OPENAIRE"/>
+						<SYNONYM term="Cyprus" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Czech Republic" code="CZ" english_name="Czech Republic" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CZE" encoding="OPENAIRE"/>
+						<SYNONYM term="Czech Republic" encoding="OPENAIRE"/>
+						<SYNONYM term="Czechoslovakia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Denmark" code="DK" english_name="Denmark" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="DNK" encoding="OPENAIRE"/>
+						<SYNONYM term="Denmark" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Djibouti" code="DJ" english_name="Djibouti" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dominica" code="DM" english_name="Dominica" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dominican Republic" code="DO" english_name="Dominican Republic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ecuador" code="EC" english_name="Ecuador" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Ecuador" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Egypt" code="EG" english_name="Egypt" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="EGY" encoding="OPENAIRE"/>
+						<SYNONYM term="Egypt" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="El Salvador" code="SV" english_name="El Salvador" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SLV" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Equatorial Guinea" code="GQ" english_name="Equatorial Guinea" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Eritrea" code="ER" english_name="Eritrea" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Estonia" code="EE" english_name="Estonia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="EST" encoding="OPENAIRE"/>
+						<SYNONYM term="Estonia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ethiopia" code="ET" english_name="Ethiopia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ETH" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="European Union" code="EU" english_name="European Union" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="EEC" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Falkland Islands (Malvinas)" code="FK" english_name="Falkland Islands (Malvinas)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Faroe Islands" code="FO" english_name="Faroe Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fiji" code="FJ" english_name="Fiji" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Finland" code="FI" english_name="Finland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="FIN" encoding="OPENAIRE"/>
+						<SYNONYM term="Finland" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Former Yugoslav Republic of Macedonia" code="MK" english_name="Former Yugoslav Republic of Macedonia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Macedonia, the Former Yugoslav Republic Of" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="France" code="FR" english_name="France" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="FRA" encoding="OPENAIRE"/>
+						<SYNONYM term="France" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="French Guiana" code="GF" english_name="French Guiana" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="French Polynesia" code="PF" english_name="French Polynesia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="French Polynesia" encoding="OPENAIRE"/>
+						<SYNONYM term="PYF" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="French Southern Territories" code="TF" english_name="French Southern Territories" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="French Southern Territories" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gabon" code="GA" english_name="Gabon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gambia" code="GM" english_name="Gambia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Georgia" code="GE" english_name="Georgia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Georgia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Germany" code="DE" english_name="Germany" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="DEU" encoding="OPENAIRE"/>
+						<SYNONYM term="Germany" encoding="OPENAIRE"/>
+						<SYNONYM term="Germany, Berlin" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ghana" code="GH" english_name="Ghana" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="GHA" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gibraltar" code="GI" english_name="Gibraltar" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Greece" code="GR" english_name="Greece" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="EL" encoding="OPENAIRE"/>
+						<SYNONYM term="GRC" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Greenland" code="GL" english_name="Greenland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="GRL" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Grenada" code="GD" english_name="Grenada" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guadeloupe" code="GP" english_name="Guadeloupe" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guam" code="GU" english_name="Guam" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guatemala" code="GT" english_name="Guatemala" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guernsey" code="GG" english_name="Guernsey" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guinea" code="GN" english_name="Guinea" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Guinea" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guinea-Bissau" code="GW" english_name="Guinea-Bissau" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Guinea-Bissau" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guyana" code="GY" english_name="Guyana" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Haiti" code="HT" english_name="Haiti" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Heard Island and McDonald Islands" code="HM" english_name="Heard Island and McDonald Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Holy See (Vatican City State)" code="VA" english_name="Holy See (Vatican City State)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Honduras" code="HN" english_name="Honduras" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hong Kong" code="HK" english_name="Hong Kong" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Hong Kong" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hungary" code="HU" english_name="Hungary" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="HUN" encoding="OPENAIRE"/>
+						<SYNONYM term="Hungary" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iceland" code="IS" english_name="Iceland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ISL" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="India" code="IN" english_name="India" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="IND" encoding="OPENAIRE"/>
+						<SYNONYM term="India" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Indonesia" code="ID" english_name="Indonesia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="IDN" encoding="OPENAIRE"/>
+						<SYNONYM term="Indonesia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iran (Islamic Republic of)" code="IR" english_name="Iran (Islamic Republic of)" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Iran" encoding="OPENAIRE"/>
+						<SYNONYM term="Iran, Islamic Republic of" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iraq" code="IQ" english_name="Iraq" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ireland" code="IE" english_name="Ireland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="IRL" encoding="OPENAIRE"/>
+						<SYNONYM term="Ireland" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Isle of Man" code="IM" english_name="Isle of Man" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Israel" code="IL" english_name="Israel" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ISR" encoding="OPENAIRE"/>
+						<SYNONYM term="Israel" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Italy" code="IT" english_name="Italy" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ITA" encoding="OPENAIRE"/>
+						<SYNONYM term="Italy" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Jamaica" code="JM" english_name="Jamaica" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Jamaica" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Japan" code="JP" english_name="Japan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="JPN" encoding="OPENAIRE"/>
+						<SYNONYM term="Japan" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Jersey" code="JE" english_name="Jersey" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Jordan" code="JO" english_name="Jordan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kazakhstan" code="KZ" english_name="Kazakhstan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kenya" code="KE" english_name="Kenya" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="KEN" encoding="OPENAIRE"/>
+						<SYNONYM term="Kenya" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kiribati" code="KI" english_name="Kiribati" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Korea (Republic of)" code="KR" english_name="Korea (Republic of)" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="KOR" encoding="OPENAIRE"/>
+						<SYNONYM term="Korea, Republic of" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Korea, Democatric People's Republic of" code="KP" english_name="Korea, Democatric People's Republic of" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kosovo * UN resolution" code="XK" english_name="Kosovo * UN resolution" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kuwait" code="KW" english_name="Kuwait" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kyrgyzstan" code="KG" english_name="Kyrgyzstan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lao (People's Democratic Republic)" code="LA" english_name="Lao (People's Democratic Republic)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Latvia" code="LV" english_name="Latvia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lebanon" code="LB" english_name="Lebanon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lesotho" code="LS" english_name="Lesotho" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Liberia" code="LR" english_name="Liberia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Libyan Arab Jamahiriya" code="LY" english_name="Libyan Arab Jamahiriya" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Liechtenstein" code="LI" english_name="Liechtenstein" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lithuania" code="LT" english_name="Lithuania" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="LTU" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Luxembourg" code="LU" english_name="Luxembourg" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="LUX" encoding="OPENAIRE"/>
+						<SYNONYM term="Luxembourg" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Macao" code="MO" english_name="Macao" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Macao" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Madagascar" code="MG" english_name="Madagascar" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Madagascar" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malawi" code="MW" english_name="Malawi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malaysia" code="MY" english_name="Malaysia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Malaysia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Maldives" code="MV" english_name="Maldives" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mali" code="ML" english_name="Mali" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Mali" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malta" code="MT" english_name="Malta" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Malta" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Marshall Islands" code="MH" english_name="Marshall Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Martinique" code="MQ" english_name="Martinique" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mauritania" code="MR" english_name="Mauritania" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mauritius" code="MU" english_name="Mauritius" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Mauritius" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mayotte" code="YT" english_name="Mayotte" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mexico" code="MX" english_name="Mexico" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="MEX" encoding="OPENAIRE"/>
+						<SYNONYM term="Mexico" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Micronesia, Federated States of" code="FM" english_name="Micronesia, Federated States of" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Micronesia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Moldova (Republic of)" code="MD" english_name="Moldova (Republic of)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mongolia" code="MN" english_name="Mongolia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Mongolia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Montenegro" code="ME" english_name="Montenegro" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Montserrat" code="MS" english_name="Montserrat" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Morocco" code="MA" english_name="Morocco" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Morocco" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mozambique" code="MZ" english_name="Mozambique" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Mozambique" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Myanmar" code="MM" english_name="Myanmar" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Namibia" code="NA" english_name="Namibia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nauru" code="NR" english_name="Nauru" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nepal" code="NP" english_name="Nepal" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Netherlands" code="NL" english_name="Netherlands" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="NLD" encoding="OPENAIRE"/>
+						<SYNONYM term="Netherlands" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Netherlands Antilles" code="AN" english_name="Netherlands Antilles" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Netherlands Antilles" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="New Caledonia" code="NC" english_name="New Caledonia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="New Zealand" code="NZ" english_name="New Zealand" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="NZL" encoding="OPENAIRE"/>
+						<SYNONYM term="New Zealand" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nicaragua" code="NI" english_name="Nicaragua" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Niger" code="NE" english_name="Niger" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nigeria" code="NG" english_name="Nigeria" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Niue" code="NU" english_name="Niue" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Norfolk Island" code="NF" english_name="Norfolk Island" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Northern Mariana Islands" code="MP" english_name="Northern Mariana Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Norway" code="NO" english_name="Norway" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="NOR" encoding="OPENAIRE"/>
+						<SYNONYM term="Norway" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Oceania" code="OC" english_name="Oceania" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Australasia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Oman" code="OM" english_name="Oman" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Oman" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pakistan" code="PK" english_name="Pakistan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="PAK" encoding="OPENAIRE"/>
+						<SYNONYM term="Pakistan" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Palau" code="PW" english_name="Palau" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Palestinian-administered areas" code="PS" english_name="Palestinian-administered areas" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Palestinian Territory, Occupied" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Panama" code="PA" english_name="Panama" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="PAN" encoding="OPENAIRE"/>
+						<SYNONYM term="Panama" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Papua New Guinea" code="PG" english_name="Papua New Guinea" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Paraguay" code="PY" english_name="Paraguay" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Peru" code="PE" english_name="Peru" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Philippines" code="PH" english_name="Philippines" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Philippines" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pitcairn" code="PN" english_name="Pitcairn" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Poland" code="PL" english_name="Poland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="POL" encoding="OPENAIRE"/>
+						<SYNONYM term="Poland" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Portugal" code="PT" english_name="Portugal" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="PRT" encoding="OPENAIRE"/>
+						<SYNONYM term="Portugal" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Puerto Rico" code="PR" english_name="Puerto Rico" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Puerto Rico" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Qatar" code="QA" english_name="Qatar" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Romania" code="RO" english_name="Romania" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ROU" encoding="OPENAIRE"/>
+						<SYNONYM term="Romania" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Russian Federation" code="RU" english_name="Russian Federation" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="RUS" encoding="OPENAIRE"/>
+						<SYNONYM term="Russia" encoding="OPENAIRE"/>
+						<SYNONYM term="Russian Federation" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Rwanda" code="RW" english_name="Rwanda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Réunion" code="RE" english_name="Réunion" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Réunion" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Helena, Ascension and Tristan da Cunha" code="SH" english_name="Saint Helena, Ascension and Tristan da Cunha" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Kitts and Nevis" code="KN" english_name="Saint Kitts and Nevis" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Saint Kitts And Nevis" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Lucia" code="LC" english_name="Saint Lucia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Martin (French Part)" code="MF" english_name="Saint Martin (French Part)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Pierre and Miquelon" code="PM" english_name="Saint Pierre and Miquelon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Vincent and the Grenadines" code="VC" english_name="Saint Vincent and the Grenadines" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint-Barthélemy" code="BL" english_name="Saint-Barthélemy" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Samoa" code="WS" english_name="Samoa" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="San Marino" code="SM" english_name="San Marino" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saudi Arabia" code="SA" english_name="Saudi Arabia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Saudi Arabia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Senegal" code="SN" english_name="Senegal" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SEN" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Serbia" code="RS" english_name="Serbia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Seychelles" code="SC" english_name="Seychelles" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sierra Leone" code="SL" english_name="Sierra Leone" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Singapore" code="SG" english_name="Singapore" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SGP" encoding="OPENAIRE"/>
+						<SYNONYM term="Singapore" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sint Maarten (Dutch Part)" code="SX" english_name="Sint Maarten (Dutch Part)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Slovakia" code="SK" english_name="Slovakia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SVK" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Slovenia" code="SI" english_name="Slovenia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SVN" encoding="OPENAIRE"/>
+						<SYNONYM term="Slovenia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Solomon Islands" code="SB" english_name="Solomon Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Somalia" code="SO" english_name="Somalia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="South Africa" code="ZA" english_name="South Africa" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="South Africa" encoding="OPENAIRE"/>
+						<SYNONYM term="ZAF" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="South Georgia and the South Sandwich Islands" code="GS" english_name="South Georgia and the South Sandwich Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="South Sudan" code="SS" english_name="South Sudan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Spain" code="ES" english_name="Spain" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ESP" encoding="OPENAIRE"/>
+						<SYNONYM term="Spain" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sri Lanka" code="LK" english_name="Sri Lanka" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Sri Lanka" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sudan" code="SD" english_name="Sudan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Suriname" code="SR" english_name="Suriname" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Suriname" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Svalbard and Jan Mayen" code="SJ" english_name="Svalbard and Jan Mayen" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Swaziland" code="SZ" english_name="Swaziland" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sweden" code="SE" english_name="Sweden" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SWE" encoding="OPENAIRE"/>
+						<SYNONYM term="Sweden" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Switzerland" code="CH" english_name="Switzerland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CHE" encoding="OPENAIRE"/>
+						<SYNONYM term="Switzerland" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Syrian Arab Republic" code="SY" english_name="Syrian Arab Republic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="São Tomé and Príncipe" code="ST" english_name="São Tomé and Príncipe" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Sao Tome and Principe" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Taiwan" code="TW" english_name="Taiwan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="TWN" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tajikistan" code="TJ" english_name="Tajikistan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tanzania (United Republic of)" code="TZ" english_name="Tanzania (United Republic of)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Thailand" code="TH" english_name="Thailand" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Thailand" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Timor-Leste" code="TL" english_name="Timor-Leste" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="East Timor" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Togo" code="TG" english_name="Togo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tokelau" code="TK" english_name="Tokelau" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tonga" code="TO" english_name="Tonga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Trinidad and Tobago" code="TT" english_name="Trinidad and Tobago" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tunisia" code="TN" english_name="Tunisia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="TUN" encoding="OPENAIRE"/>
+						<SYNONYM term="Tunisia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Turkey" code="TR" english_name="Turkey" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="TUR" encoding="OPENAIRE"/>
+						<SYNONYM term="Turkey" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Turkmenistan" code="TM" english_name="Turkmenistan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Turks and Caicos Islands" code="TC" english_name="Turks and Caicos Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tuvalu" code="TV" english_name="Tuvalu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="UNKNOWN" code="UNKNOWN" english_name="UNKNOWN" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="AAA" encoding="OPENAIRE"/>
+						<SYNONYM term="[Unknown]" encoding="OpenDOAR"/>
+						<SYNONYM term="_?" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Uganda" code="UG" english_name="Uganda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ukraine" code="UA" english_name="Ukraine" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="UKR" encoding="OPENAIRE"/>
+						<SYNONYM term="Ukraine" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="United Arab Emirates" code="AE" english_name="United Arab Emirates" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="United Arab Emirates" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="United Kingdom" code="GB" english_name="United Kingdom" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="GBR" encoding="OPENAIRE"/>
+						<SYNONYM term="UK" encoding="OPENAIRE"/>
+						<SYNONYM term="United Kingdom" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="United States" code="US" english_name="United States" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="USA" encoding="OPENAIRE"/>
+						<SYNONYM term="United States" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="United States Minor Outlying Islands" code="UM" english_name="United States Minor Outlying Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Uruguay" code="UY" english_name="Uruguay" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Uruguay" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Uzbekistan" code="UZ" english_name="Uzbekistan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Uzbekistan" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Vanuatu" code="VU" english_name="Vanuatu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Venezuela" code="VE" english_name="Venezuela" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Viet Nam" code="VN" english_name="Viet Nam" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Virgin Islands (British)" code="VG" english_name="Virgin Islands (British)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Virgin Islands, U.S." code="VI" english_name="Virgin Islands, U.S." encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Wallis and Futuna" code="WF" english_name="Wallis and Futuna" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Western Sahara" code="EH" english_name="Western Sahara" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yemen" code="YE" english_name="Yemen" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yugoslavia" code="YU" english_name="Yugoslavia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Jugoslavia" encoding="OPENAIRE"/>
+						<SYNONYM term="Yugoslavia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zambia" code="ZM" english_name="Zambia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zimbabwe" code="ZW" english_name="Zimbabwe" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ABW" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Åland Islands" code="AX" english_name="Åland Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-04-15T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/externalReferences.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/externalReferences.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/externalReferences.xml	(revision 51225)
@@ -0,0 +1,25 @@
+<RESOURCE_PROFILE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="VocabularyDSResourceType"/>
+        <RESOURCE_KIND value="VocabularyDSResources"/>
+        <RESOURCE_URI value="String"/>
+        <DATE_OF_CREATION value="2015-07-22T15:58:39+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <VOCABULARY_NAME code="dnet:externalReference_typologies">dnet:externalReference_typologies</VOCABULARY_NAME>
+            <VOCABULARY_DESCRIPTION>Types for externalreference field of results</VOCABULARY_DESCRIPTION>
+            <TERMS>
+                <TERM native_name="accessionNumber" code="accessionNumber" english_name="accessionNumber" encoding="OPENAIRE">
+                    <SYNONYMS/>
+                    <RELATIONS/>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2015-07-22T15:58:39+00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/1284f828-6c12-4905-a9c9-43f143b36e08.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/1284f828-6c12-4905-a9c9-43f143b36e08.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/1284f828-6c12-4905-a9c9-43f143b36e08.xml	(revision 51225)
@@ -0,0 +1,2481 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="1284f828-6c12-4905-a9c9-43f143b36e08_Q29udGV4dERTUmVzb3VyY2VzL0NvbnRleHREU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="ContextDSResourceType"/>
+		<RESOURCE_KIND value="ContextDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value=""/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<context id="egi" label="EGI" type="community">
+				<category id="egi::classification" label="EGI classification scheme" claim="true">
+					<concept id="egi::classification::natsc" label="Natural Sciences" claim="true">
+						<param name="originalID">1</param>
+						<concept id="egi::classification::natsc::math" label="Mathematics" claim="true">
+							<param name="originalID">1.1</param>
+							<concept id="egi::classification::natsc::math::applied" label="Applied Mathematics" claim="true" >
+								<param name="originalID">1.1.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::math::pure" label="Pure Mathematics" claim="true" >
+								<param name="originalID">1.1.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::math::stats" label="Statistics and Probability" claim="true" >
+								<param name="originalID">1.1.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::math::other" label="Other" claim="true" >
+								<param name="originalID">1.1.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::natsc::cosc" label="Computer sciences" claim="true">
+							<param name="originalID">1.2</param>
+							<concept id="egi::classification::natsc::cosc::algo" label="Algorithms" claim="true" >
+								<param name="originalID">1.2.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::artii" label="Artificial Intelligence" claim="true" >
+								<param name="originalID">1.2.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::carc" label="Computer architecture" claim="true" >
+								<param name="originalID">1.2.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::ccomm" label="Computer communications" claim="true" >
+								<param name="originalID">1.2.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::cgraph" label="Computer graphics" claim="true" >
+								<param name="originalID">1.2.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::csecr" label="Computer security and reliability" claim="true" >
+								<param name="originalID">1.2.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::dstr" label="Data structures" claim="true" >
+								<param name="originalID">1.2.7</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::disc" label="Distributed computing" claim="true" >
+								<param name="originalID">1.2.8</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::hci" label="Human-computer interaction" claim="true" >
+								<param name="originalID">1.2.9</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::opes" label="Operating systems" claim="true" >
+								<param name="originalID">1.2.10</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::parc" label="Parallel computing" claim="true" >
+								<param name="originalID">1.2.11</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::plan" label="Programming languages" claim="true" >
+								<param name="originalID">1.2.12</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::qcom" label="Quantum computing" claim="true" >
+								<param name="originalID">1.2.13</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::softe" label="software engineering" claim="true" >
+								<param name="originalID">1.2.14</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::theo" label="Theory of computation" claim="true" >
+								<param name="originalID">1.2.15</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::other" label="Other" claim="true" >
+								<param name="originalID">1.2.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::natsc::infos" label="Information sciences" claim="true">
+							<param name="originalID">1.3</param>
+							<concept id="egi::classification::natsc::infos::dman" label="Data management" claim="true" >
+								<param name="originalID">1.3.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::dmin" label="Data mining" claim="true" >
+								<param name="originalID">1.3.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::iret" label="Information retrieval" claim="true" >
+								<param name="originalID">1.3.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::iman" label="Information management" claim="true" >
+								<param name="originalID">1.3.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::kman" label="Knowledge management" claim="true" >
+								<param name="originalID">1.3.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::mult" label="Multimedia, hypermedia" claim="true" >
+								<param name="originalID">1.3.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::other" label="Other" claim="true" >
+								<param name="originalID">1.3.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::natsc::earths" label="Earth sciences" claim="true">
+							<param name="originalID">1.4</param>
+							<concept id="egi::classification::natsc::earths::atms" label="Atmospheric science" claim="true" >
+								<param name="originalID">1.4.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::clim" label="Climate research" claim="true" >
+								<param name="originalID">1.4.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::geoc" label="Geochemistry" claim="true" >
+								<param name="originalID">1.4.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::geol" label="Geology" claim="true" >
+								<param name="originalID">1.4.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::geop" label="Geophysics" claim="true" >
+								<param name="originalID">1.4.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::hydr" label="Hydrology" claim="true" >
+								<param name="originalID">1.4.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::mine" label="Mineralogy" claim="true" >
+								<param name="originalID">1.4.7</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::ocea" label="Oceanography" claim="true" >
+								<param name="originalID">1.4.8</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::pala" label="palaeontology" claim="true" >
+								<param name="originalID">1.4.9</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::pgeo" label="Physical geography" claim="true" >
+								<param name="originalID">1.4.10</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::seis" label="Seismology" claim="true" >
+								<param name="originalID">1.4.11</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::volc" label="Volcanology" claim="true" >
+								<param name="originalID">1.4.12</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::other" label="Other" claim="true" >
+								<param name="originalID">1.4.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::natsc::biosc" label="Biological sciences" claim="true">
+							<param name="originalID">1.5</param>
+							<concept id="egi::classification::natsc::biosc::aerob" label="Aerobiology" claim="true" >
+								<param name="originalID">1.5.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::bact" label="Bacteriology" claim="true" >
+								<param name="originalID">1.5.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::behav" label="Behavioural biology" claim="true" >
+								<param name="originalID">1.5.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::bimol" label="Biochemistry and molecular biology" claim="true" >
+								<param name="originalID">1.5.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::bcons" label="Biodiversity conservation" claim="true" >
+								<param name="originalID">1.5.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::binfo" label="Bioinformatics" claim="true" >
+								<param name="originalID">1.5.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::brhy" label="Biological rhythm" claim="true" >
+								<param name="originalID">1.5.7</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::biol" label="Biology" claim="true" >
+								<param name="originalID">1.5.8</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::bioph" label="Biophysics" claim="true" >
+								<param name="originalID">1.5.9</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::bota" label="Botany" claim="true" >
+								<param name="originalID">1.5.10</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::cellb" label="Cell biology" claim="true" >
+								<param name="originalID">1.5.11</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::cobio" label="Computational biology" claim="true" >
+								<param name="originalID">1.5.12</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::cryo" label="Cryobiology" claim="true" >
+								<param name="originalID">1.5.13</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::devb" label="Developmental biology" claim="true" >
+								<param name="originalID">1.5.14</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::ecol" label="Ecology" claim="true" >
+								<param name="originalID">1.5.15</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::evolb" label="Evolutionary biology" claim="true" >
+								<param name="originalID">1.5.16</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::gehe" label="Genetics and heredity" claim="true" >
+								<param name="originalID">1.5.17</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::marin" label="Marine and Freshwater biology" claim="true" >
+								<param name="originalID">1.5.18</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::mbio" label="Mathematical biology" claim="true" >
+								<param name="originalID">1.5.19</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::mibio" label="Microbiology" claim="true" >
+								<param name="originalID">1.5.20</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::myco" label="Mycology" claim="true" >
+								<param name="originalID">1.5.21</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::plant" label="Plant science" claim="true" >
+								<param name="originalID">1.5.22</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::repr" label="Reproductive biology" claim="true" >
+								<param name="originalID">1.5.23</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::strub" label="Structural biology" claim="true" >
+								<param name="originalID">1.5.24</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::taxo" label="Taxonomy" claim="true" >
+								<param name="originalID">1.5.25</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::theob" label="Theoretical biology" claim="true" >
+								<param name="originalID">1.5.26</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::therm" label="Thermal biology" claim="true" >
+								<param name="originalID">1.5.27</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::viro" label="Virology" claim="true" >
+								<param name="originalID">1.5.28</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::zool" label="Zoology" claim="true" >
+								<param name="originalID">1.5.29</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::other" label="Other" claim="true" >
+								<param name="originalID">1.5.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::natsc::physc" label="Physical sciences" claim="true">
+							<param name="originalID">1.6</param>
+							<concept id="egi::classification::natsc::physc::acce" label="Acceleration physics" claim="true" >
+								<param name="originalID">1.6.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::acou" label="Acoustics" claim="true" >
+								<param name="originalID">1.6.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::aero" label="Aerosol physics" claim="true" >
+								<param name="originalID">1.6.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::astrb" label="Astrobiology" claim="true" >
+								<param name="originalID">1.6.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::astrn" label="Astronomy" claim="true" >
+								<param name="originalID">1.6.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::astrp" label="Astroparticle physics" claim="true" >
+								<param name="originalID">1.6.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::astrph" label="Astrophysics" claim="true" >
+								<param name="originalID">1.6.7</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::atmc" label="Atomic" claim="true" >
+								<param name="originalID">1.6.8</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::chph" label="Chemical physics" claim="true" >
+								<param name="originalID">1.6.9</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::comph" label="Computational physics" claim="true" >
+								<param name="originalID">1.6.10</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::conds" label="Condensed matter physics" claim="true" >
+								<param name="originalID">1.6.11</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::cryog" label="Cryogenics" claim="true" >
+								<param name="originalID">1.6.12</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::fluid" label="Fluid mechanics" claim="true" >
+								<param name="originalID">1.6.13</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::fusi" label="Fusion" claim="true" >
+								<param name="originalID">1.6.14</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::hene" label="High energy physics" claim="true" >
+								<param name="originalID">1.6.15</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::mathp" label="Mathematical physics" claim="true" >
+								<param name="originalID">1.6.16</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::medip" label="Medical physics" claim="true" >
+								<param name="originalID">1.6.17</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::molep" label="Molecular physics" claim="true" >
+								<param name="originalID">1.6.18</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::nuclp" label="Nuclear physics" claim="true" >
+								<param name="originalID">1.6.19</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::optc" label="Optics" claim="true" >
+								<param name="originalID">1.6.20</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::partp" label="Particle physics" claim="true" >
+								<param name="originalID">1.6.21</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::phys" label="Physics" claim="true" >
+								<param name="originalID">1.6.22</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::plans" label="Planetary science" claim="true" >
+								<param name="originalID">1.6.23</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::plsm" label="Plasma physics" claim="true" >
+								<param name="originalID">1.6.24</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::spac" label="Space physics" claim="true" >
+								<param name="originalID">1.6.25</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::quant" label="Quantum physics" claim="true" >
+								<param name="originalID">1.6.26</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::other" label="Other" claim="true" >
+								<param name="originalID">1.6.99</param>
+							</concept>
+						</concept>	
+						<concept id="egi::classification::natsc::chesc" label="Chemical sciences" claim="true">
+							<param name="originalID">1.7</param>
+							<concept id="egi::classification::natsc::chesc::analc" label="Analytical chemistry" claim="true" >
+								<param name="originalID">1.7.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::chem" label="Chemistry" claim="true" >
+								<param name="originalID">1.7.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::collc" label="Colloid chemistry" claim="true" >
+								<param name="originalID">1.7.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::compc" label="Computational chemistry" claim="true" >
+								<param name="originalID">1.7.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::elecc" label="Electrochemistry" claim="true" >
+								<param name="originalID">1.7.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::innuc" label="Inorganic and nuclear chemistry" claim="true" >
+								<param name="originalID">1.7.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::mathc" label="Mathematical chemistry" claim="true" >
+								<param name="originalID">1.7.7</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::orgc" label="Organic chemistry" claim="true" >
+								<param name="originalID">1.7.8</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::phyc" label="Physical chemistry" claim="true" >
+								<param name="originalID">1.7.9</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::polc" label="Polymer chemistry" claim="true" >
+								<param name="originalID">1.7.10</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::other" label="Other" claim="true" >
+								<param name="originalID">1.7.99</param>
+							</concept>
+						</concept>
+					</concept>
+					<concept id="egi::classification::engt" label="Engineering and Technology" claim="true">
+						<param name="originalID">2</param>
+						<concept id="egi::classification::engt::cieng" label="Civil engineering" claim="true">
+							<param name="originalID">2.1</param>
+							<concept id="egi::classification::engt::civeng::arche" label="Architecture engineering" claim="true" >
+								<param name="originalID">2.1.1</param>
+							</concept>
+							<concept id="egi::classification::engt::civeng::cieng" label="Civil engineering" claim="true" >
+								<param name="originalID">2.1.2</param>
+							</concept>
+							<concept id="egi::classification::engt::civeng::cipro" label="Civil protection" claim="true" >
+								<param name="originalID">2.1.3</param>
+							</concept>
+							<concept id="egi::classification::engt::civeng::costr" label="Construction/Structural engineering" claim="true" >
+								<param name="originalID">2.1.4</param>
+							</concept>
+							<concept id="egi::classification::engt::civeng::treng" label="Transport engineering" claim="true" >
+								<param name="originalID">2.1.5</param>
+							</concept>
+							<concept id="egi::classification::engt::civeng::other" label="Other" claim="true" >
+								<param name="originalID">2.1.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::eeie" label="Electrical, electronic and information engineering" claim="true">
+							<param name="originalID">2.2</param>
+							<concept id="egi::classification::engt::eeie::comes" label="Communication engineering and systems" claim="true" >
+								<param name="originalID">2.2.1</param>
+							</concept>
+							<concept id="egi::classification::engt::eeie::comha" label="Computer hardware and architecture" claim="true" >
+								<param name="originalID">2.2.2</param>
+							</concept>
+							<concept id="egi::classification::engt::eeie::elele" label="Electrical and electronic engineering" claim="true" >
+								<param name="originalID">2.2.3</param>
+							</concept>
+							<concept id="egi::classification::engt::eeie::robaut" label="Robotics, Automation and Control Systems" claim="true" >
+								<param name="originalID">2.2.4</param>
+							</concept>
+							<concept id="egi::classification::engt::eeie::other" label="Other" claim="true" >
+								<param name="originalID">2.2.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::meng" label="Mechanical engineering" claim="true">
+							<param name="originalID">2.3</param>
+							<concept id="egi::classification::engt::meng::apmec" label="Applied mechanics" claim="true" >
+								<param name="originalID">2.3.1</param>
+							</concept>
+							<concept id="egi::classification::engt::meng::audm" label="Audio engineering" claim="true" >
+								<param name="originalID">2.3.2</param>
+							</concept>
+							<concept id="egi::classification::engt::meng::nucl" label="Nuclear related engineering" claim="true" >
+								<param name="originalID">2.3.3</param>
+							</concept>
+							<concept id="egi::classification::engt::meng::relia" label="Reliability analysis" claim="true" >
+								<param name="originalID">2.3.4</param>
+							</concept>
+							<concept id="egi::classification::engt::meng::therd" label="Thermodynamics" claim="true" >
+								<param name="originalID">2.3.5</param>
+							</concept>
+							<concept id="egi::classification::engt::meng::other" label="other" claim="true" >
+								<param name="originalID">2.3.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::aeros" label="Aerospace engineering" claim="true">
+							<param name="originalID">2.4</param>
+							<concept id="egi::classification::engt::aeros::aeren" label="Aeronautical engineering" claim="true" >
+								<param name="originalID">2.4.1</param>
+							</concept>
+							<concept id="egi::classification::engt::aeros::astren" label="Astronautical engineering" claim="true" >
+								<param name="originalID">2.4.2</param>
+							</concept>
+							<concept id="egi::classification::engt::aeros::other" label="Other" claim="true" >
+								<param name="originalID">2.4.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::cheme" label="Chemical engineering" claim="true">
+							<param name="originalID">2.5</param>
+							<concept id="egi::classification::engt::cheme::cheme" label="Chemical engineering" claim="true" >
+								<param name="originalID">2.5.1</param>
+							</concept>
+							<concept id="egi::classification::engt::cheme::chempr" label="Chemical process engineering" claim="true" >
+								<param name="originalID">2.5.2</param>
+							</concept>
+							<concept id="egi::classification::engt::cheme::other" label="Other" claim="true" >
+								<param name="originalID">2.5.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::maten" label="Materials engineering" claim="true">
+							<param name="originalID">2.6</param>
+							<concept id="egi::classification::engt::maten::ceram" label="Ceramics" claim="true" >
+								<param name="originalID">2.6.1</param>
+							</concept>
+							<concept id="egi::classification::engt::maten::coatf" label="Coating and films" claim="true" >
+								<param name="originalID">2.6.2</param>
+							</concept>
+							<concept id="egi::classification::engt::maten::compos" label="Composites" claim="true" >
+								<param name="originalID">2.6.3</param>
+							</concept>
+							<concept id="egi::classification::engt::maten::paperw" label="Paper and wood" claim="true" >
+								<param name="originalID">2.6.4</param>
+							</concept>
+							<concept id="egi::classification::engt::maten::text" label="Textiles" claim="true" >
+								<param name="originalID">2.6.5</param>
+							</concept>
+							<concept id="egi::classification::engt::maten::other" label="Other" claim="true" >
+								<param name="originalID">2.6.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::bioeng" label="Bioengineering and Biomedical engineering" claim="true">
+							<param name="originalID">2.7</param>
+							<concept id="egi::classification::engt::bioeng::bioeng" label="Bioengineering" claim="true" >
+								<param name="originalID">2.7.1</param>
+							</concept>
+							<concept id="egi::classification::engt::bioeng::biomed" label="Biomedical engineering" claim="true" >
+								<param name="originalID">2.7.2</param>
+							</concept>
+							<concept id="egi::classification::engt::bioeng::other" label="Other" claim="true" >
+								<param name="originalID">2.7.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::enveng" label="Environmental engineering" claim="true">
+							<param name="originalID">2.8</param>
+							<concept id="egi::classification::engt::enveng::enfue" label="Energy and fuels" claim="true" >
+								<param name="originalID">2.8.1</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::geoen" label="Geological engineering" claim="true" >
+								<param name="originalID">2.8.2</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::geote" label="Geotechnics" claim="true" >
+								<param name="originalID">2.8.3</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::oceae" label="Ocean engineering" claim="true" >
+								<param name="originalID">2.8.4</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::minep" label="Mining and mineral processing" claim="true" >
+								<param name="originalID">2.8.5</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::petren" label="Petroleum engineering" claim="true" >
+								<param name="originalID">2.8.6</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::remse" label="Remote sensing" claim="true" >
+								<param name="originalID">2.8.7</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::seav" label="Sea vessels" claim="true" >
+								<param name="originalID">2.8.8</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::other" label="Other" claim="true" >
+								<param name="originalID">2.8.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::envbio" label="Environmental biotechnology" claim="true">
+							<param name="originalID">2.9</param>
+							<concept id="egi::classification::engt::envbio::biore" label="Bioremediation" claim="true" >
+								<param name="originalID">2.9.1</param>
+							</concept>
+							<concept id="egi::classification::engt::envbio::diabi" label="Diagnostic biotechnologies" claim="true" >
+								<param name="originalID">2.9.2</param>
+							</concept>
+							<concept id="egi::classification::engt::envbio::other" label="Other" claim="true" >
+								<param name="originalID">2.9.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::indbio" label="Industrial  biotechnology" claim="true">
+							<param name="originalID">2.10</param>
+							<concept id="egi::classification::engt::indbio::biden" label="Bio-derived novel materials" claim="true" >
+								<param name="originalID">2.10.1</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::bicat" label="Biocatalysis" claim="true" >
+								<param name="originalID">2.10.2</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::bibul" label="Bioderived bulk and fine chemicals" claim="true" >
+								<param name="originalID">2.10.3</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::bifue" label="Biofuels" claim="true" >
+								<param name="originalID">2.10.4</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::bimat" label="Biomaterials" claim="true" >
+								<param name="originalID">2.10.5</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::bipro" label="Bioprocessing technologies" claim="true" >
+								<param name="originalID">2.10.6</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::biprd" label="Bioproducts" claim="true" >
+								<param name="originalID">2.10.7</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::ferm" label="Fermentation" claim="true" >
+								<param name="originalID">2.10.8</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::other" label="Other" claim="true" >
+								<param name="originalID">2.10.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::nante" label="Nano-technology" claim="true">
+							<param name="originalID">2.11</param>
+							<concept id="egi::classification::engt::nante::nanma" label="Nano-materials" claim="true" >
+								<param name="originalID">2.11.1</param>
+							</concept>
+							<concept id="egi::classification::engt::nante::nanpr" label="Nano-processes" claim="true" >
+								<param name="originalID">2.11.2</param>
+							</concept>
+							<concept id="egi::classification::engt::nante::other" label="Other" claim="true" >
+								<param name="originalID">2.11.99</param>
+							</concept>
+						</concept>
+					</concept>	
+					<concept id="egi::classification::medsc" label="Medical and Health Sciences" claim="true">
+						<param name="originalID">3</param>
+						<concept id="egi::classification::medsc::basicm" label="Basic medicine" claim="true">
+							<param name="originalID">3.1</param>
+							<concept id="egi::classification::medsc::basicm::anatm" label="Anatomy and morphology" claim="true" >
+								<param name="originalID">3.1.1</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::hugen" label="Human genetics" claim="true" >
+								<param name="originalID">3.1.2</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::immu" label="Immunology" claim="true" >
+								<param name="originalID">3.1.3</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::medch" label="Medicinal chemistry" claim="true" >
+								<param name="originalID">3.1.4</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::neusc" label="Neuroscience" claim="true" >
+								<param name="originalID">3.1.5</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::path" label="Pathology" claim="true" >
+								<param name="originalID">3.1.6</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::pharm" label="Pharmacology and pharmacy" claim="true" >
+								<param name="originalID">3.1.7</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::physi" label="Physiology" claim="true" >
+								<param name="originalID">3.1.8</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::toxi" label="Toxicology" claim="true" >
+								<param name="originalID">3.1.9</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::other" label="Other" claim="true" >
+								<param name="originalID">3.1.99</param>
+							</concept>
+						</concept>	
+						<concept id="egi::classification::medsc::clinm" label="Clinical medicine" claim="true">
+							<param name="originalID">3.2</param>
+							<concept id="egi::classification::medsc::clinm::alle" label="Allergy" claim="true" >
+								<param name="originalID">3.2.1</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::anae" label="Anaesthesiology" claim="true" >
+								<param name="originalID">3.2.2</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::andro" label="Andrology" claim="true" >
+								<param name="originalID">3.2.3</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::cardi" label="Cardiac and Cardiovascular systems" claim="true" >
+								<param name="originalID">3.2.4</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::emerg" label="Critical care/Emergency medicine" claim="true" >
+								<param name="originalID">3.2.5</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::dent" label="Dentistry, oral surgery/medicine" claim="true" >
+								<param name="originalID">3.2.6</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::derm" label="Dermatology and venereal diseases" claim="true" >
+								<param name="originalID">3.2.7</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::gastr" label="Gastroenterology and hepatology" claim="true" >
+								<param name="originalID">3.2.8</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::gener" label="General and internal medicine" claim="true" >
+								<param name="originalID">3.2.9</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::geria" label="Geriatrics and gerontology" claim="true" >
+								<param name="originalID">3.2.10</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::hema" label="Hematology" claim="true" >
+								<param name="originalID">3.2.11</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::compl" label="Integrative and Complementary medicine" claim="true" >
+								<param name="originalID">3.2.12</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::medim" label="Medical imaging" claim="true" >
+								<param name="originalID">3.2.13</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::nucim" label="Nuclear medicine" claim="true" >
+								<param name="originalID">3.2.14</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::obstg" label="Obstetrics and gynaecology" claim="true" >
+								<param name="originalID">3.2.15</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::oncol" label="Oncology" claim="true" >
+								<param name="originalID">3.2.16</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::ophth" label="Ophthalmology" claim="true" >
+								<param name="originalID">3.2.17</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::optom" label="Optometry" claim="true" >
+								<param name="originalID">3.2.18</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::ortho" label="Orthopaedics" claim="true" >
+								<param name="originalID">3.2.19</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::otori" label="Otorhinolaryngology" claim="true" >
+								<param name="originalID">3.2.20</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::paedi" label="Paediatrics" claim="true" >
+								<param name="originalID">3.2.21</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::periph" label="Peripheral vascular disease" claim="true" >
+								<param name="originalID">3.2.22</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::psych" label="Psychiatry" claim="true" >
+								<param name="originalID">3.2.23</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::radio" label="Radiology" claim="true" >
+								<param name="originalID">3.2.24</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::respi" label="Respiratory systems" claim="true" >
+								<param name="originalID">3.2.25</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::rheum" label="Rheumatology" claim="true" >
+								<param name="originalID">3.2.26</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::surge" label="Surgery" claim="true" >
+								<param name="originalID">3.2.27</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::transp" label="Transplantation" claim="true" >
+								<param name="originalID">3.2.28</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::urol" label="Urology and nephrology" claim="true" >
+								<param name="originalID">3.2.29</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::other" label="Other" claim="true" >
+								<param name="originalID">3.2.99</param>
+							</concept>
+						</concept>	
+						<concept id="egi::classification::medsc::healsc" label="Health science" claim="true">
+							<param name="originalID">3.3</param>
+							<concept id="egi::classification::medsc::healsc::epide" label="Epidemiology" claim="true" >
+								<param name="originalID">3.3.1</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::caresc" label="Health care science and services" claim="true" >
+								<param name="originalID">3.3.2</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::policy" label="Health policy and services" claim="true" >
+								<param name="originalID">3.3.3</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::infec" label="Infectious diseases" claim="true" >
+								<param name="originalID">3.3.4</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::ethic" label="Medical ethics" claim="true" >
+								<param name="originalID">3.3.5</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::nurse" label="Nursing" claim="true" >
+								<param name="originalID">3.3.6</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::nutri" label="Nutrition and Dietetics" claim="true" >
+								<param name="originalID">3.3.7</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::occup" label="Occupational health" claim="true" >
+								<param name="originalID">3.3.8</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::paras" label="Parasitology" claim="true" >
+								<param name="originalID">3.3.9</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::publi" label="Public and environmental health" claim="true" >
+								<param name="originalID">3.3.10</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::sobio" label="Social biomedical science" claim="true" >
+								<param name="originalID">3.3.11</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::sport" label="Sport and fitness science" claim="true" >
+								<param name="originalID">3.3.12</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::subst" label="Substance abuse" claim="true" >
+								<param name="originalID">3.3.13</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::trop" label="Tropical medicine" claim="true" >
+								<param name="originalID">3.3.14</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::other" label="Other" claim="true" >
+								<param name="originalID">3.3.99</param>
+							</concept>
+						</concept>	
+						<concept id="egi::classification::medsc::medbio" label="Medical biotechnology" claim="true">
+							<param name="originalID">3.4</param>
+							<concept id="egi::classification::medsc::medbio::bdev" label="Biomedical devices" claim="true" >
+								<param name="originalID">3.4.1</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::hbio" label="Health-related biotechnology" claim="true" >
+								<param name="originalID">3.4.2</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::phbio" label="Pharmaceutical biotechnology" claim="true" >
+								<param name="originalID">3.4.3</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::bioeth" label="Biotechnology and medical ethics" claim="true" >
+								<param name="originalID">3.4.4</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::mdia" label="Molecular diagnostics" claim="true" >
+								<param name="originalID">3.4.5</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::bmani" label="Biophysical manipulation" claim="true" >
+								<param name="originalID">3.4.6</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::other" label="Other" claim="true" >
+								<param name="originalID">3.4.99</param>
+							</concept>
+						</concept>
+					</concept>
+					<concept id="egi::classification::agrisc" label="Agricultural Sciences" claim="true">
+						<param name="originalID">4</param>
+						<concept id="egi::classification::agrisc::agrfor" label="Agriculture, forestry, and fisheries" claim="true">
+							<param name="originalID">4.1</param>
+							<concept id="egi::classification::agrisc::agrfor::agri" label="Agriculture" claim="true" >
+								<param name="originalID">4.1.1</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::agrpl" label="Agronomy, plant breeding, plant protection" claim="true" >
+								<param name="originalID">4.1.2</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::fish" label="Fishery" claim="true" >
+								<param name="originalID">4.1.3</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::fore" label="Forestry" claim="true" >
+								<param name="originalID">4.1.4</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::horti" label="Horticulture and viticulture" claim="true" >
+								<param name="originalID">4.1.5</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::soil" label="Soil science" claim="true" >
+								<param name="originalID">4.1.6</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::other" label="Other" claim="true" >
+								<param name="originalID">4.1.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::agrisc::anisc" label="Animal and dairy sciences" claim="true">
+							<param name="originalID">4.2</param>
+							<concept id="egi::classification::agrisc::anisc::anisc" label="Animal science" claim="true" >
+								<param name="originalID">4.2.1</param>
+							</concept>
+							<concept id="egi::classification::agrisc::anisc::dair" label="Dairy science" claim="true" >
+								<param name="originalID">4.2.2</param>
+							</concept>
+							<concept id="egi::classification::agrisc::anisc::husb" label="Husbandry" claim="true" >
+								<param name="originalID">4.2.3</param>
+							</concept>
+							<concept id="egi::classification::agrisc::anisc::pets" label="Pets" claim="true" >
+								<param name="originalID">4.2.4</param>
+							</concept>
+							<concept id="egi::classification::agrisc::anisc::other" label="Other" claim="true" >
+								<param name="originalID">4.2.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::agrisc::vetsc" label="Veterinary sciences" claim="true">
+							<param name="originalID">4.3</param>
+							<concept id="egi::classification::agrisc::vetsc::vanae" label="Veterinary anaesthesiology" claim="true" >
+								<param name="originalID">4.3.1</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vmed" label="Veterinary medicine" claim="true" >
+								<param name="originalID">4.3.2</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vophth" label="Veterinary ophtahlmology" claim="true" >
+								<param name="originalID">4.3.3</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vpath" label="Veterinary pathobiology" claim="true" >
+								<param name="originalID">4.3.4</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vrad" label="Veterinary radiology" claim="true" >
+								<param name="originalID">4.3.5</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vrepr" label="Veterinary reproduction" claim="true" >
+								<param name="originalID">4.3.6</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vsurg" label="Veterinary surgery" claim="true" >
+								<param name="originalID">4.3.7</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::other" label="Other" claim="true" >
+								<param name="originalID">4.3.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::agrisc::agrbio" label="Agricultural biotechnology" claim="true">
+							<param name="originalID">4.4</param>
+							<concept id="egi::classification::agrisc::agrbio::bmass" label="Biomass feedstock production tech." claim="true" >
+								<param name="originalID">4.4.1</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::bphar" label="Biopharming" claim="true" >
+								<param name="originalID">4.4.2</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::diagn" label="Diagnostics" claim="true" >
+								<param name="originalID">4.4.3</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::fbiot" label="Food biotechnology" claim="true" >
+								<param name="originalID">4.4.4</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::gmtec" label="GM technology" claim="true" >
+								<param name="originalID">4.4.5</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::lclon" label="Livestock cloning" claim="true" >
+								<param name="originalID">4.4.6</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::masel" label="Marker assisted selection" claim="true" >
+								<param name="originalID">4.4.7</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::other" label="Other" claim="true" >
+								<param name="originalID">4.4.99</param>
+							</concept>
+						</concept>
+					</concept>	
+					<concept id="egi::classification::sosc" label="Social Sciences" claim="true">
+						<param name="originalID">5</param>
+						<concept id="egi::classification::sosc::psych" label="Psychology" claim="true">
+							<param name="originalID">5.1</param>
+							<concept id="egi::classification::sosc::psych::biops" label="Biological Psychology" claim="true" >
+								<param name="originalID">5.1.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::clips" label="Clinical Psychology" claim="true" >
+								<param name="originalID">5.1.2</param>
+							</concept>	
+							<concept id="egi::classification::sosc::psych::cogps" label="Cognitive Psychology" claim="true" >
+								<param name="originalID">5.1.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::comps" label="Comparative Psychology" claim="true" >
+								<param name="originalID">5.1.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::devps" label="Developmental Psychology" claim="true" >
+								<param name="originalID">5.1.5</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::edups" label="Educational and School Psychology" claim="true" >
+								<param name="originalID">5.1.6</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::evops" label="Evolutionary Psychology" claim="true" >
+								<param name="originalID">5.1.7</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::indps" label="Industrial-organisational Psychology" claim="true" >
+								<param name="originalID">5.1.8</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::persps" label="Personality Psychology" claim="true" >
+								<param name="originalID">5.1.9</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::posps" label="Positive Psychology" claim="true" >
+								<param name="originalID">5.1.10</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::socps" label="Social Psychology" claim="true" >
+								<param name="originalID">5.1.11</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::other" label="Other" claim="true" >
+								<param name="originalID">5.1.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::econ" label="Economics, finance and business" claim="true">
+							<param name="originalID">5.2</param>
+							<concept id="egi::classification::sosc::econ::busman" label="Business and management" claim="true" >
+								<param name="originalID">5.2.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::econ::econom" label="Economics and Econometrics" claim="true" >
+								<param name="originalID">5.2.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::econ::finan" label="Finance" claim="true" >
+								<param name="originalID">5.2.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::econ::indus" label="Industrial relations" claim="true" >
+								<param name="originalID">5.2.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::econ::other" label="Other" claim="true" >
+								<param name="originalID">5.2.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::edusc" label="Educational sciences" claim="true">
+							<param name="originalID">5.3</param>
+							<concept id="egi::classification::sosc::edusc::genedu" label="General Education" claim="true" >
+								<param name="originalID">5.3.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::edusc::spedu" label="Special Education" claim="true" >
+								<param name="originalID">5.3.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::edusc::other" label="Other" claim="true" >
+								<param name="originalID">5.3.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::socio" label="Sociology" claim="true">
+							<param name="originalID">5.4</param>
+							<concept id="egi::classification::sosc::socio::anthro" label="Anthropology" claim="true" >
+								<param name="originalID">5.4.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::demog" label="Demography" claim="true" >
+								<param name="originalID">5.4.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::ethno" label="Ethnology" claim="true" >
+								<param name="originalID">5.4.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::famil" label="Family studies" claim="true" >
+								<param name="originalID">5.4.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::socst" label="Social studies" claim="true" >
+								<param name="originalID">5.4.5</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::sowork" label="Social work" claim="true" >
+								<param name="originalID">5.4.5</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::sociol" label="Sociology" claim="true" >
+								<param name="originalID">5.4.7</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::women" label="Women's and gender studies" claim="true" >
+								<param name="originalID">5.4.8</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::other" label="Other" claim="true" >
+								<param name="originalID">5.4.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::law" label="Law" claim="true">
+							<param name="originalID">5.5</param>
+							<concept id="egi::classification::sosc::law::canol" label="Canon Law" claim="true" >
+								<param name="originalID">5.5.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::civill" label="Civil Law" claim="true" >
+								<param name="originalID">5.5.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::comparl" label="Comparative Law" claim="true" >
+								<param name="originalID">5.5.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::compel" label="Competition Law" claim="true" >
+								<param name="originalID">5.5.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::constl" label="Constitutional Law" claim="true" >
+								<param name="originalID">5.5.5</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::crimil" label="Criminal Law" claim="true" >
+								<param name="originalID">5.5.6</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::islaml" label="Islamic Law" claim="true" >
+								<param name="originalID">5.5.7</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::jewil" label="Jewish Law" claim="true" >
+								<param name="originalID">5.5.8</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::juris" label="Jurisprudence" claim="true" >
+								<param name="originalID">5.5.9</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::other" label="Other" claim="true" >
+								<param name="originalID">5.5.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::polsc" label="Political Sciences" claim="true">
+							<param name="originalID">5.6</param>
+							<concept id="egi::classification::sosc::polsc::compp" label="Comparative Politics" claim="true" >
+								<param name="originalID">5.6.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::empir" label="Empirical pata analysis" claim="true" >
+								<param name="originalID">5.6.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::intre" label="International relations" claim="true" >
+								<param name="originalID">5.6.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::organ" label="Organisational theory" claim="true" >
+								<param name="originalID">5.6.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::polec" label="Political economy" claim="true" >
+								<param name="originalID">5.6.5</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::polph" label="Political philosophy" claim="true" >
+								<param name="originalID">5.6.6</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::pubad" label="Public administration" claim="true" >
+								<param name="originalID">5.6.7</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::thsta" label="Theories of the state" claim="true" >
+								<param name="originalID">5.6.8</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::other" label="Other" claim="true" >
+								<param name="originalID">5.6.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::soecge" label="Social and economic geography" claim="true">
+							<param name="originalID">5.7</param>
+							<concept id="egi::classification::sosc::soecge::cuecge" label="Cultural and economic geography" claim="true" >
+								<param name="originalID">5.7.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::soecge::transp" label="Transport planning" claim="true" >
+								<param name="originalID">5.7.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::soecge::urbst" label="Urban studies" claim="true" >
+								<param name="originalID">5.7.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::soecge::other" label="Other" claim="true" >
+								<param name="originalID">5.7.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::media" label="Media and communications" claim="true">
+							<param name="originalID">5.8</param>
+							<concept id="egi::classification::sosc::media::cuecge" label="Information science - social" claim="true" >
+								<param name="originalID">5.8.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::media::journ" label="Journalism" claim="true" >
+								<param name="originalID">5.8.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::media::librsc" label="Library science" claim="true" >
+								<param name="originalID">5.8.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::media::mediasoc" label="Media and socio-cultural communication" claim="true" >
+								<param name="originalID">5.8.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::media::other" label="Other" claim="true" >
+								<param name="originalID">5.8.99</param>
+							</concept>
+						</concept>
+					</concept>
+					<concept id="egi::classification::human" label="Humanities" claim="true">
+						<param name="originalID">6</param>
+						<concept id="egi::classification::human::hist" label="History and Archaeology" claim="true">
+							<param name="originalID">6.1</param>
+							<concept id="egi::classification::human::hist::archae" label="Archaeology" claim="true" >
+								<param name="originalID">6.1.1</param>
+							</concept>
+							<concept id="egi::classification::human::hist::hist" label="History" claim="true" >
+								<param name="originalID">6.1.2</param>
+							</concept>
+							<concept id="egi::classification::human::hist::other" label="Other" claim="true" >
+								<param name="originalID">6.1.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::human::lang" label="Languages and literature" claim="true">
+							<param name="originalID">6.2</param>
+							<concept id="egi::classification::human::lang::genlang" label="General language studies" claim="true" >
+								<param name="originalID">6.2.1</param>
+							</concept>
+							<concept id="egi::classification::human::lang::genlit" label="General literature studies" claim="true" >
+								<param name="originalID">6.2.2</param>
+							</concept>
+							<concept id="egi::classification::human::lang::ling" label="Linguistics" claim="true" >
+								<param name="originalID">6.2.3</param>
+							</concept>
+							<concept id="egi::classification::human::lang::liter" label="Literary theory" claim="true" >
+								<param name="originalID">6.2.4</param>
+							</concept>
+							<concept id="egi::classification::human::lang::splang" label="Specific languages" claim="true" >
+								<param name="originalID">6.2.5</param>
+							</concept>
+							<concept id="egi::classification::human::lang::split" label="Specific literatures" claim="true" >
+								<param name="originalID">6.2.6</param>
+							</concept>
+							<concept id="egi::classification::human::lang::other" label="Other" claim="true" >
+								<param name="originalID">6.2.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::human::philos" label="Philosophy, ethics and religion" claim="true">
+							<param name="originalID">6.3</param>
+							<concept id="egi::classification::human::philos::ethic" label="Ethics" claim="true" >
+								<param name="originalID">6.3.1</param>
+							</concept>
+							<concept id="egi::classification::human::philos::philsc" label="Philosophy of science/technology" claim="true" >
+								<param name="originalID">6.3.2</param>
+							</concept>
+							<concept id="egi::classification::human::philos::philo" label="Philosophy" claim="true" >
+								<param name="originalID">6.3.3</param>
+							</concept>
+							<concept id="egi::classification::human::philos::relig" label="Religious studies" claim="true" >
+								<param name="originalID">6.3.4</param>
+							</concept>
+							<concept id="egi::classification::human::philos::theol" label="Theology" claim="true" >
+								<param name="originalID">6.3.5</param>
+							</concept>
+							<concept id="egi::classification::human::philos::other" label="Other" claim="true" >
+								<param name="originalID">6.3.99</param>
+							</concept>
+						</concept>	
+						<concept id="egi::classification::human::arts" label="Arts" claim="true">
+							<param name="originalID">6.4</param>
+							<concept id="egi::classification::human::arts::archi" label="Architectural design" claim="true" >
+								<param name="originalID">6.4.1</param>
+							</concept>
+							<concept id="egi::classification::human::arts::folk" label="Folklore Studies" claim="true" >
+								<param name="originalID">6.4.2</param>
+							</concept>
+							<concept id="egi::classification::human::arts::media" label="Media Studies" claim="true" >
+								<param name="originalID">6.4.3</param>
+							</concept>
+							<concept id="egi::classification::human::arts::music" label="Musicology" claim="true" >
+								<param name="originalID">6.4.4</param>
+							</concept>
+							<concept id="egi::classification::human::arts::perf" label="Performing arts studies" claim="true" >
+								<param name="originalID">6.4.5</param>
+							</concept>
+							<concept id="egi::classification::human::arts::Other" label="Other" claim="true" >
+								<param name="originalID">6.4.99</param>
+							</concept>
+						</concept>
+					</concept>	
+					<concept id="egi::classification::supp" label="Support Activities" claim="true">	
+						<param name="originalID">7</param>
+						<concept id="egi::classification::supp::digarc" label="Digital Archives" claim="true" >
+							<param name="originalID">7.1</param>
+						</concept>
+						<concept id="egi::classification::supp::infra" label="Infrastructure Development" claim="true" >
+							<param name="originalID">7.2</param>
+						</concept>
+						<concept id="egi::classification::supp::train" label="Training/Demonstrations" claim="true" >
+							<param name="originalID">7.3</param>
+						</concept>
+						<concept id="egi::classification::supp::other" label="Other" claim="true" >
+							<param name="originalID">7.99</param>
+						</concept>
+					</concept>		
+				</category>
+				<category id="egi::projects" label="EGI Projects" claim="false">
+					<concept claim="true" id="egi::projects::egiengage" label="EGI-ENGAGE">
+						<param name="projectfullname">Engaging the EGI Community towards an Open Science Commons</param>
+						<param name="suggestedAcknowledgment">(Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in EGI-ENGAGE</param>
+						<param name="grantid">654142</param>
+						<param name="url">https://www.egi.eu/about/egi-engage/</param>
+					</concept>
+					<concept id="egi::projects::biomedbridges" label="BioMedBridges" claim="true">
+						<param name="projectfullname"> Building data bridges from biology to medicine in Europe </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in BioMedBridges</param>
+						<param name="grantid">RI-284209</param>
+						<param name="url">http://www.biomedbridges.eu/</param>
+					</concept>
+					<concept id="egi::projects::biovel" label="BioVel" claim="true">
+						<param name="projectfullname"> Biodiversity Virtual e-Laboratory </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in BioVel</param>
+						<param name="grantid">RI-283359</param>
+						<param name="url">http://www.biovel.eu/</param>
+					</concept>
+					<concept id="egi::projects::chain" label="CHAIN" claim="true">
+						<param name="projectfullname">Co-ordination &amp; Harmonisation of Advanced e-INfrastructures</param>
+						<param name="suggestedAcknowledgment">(Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between CHAIN and EGI-InSPIRE</param>
+						<param name="grantid">RI-306819</param>
+						<param name="url">http://www.chain-project.eu/</param>
+					</concept>
+					<concept id="egi::projects::dchrp" label="DCH-RP" claim="true">
+						<param name="projectfullname"> Digital Cultural Heritage - Roadmap for Preservation </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in DCH-RP</param>
+						<param name="grantid">RI-312274</param>
+						<param name="url">http://www.dch-rp.eu/</param>
+					</concept>
+					<concept id="egi::projects::decide" label="DECIDE" claim="true">
+						<param name="projectfullname"> Diagnostic Enhancement of Confidence by an International Distributed Environment </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between DECIDE and EGI-InSPIRE</param>
+						<param name="grantid">RI-260011 </param>
+						<param name="url">https://www.eu-decide.eu</param>
+					</concept>
+					<concept id="egi::projects::drihms" label="DRIHMS" claim="true">
+						<param name="projectfullname"> Distributed Research Infrastructure for Hydro-Meteorology Study </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">(rule)</param>
+						<param name="grantid">RI-246703 </param>
+						<param name="url">http://www.drihms.eu/</param>
+					</concept>
+					<concept id="egi::projects::efiscal" label="e-Fiscal" claim="true">
+						<param name="projectfullname"> Financial Study for Sustainable Computing e-Infrastructures </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in e-Fiscal</param>
+						<param name="grantid">RI-283449</param>
+						<param name="url">http://efiscal.eu/</param>
+					</concept>
+					<concept id="egi::projects::esciencetalk" label="e-ScienceTalk" claim="true">
+						<param name="projectfullname"> e-ScienceTalk </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Coordinated by the European Grid Initiative (EGI)</param>
+						<param name="grantid">260733</param>
+						<param name="url">http://www.e-sciencetalk.org/</param>
+					</concept>
+					<concept id="egi::projects::ige" label="IGE" claim="true">
+						<param name="projectfullname"> Initiative for Globus in Europe </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between IGE and EGI</param>
+						<param name="grantid">RI-261560 </param>
+						<param name="url">http://www.ige-project.eu/</param>
+					</concept>
+					<concept id="egi::projects::enventory" label="e.NVENTORY" claim="true">
+						<param name="projectfullname"> European e-Infrastructures Observatory </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between e.NVENTORY and EGI</param>
+						<param name="grantid">RI-261554 </param>
+						<param name="url">www.enventory.eu</param>
+					</concept>
+					<concept id="egi::projects::egdi" label="EDGI" claim="true">
+						<param name="projectfullname"> European Desktop Grid Initiative </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between EDGI and EGI-Inspire</param>
+						<param name="grantid">RI-261556 </param>
+						<param name="url">www.edgi-project.eu</param>
+					</concept>
+					<concept id="egi::projects::egiinspire" label="EGI-InSPIRE" claim="true">
+						<param name="projectfullname"> European Desktop Grid Initiative </param>
+						<param name="suggestedAcknowledgment">The authors acknowledge the use of resources provided by the European Grid Infrastructure. For more information, please reference the EGI-InSPIRE paper (http://go.egi.eu/pdnon).</param>
+						<param name="rule">Coordinated by the European Grid Initiative (EGI)</param>
+						<param name="grantid">RI-261323</param>
+						<param name="url">https://www.egi.eu/about/egi-inspire/</param>
+					</concept>
+					<concept id="egi::projects::emi" label="EMI" claim="true">
+						<param name="projectfullname"> European Middleware Initiative </param>
+						<param name="suggestedAcknowledgment">The authors acknowledge the use of resources provided by the European Grid Infrastructure. For more information, please reference the EGI-InSPIRE paper (http://go.egi.eu/pdnon).</param>
+						<param name="rule">Memorandum of Understanding between EMI and EGI</param>
+						<param name="grantid">RI-261611</param>
+						<param name="url">http://www.eu-emi.eu/</param>
+					</concept>
+					<concept id="egi::projects::envri" label="ENVRI" claim="true">
+						<param name="projectfullname"> Common Operations of Environmental Research Infrastructures </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in ENVRI</param>
+						<param name="grantid">283465</param>
+						<param name="url">http://envri.eu/</param>
+					</concept>
+					<concept id="egi::projects::erflow" label="ER-Flow" claim="true">
+						<param name="projectfullname"> European Research Community through interoperable workflows and data sharing </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in ER-Flow</param>
+						<param name="grantid">RI-312579</param>
+						<param name="url">http://www.erflow.eu/</param>
+					</concept>				
+					<concept id="egi::projects::mantychore" label="MANTYCHORE" claim="true">
+						<param name="projectfullname"> Provide infrastructure resources and IP networks as a service </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Informal agreement between MANTYCHORE and EGI</param>
+						<param name="grantid">261527</param>
+						<param name="url">http://www.mantychore.eu/</param>
+					</concept>
+					<concept id="egi::projects::mapper" label="MAPPER" claim="true">
+						<param name="projectfullname"> Multiscale Applications on European e-Infrastructures </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between MAPPER and EGI</param>
+						<param name="grantid">RI-261507</param>
+						<param name="url">http://www.mapper-project.eu/</param>
+					</concept>
+					<concept id="egi::projects::scalalife" label="SCALALIFE" claim="true">
+						<param name="projectfullname"> Scalable Software Services for Life Science </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between MAPPER and EGI-InSpire</param>
+						<param name="grantid">RI-261523</param>
+						<param name="url">http://www.scalalife.eu/</param>
+					</concept>
+					<concept id="egi::projects::scibus" label="SCI-BUS" claim="true">
+						<param name="projectfullname"> SCIentific gateway Based User Support </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between SCI-BUS and EGI</param>
+						<param name="grantid">RI-283481</param>
+						<param name="url">http://www.sci-bus.eu/</param>
+					</concept>
+					<concept id="egi::projects::shiwa" label="SHIWA" claim="true">
+						<param name="projectfullname"> SHaring Interoperable Workflows for large-scale scientific simulations on Available DCIs </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between SHIWA and EGI-Inspire</param>
+						<param name="grantid">RI-261585</param>
+						<param name="url">http://www.shiwa-workflow.eu/</param>
+					</concept>
+					<concept id="egi::projects::siena" label="SIENA" claim="true">
+						<param name="projectfullname"> Standards and Interoperability for e-Infrastructure Implementation Initiative </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between SIENA and EGI-Inspire</param>
+						<param name="grantid">RI-261575</param>
+						<param name="url">http://www.sienainitiative.eu/</param>
+					</concept>
+					<concept id="egi::projects::stratuslab" label="STRATUSLAB" claim="true">
+						<param name="projectfullname"> StratusLab </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between StratusLab and EGI-Inspire</param>
+						<param name="grantid">RI-261552</param>
+						<param name="url">http://stratuslab.eu/</param>
+					</concept>
+					<concept id="egi::projects::uvasce" label="UVACSE" claim="true">
+						<param name="projectfullname"> University of Virginia Alliance for Computational Science and Engineering </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between StratusLab and EGI</param>
+						<param name="grantid"> (grantid) </param>
+						<param name="url">http://www.uvacse.virginia.edu/</param>
+					</concept>
+					<concept id="egi::projects::verce" label="VERCE" claim="true">
+						<param name="projectfullname"> Virtual Earthquake and seismology Research Community in Europe e-science environment </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule"> (rule) </param>
+						<param name="grantid"> RI-283543 </param>
+						<param name="url">http://www.verce.eu/</param>
+					</concept>
+					<concept id="egi::projects::wenmr" label="WENMR" claim="true">
+						<param name="projectfullname"> A worldwide e-Infrastructure for NMR and structural biology </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule"> Memorandum of Understanding between WENMR and EGI </param>
+						<param name="grantid"> RI-261572 </param>
+						<param name="url">http://www.wenmr.eu/</param>
+					</concept>
+					<concept id="egi::projects::helixn" label="Helix Nebula" claim="true">
+						<param name="projectfullname"> A worldwide e-Infrastructure for NMR and structural biology </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in Helix Nebula</param>
+						<param name="grantid">312301</param>
+						<param name="url">http://helix-nebula.eu/</param>
+					</concept>
+					<concept id="egi::projects::fedsm" label="FedSM" claim="true">
+						<param name="projectfullname">Implementing service management in federated e-Infrastructures</param>
+						<param name="suggestedAcknowledgment">(Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in FedSM</param>
+						<param name="grantid">RI-312851</param>
+						<param name="url">http://www.fedsm.eu/</param>
+					</concept>
+				</category>
+				<category id="egi::country" label="EGI Countries" claim="true">
+					<concept id="egi::country::ba" label="Bosnia and Herzegovina" claim="true">
+						<param name="organisationname">ETFBL</param>
+					</concept>
+					<concept id="egi::country::be" label="Belgium" claim="true">
+						<param name="organisationname">BELNET</param>
+					</concept>
+					<concept id="egi::country::bg" label="Bulgaria" claim="true">
+						<param name="organisationname">IICT-BAS</param>
+					</concept>
+					<concept id="egi::country::ch" label="Switzerland" claim="true">
+						<param name="organisationname">SWiNG</param>
+						<param name="organisationname">CERN</param>
+					</concept>		
+					<concept id="egi::country::cy" label="Cyprus" claim="true">
+						<param name="organisationname">CyGrid</param>
+					</concept>
+					<concept id="egi::country::cz" label="Czech Republic" claim="true">
+						<param name="organisationname">CESNET</param>
+					</concept>
+					<concept id="egi::country::de" label="Germany" claim="true">
+						<param name="organisationname">Gauss-Allianz</param>
+						<param name="organisationname">EMBL</param>
+					</concept>
+					<concept id="egi::country::dk" label="Denmark" claim="true">
+						<param name="organisationname">DCSC</param>
+					</concept>
+					<concept id="egi::country::ee" label="Estonia" claim="true">
+						<param name="organisationname">EENet</param>
+					</concept>
+					<concept id="egi::country::es" label="Spain" claim="true">
+						<param name="organisationname">CSIC</param>
+					</concept>
+					<concept id="egi::country::fi" label="Finland" claim="true">
+						<param name="organisationname">CSC</param>
+					</concept>
+					<concept id="egi::country::fr" label="France" claim="true">
+						<param name="organisationname">CNRS</param>
+					</concept>
+					<concept id="egi::country::gr" label="Greece" claim="true">
+						<param name="organisationname">GRNET</param>
+					</concept>
+					<concept id="egi::country::hr" label="Croatia" claim="true">
+						<param name="organisationname">SRCE</param>
+					</concept>
+					<concept id="egi::country::hu" label="Hungary" claim="true">
+						<param name="organisationname">NIIF</param>
+					</concept>
+					<concept id="egi::country::ie" label="Ireland" claim="true">
+						<param name="organisationname">Grid-Ireland</param>
+					</concept>
+					<concept id="egi::country::il" label="Israel" claim="true">
+						<param name="organisationname">IUCC</param>
+					</concept>
+					<concept id="egi::country::it" label="Italy" claim="true">
+						<param name="organisationname">INFN</param>
+					</concept>
+					<concept id="egi::country::lt" label="Lithuania" claim="true">
+						<param name="organisationname">VU</param>
+					</concept>
+					<concept id="egi::country::lu" label="Luxembourg" claim="true">
+						<param name="organisationname">RESTENA</param>
+					</concept>
+					<concept id="egi::country::lv" label="Latvia" claim="true">
+						<param name="organisationname">LUMII</param>
+					</concept>
+					<concept id="egi::country::me" label="Montenegro" claim="true">
+						<param name="organisationname">UoM</param>
+					</concept>
+					<concept id="egi::country::mk" label="Macedonia" claim="true">
+						<param name="organisationname">MARGI</param>
+					</concept>
+					<concept id="egi::country::nl" label="the Netherlands" claim="true">
+						<param name="organisationname">NCF</param>
+					</concept>
+					<concept id="egi::country::nr" label="Norway" claim="true">
+						<param name="organisationname">UNINETT Sigma AS</param>
+					</concept>
+					<concept id="egi::country::pl" label="Poland" claim="true">
+						<param name="organisationname">CYFRONET AGH</param>
+					</concept>
+					<concept id="egi::country::pt" label="Portugal" claim="true">
+						<param name="organisationname">UMIC</param>
+					</concept>
+					<concept id="egi::country::ro" label="Romania" claim="true">
+						<param name="organisationname">ICI</param>
+					</concept>
+					<concept id="egi::country::rs" label="Serbia" claim="true">
+						<param name="organisationname">IPB</param>
+					</concept>
+					<concept id="egi::country::si" label="Slovenia" claim="true">
+						<param name="organisationname">ARNES</param>
+					</concept>
+					<concept id="egi::country::sk" label="Slovakia" claim="true">
+						<param name="organisationname">SlovakGrid</param>
+					</concept>
+					<concept id="egi::country::se" label="Sweden" claim="true">
+						<param name="organisationname">SNIC</param>
+					</concept>
+					<concept id="egi::country::tr" label="Turkey" claim="true">
+						<param name="organisationname">ULAKBIM</param>
+					</concept>
+					<concept id="egi::country::uk" label="United Kingdom" claim="true">
+						<param name="organisationname">JISC</param>
+					</concept>
+					<concept id="egi::country::am" label="ARmenia" claim="true">
+						<param name="organisationname">IIAP NAS RA</param>
+					</concept>
+					<concept id="egi::country::md" label="Moldova" claim="true">
+						<param name="organisationname">RENAM</param>
+					</concept>
+					<concept id="egi::country::ru" label="Russia" claim="true">
+						<param name="organisationname">e-ARENA</param>
+					</concept>
+				</category>
+				<category id="egi::organisation" label="National EGI Organisations" claim="true">
+					<concept id="egi::organisation::etfbl" label="ETFBL" claim="true">
+						<param name="country">Bosnia and Herzegovina</param>
+					</concept>
+					<concept id="egi::organisation::belnet" label="BELNET" claim="true">
+						<param name="country">Belgium</param>
+					</concept>
+					<concept id="egi::organisation::iictbas" label="IICT-BAS" claim="true">
+						<param name="country">Bulgaria</param>
+					</concept>
+					<concept id="egi::organisation::swing" label="SWiNG" claim="true">
+						<param name="country">Switzerland</param>
+					</concept>
+					<concept id="egi::organisation::cygrid" label="CyGrid" claim="true">
+						<param name="country">Cyprus</param>
+					</concept>
+					<concept id="egi::organisation::cesnet" label="CESNET" claim="true">
+						<param name="country">Czech Republic</param>
+					</concept>
+					<concept id="egi::organisation::gaussallianz" label="Gauss-Allianz" claim="true">
+						<param name="country">Germany</param>
+					</concept>
+					<concept id="egi::organisation::dcsc" label="DCSC" claim="true">
+						<param name="country">Denmark</param>
+					</concept>
+					<concept id="egi::organisation::eenet" label="EENet" claim="true">
+						<param name="country">Estonia</param>
+					</concept>
+					<concept id="egi::organisation::csic" label="CSIC" claim="true">
+						<param name="country">Spain</param>
+					</concept>
+					<concept id="egi::organisation::csc" label="CSC" claim="true">
+						<param name="country">Finland</param>
+					</concept>
+					<concept id="egi::organisation::cnrs" label="CNRS" claim="true">
+						<param name="country">France</param>
+					</concept>
+					<concept id="egi::organisation::grnet" label="GRNET" claim="true">
+						<param name="country">Greece</param>
+					</concept>
+					<concept id="egi::organisation::srce" label="SRCE" claim="true">
+						<param name="country">Croatia</param>
+					</concept>
+					<concept id="egi::organisation::niif" label="NIIF" claim="true">
+						<param name="country">Hungary</param>
+					</concept>
+					<concept id="egi::organisation::gridireland" label="Grid-Ireland" claim="true">
+						<param name="country">Ireland</param>
+					</concept>
+					<concept id="egi::organisation::iucc" label="IUCC" claim="true">
+						<param name="country">Israel</param>
+					</concept>
+					<concept id="egi::organisation::infn" label="INFN" claim="true">
+						<param name="country">Italy</param>
+					</concept>
+					<concept id="egi::organisation::vu" label="VU" claim="true">
+						<param name="country">Lithuania</param>
+					</concept>
+					<concept id="egi::organisation::restena" label="RESTENA" claim="true">
+						<param name="country">Luxembourg</param>
+					</concept>
+					<concept id="egi::organisation::lumii" label="LUMII" claim="true">
+						<param name="country">Latvia</param>
+					</concept>
+					<concept id="egi::organisation::uom" label="UoM" claim="true">
+						<param name="country">Montenegro</param>
+					</concept>
+					<concept id="egi::organisation::margi" label="MARGI" claim="true">
+						<param name="country">Macedonia</param>
+					</concept>
+					<concept id="egi::organisation::ncf" label="NCF" claim="true">
+						<param name="country">the Netherlands</param>
+					</concept>
+					<concept id="egi::organisation::uninett" label="UNINETT Sigma AS" claim="true">
+						<param name="country">Norway</param>
+					</concept>
+					<concept id="egi::organisation::cyfronet" label="CYFRONET AGH" claim="true">
+						<param name="country">Poland</param>
+					</concept>
+					<concept id="egi::organisation::umic" label="umic" claim="true">
+						<param name="country">Portugal</param>
+					</concept>
+					<concept id="egi::organisation::ici" label="ICI" claim="true">
+						<param name="country">Romania</param>
+					</concept>
+					<concept id="egi::organisation::ipb" label="IPB" claim="true">
+						<param name="country">Serbia</param>
+					</concept>
+					<concept id="egi::organisation::arnes" label="ARNES" claim="true">
+						<param name="country">Slovenia</param>
+					</concept>
+					<concept id="egi::organisation::slovakgrid" label="SlovakGrid" claim="true">
+						<param name="country">Slovakia</param>
+					</concept>
+					<concept id="egi::organisation::snic" label="SNIC" claim="true">
+						<param name="country">Sweden</param>
+					</concept>
+					<concept id="egi::organisation::ulakbim" label="ULAKBIM" claim="true">
+						<param name="country">Turkey</param>
+					</concept>
+					<concept id="egi::organisation::jisc" label="JISC" claim="true">
+						<param name="country">United Kingdom</param>
+					</concept>
+					<concept id="egi::organisation::iiapnas" label="IIAP NAS RA" claim="true">
+						<param name="country">Armenia</param>
+					</concept>
+					<concept id="egi::organisation::renam" label="RENAM" claim="true">
+						<param name="country">Moldova</param>
+					</concept>
+					<concept id="egi::organisation::earena" label="e-ARENA" claim="true">
+						<param name="country">Russia</param>
+					</concept>
+					<concept id="egi::organisation::embl" label="EMBL" claim="true">
+						<param name="country">Germany</param>
+					</concept>
+					<concept id="egi::organisation::cern" label="CERN" claim="true">
+						<param name="country">Switzerland</param>
+					</concept>
+				</category>	
+				<category id="egi::virtual" label="EGI virtual organizations" claim="true">
+					<concept id="egi::virtual::2352" label="vo.grand-est.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.grand-est.fr/</param>
+						<param name="homepageUrl">http://www.grand-est.fr</param>
+					</concept>
+					<concept id="egi::virtual::41" label="astron" claim="true">
+						<param name="enrollmentUrl">http://register.matrix.sara.nl/</param>
+						<param name="homepageUrl">http://www.astron.nl</param>
+					</concept>
+					<concept id="egi::virtual::26" label="theophys" claim="true">
+						<param name="enrollmentUrl"></param> 
+						<param name="homepageUrl"></param> 
+					</concept>
+					<concept id="egi::virtual::504" label="vo.londongrid.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/vo.londongrid.ac.uk/register/start.action</param>
+						<param name="homepageUrl">https://www.gridpp.ac.uk/wiki/Vo.londongrid.ac.uk</param>
+					</concept>
+					<concept id="egi::virtual::78" label="vo.grif.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.grif.fr/</param>
+						<param name="homepageUrl">http://www.grif.fr/</param>
+					</concept>
+					<concept id="egi::virtual::1670" label="eo-grid.ikd.kiev.ua" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.ikd.kiev.ua:8443/voms/eo-grid.ikd.kiev.ua</param>
+						<param name="homepageUrl">http://inform.ikd.kiev.ua/eo-grid/</param>
+					</concept>
+					<concept id="egi::virtual::2332" label="ops.ndgf.org" claim="true">
+						<param name="enrollmentUrl">https://voms.ndgf.org:8443/voms/ops.ndgf.org</param>
+						<param name="homepageUrl">http://www.ndgf.org/</param>
+					</concept>
+					<concept id="egi::virtual::1430" label="vo.msfg.fr" claim="true">
+						<param name="enrollmentUrl">http://www.lupm.univ-montp2.fr/article.php3?id_article=79</param>
+						<param name="homepageUrl">http://www.lupm.univ-montp2.fr/article.php3?id_article=79</param>
+					</concept>
+					<concept id="egi::virtual::40" label="ilc" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/ilc/</param>
+						<param name="homepageUrl">http://www-flc.desy.de/flc/</param>
+					</concept>
+					<concept id="egi::virtual::2592" label="gr-sim.grid.auth.gr" claim="true">
+						<param name="enrollmentUrl">https://voms.hellasgrid.gr:8443/voms/gr-sim/register/start.action</param>
+						<param name="homepageUrl">http://www.grid.auth.gr</param>
+					</concept>
+					<concept id="egi::virtual::2172" label="chem.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/chem.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::311" label="vo.sbg.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.sbg.in2p3.fr/</param>
+						<param name="homepageUrl">http://www.iphc.cnrs.fr</param>
+					</concept>
+					<concept id="egi::virtual::10273" label="comet.j-parc.jp" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/comet.j-parc.jp/register/start.action</param>
+						<param name="homepageUrl">http://comet.kek.jp</param>
+					</concept>
+					<concept id="egi::virtual::10258" label="vo.earthserver.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ct.infn.it:8443/voms/vo.earthserver.eu</param>
+						<param name="homepageUrl">http://earthserver-sg.consorzio-cometa.it/</param>
+					</concept>
+					<concept id="egi::virtual::10249" label="vo.sn2ns.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.sn2ns.in2p3.fr/register/start.action</param>
+						<param name="homepageUrl">http://irfu.cea.fr/Projets/SN2NS</param>
+					</concept>
+					<concept id="egi::virtual::96" label="trgridd" claim="true">
+						<param name="enrollmentUrl">https://voms.ulakbim.gov.tr:8443/voms/trgridd/</param>
+						<param name="homepageUrl">https://voms.ulakbim.gov.tr:8443/voms/trgridd/</param>
+					</concept>
+					<concept id="egi::virtual::710" label="vo.pic.es" claim="true">
+						<param name="enrollmentUrl">https://voms.pic.es:8443/voms/vo.pic.es</param>
+						<param name="homepageUrl">http://www.pic.es</param>
+					</concept>
+					<concept id="egi::virtual::13" label="zeus" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/zeus</param>
+						<param name="homepageUrl">http://www-zeus.desy.de/</param>
+					</concept>
+					<concept id="egi::virtual::106" label="supernemo.vo.eu-egee.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/supernemo.vo.eu-egee.org/register/start.action</param>
+						<param name="homepageUrl">http://nemo.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::6" label="biomed" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/biomed</param>
+						<param name="homepageUrl">http://lsgc.org/en/Biomed:home</param>
+						<param name="suggestedAcknowledgment"> "Results obtained in this paper were computed on the biomed virtual organization of the European Grid Infrastructure (http://www.egi.eu). We thank the European Grid Infrastructure and its supporting National Grid Initiatives for providing the technical support, computing and storage facilities." (list of publications not up-to-date: http://lsgc.org/en/Biomed:publications) </param>
+					</concept>
+					<concept id="egi::virtual::890" label="prod.vo.eu-eela.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.unam.mx:8443/voms/prod.vo.eu-eela.eu</param>
+						<param name="homepageUrl">http://www.e-science.unam.mx/</param>
+					</concept>
+					<concept id="egi::virtual::1030" label="vo.ops.csic.es" claim="true">
+						<param name="enrollmentUrl">https://voms.ific.uv.es:8443/voms/vo.ops.csic.es/</param>
+						<param name="homepageUrl">http://www.grid.csic.es/</param>
+					</concept>
+					<concept id="egi::virtual::250" label="euindia" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/euindia/</param>
+						<param name="homepageUrl">http://www.euindiagrid.eu/</param>
+					</concept>
+					<concept id="egi::virtual::476" label="vo.northgrid.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/vo.northgrid.ac.uk</param>
+						<param name="homepageUrl">https://voms.gridpp.ac.uk:8443/voms/vo.northgrid.ac.uk</param>
+					</concept>
+					<concept id="egi::virtual::10283" label="drihm.eu" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/drihm.eu/</param>
+						<param name="homepageUrl">http://www.drihm.eu/</param>
+					</concept>
+					<concept id="egi::virtual::2153" label="ict.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/ict.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::10284" label="hyperk.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/hyperk.org/register/start.action</param>
+						<param name="homepageUrl">http://www.hyperk.org</param>
+					</concept>
+					<concept id="egi::virtual::2312" label="vo.eu-decide.eu" claim="true">
+						<param name="enrollmentUrl">http://applications.eu-decide.eu</param>
+						<param name="homepageUrl">https://voms.ct.infn.it:8443/voms/vo.eu-decide.eu</param>
+					</concept>
+					<concept id="egi::virtual::1250" label="superbvo.org" claim="true">
+						<param name="enrollmentUrl">http://superb.infn.it/how-to-join-us</param>
+						<param name="homepageUrl">http://superb.infn.it/home</param>
+					</concept>
+					<concept id="egi::virtual::494" label="gilda" claim="true">
+						<param name="enrollmentUrl">https://voms.ct.infn.it:8443/voms/gilda</param>
+						<param name="homepageUrl">https://gilda.ct.infn.it</param>
+					</concept>
+					<concept id="egi::virtual::10252" label="xenon.biggrid.nl" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/xenon.biggrid.nl</param>
+						<param name="homepageUrl">https://wiki.biggrid.nl/wiki/index.php/Xenon</param>
+					</concept>
+					<concept id="egi::virtual::130" label="balticgrid" claim="true">
+						<param name="enrollmentUrl">https://voms.balticgrid.org:8443/voms/balticgrid/</param>
+						<param name="homepageUrl">http://www.balticgrid.org</param>
+					</concept>
+					<concept id="egi::virtual::10265" label="gerda.mpg.de" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/gerda.mpg.de/</param>
+						<param name="homepageUrl">http://www.mpi-hd.mpg.de/gerda</param>
+					</concept>
+					<concept id="egi::virtual::67" label="belle" claim="true">
+						<param name="enrollmentUrl">https://voms.cc.kek.jp:8443/voms/belle</param>
+						<param name="homepageUrl">http://belle2.kek.jp/</param>
+					</concept>
+					<concept id="egi::virtual::2252" label="vo.stratuslab.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/vo.stratuslab.eu/register/start.action</param>
+						<param name="homepageUrl">http://www.stratuslab.eu</param>
+					</concept>
+					<concept id="egi::virtual::10026" label="camont" claim="true">
+						<param name="enrollmentUrl">http://www.hep.phy.cam.ac.uk/~parker/camtology/camont.html</param>
+						<param name="homepageUrl">http://www.hep.phy.cam.ac.uk/~parker/camtology/camont.html</param>
+					</concept>
+					<concept id="egi::virtual::10285" label="peachnote.com" claim="true">
+						<param name="enrollmentUrl"> https://perun.metacentrum.cz/perun-registrar-cert/?vo=peachnote.com</param>
+						<param name="homepageUrl">http://www.peachnote.com</param>
+					</concept>
+					<concept id="egi::virtual::98" label="ific" claim="true">
+						<param name="enrollmentUrl">https://swevo.ific.uv.es:8443/voms/ific</param>
+						<param name="homepageUrl">http://ific.uv.es</param>
+					</concept>
+					<concept id="egi::virtual::1190" label="pacs.infn.it" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::2192" label="oxgrid.ox.ac.uk" claim="true">
+						<param name="enrollmentUrl">http://oxgrid-vom.oerc.ox.ac.uk/cgi-bin/application.pl</param>
+						<param name="homepageUrl">http://www.oerc.ox.ac.uk/resources/oxgrid</param>
+					</concept>
+					<concept id="egi::virtual::810" label="glast.org" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/glast.org/</param>
+						<param name="homepageUrl">http://glast.gsfc.nasa.gov/</param>
+						<param name="suggestedAcknowledgment"> We would like to thank the INFN GRID Data Centers of ..., ..., ..., and ..., ... </param>
+					</concept>
+					<concept id="egi::virtual::2372" label="demo.vo.edges-grid.eu" claim="true">
+						<param name="enrollmentUrl">http://edgi-project.eu/</param>
+						<param name="homepageUrl">http://edgi-project.eu/</param>
+					</concept>
+					<concept id="egi::virtual::2052" label="vo.dorii.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/vo.dorii.eu/</param>
+						<param name="homepageUrl">http://www.dorii.eu/applications</param>
+					</concept>
+					<concept id="egi::virtual::1110" label="vo.u-psud.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.u-psud.fr/register/start.action</param>
+						<param name="homepageUrl">http://www.lri.fr/Demain/?cat=18</param>
+					</concept>
+					<concept id="egi::virtual::479" label="vo.cta.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.cta.in2p3.fr/register/start.action</param>
+						<param name="homepageUrl">http://www.mpi-hd.mpg.de/hfm/CTA/</param>
+					</concept>
+					<concept id="egi::virtual::1630" label="hgdemo" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/hgdemo</param>
+						<param name="homepageUrl">http://www.grid.auth.gr/en/services/</param>
+					</concept>
+					<concept id="egi::virtual::31" label="ngs.ac.uk" claim="true">
+						<param name="enrollmentUrl">http://www.ngs.ac.uk/ukca/apply</param>
+						<param name="homepageUrl">http://www.ngs.ac.uk</param>
+					</concept>
+					<concept id="egi::virtual::10260" label="mpi-kickstart.egi.eu" claim="true">
+						<param name="enrollmentUrl">https://egee.cesnet.cz/mpi/registration/prihlaska_priprav.php</param>
+						<param name="homepageUrl">https://www.metacentrum.cz/en/VO/MPI/index.html</param>
+					</concept>
+					<concept id="egi::virtual::1912" label="ops.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/ops.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::97" label="trgride" claim="true">
+						<param name="enrollmentUrl">https://voms.ulakbim.gov.tr:8443/voms/trgride/</param>
+						<param name="homepageUrl">https://voms.ulakbim.gov.tr:8443/voms/trgride/</param>
+					</concept>
+					<concept id="egi::virtual::2472" label="vo.indicate-project.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ct.infn.it:8443/voms/vo.indicate-project.eu</param>
+						<param name="homepageUrl">http://indicate-gw.consorzio-cometa.it/</param>
+					</concept>
+					<concept id="egi::virtual::411" label="vo.lpnhe.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.lpnhe.in2p3.fr</param>
+						<param name="homepageUrl">http://lpnhe.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::49" label="planck" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/planck/register/start.action</param>
+						<param name="homepageUrl">http://www.oats.inaf.it/it/tematiche-ricerca/macroarea-5/265-planck-lfi</param>
+					</concept>
+					<concept id="egi::virtual::7" label="egeode" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/egeode/</param>
+						<param name="homepageUrl">http://www.egeode.org</param>
+					</concept>
+					<concept id="egi::virtual::2492" label="vo.sim-e-child.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gnubila.fr:8443/voms/vo.sim-e-child.org</param>
+						<param name="homepageUrl">http://sec-portal.maatg.fr</param>
+					</concept>
+					<concept id="egi::virtual::2212" label="uniandes.edu.co" claim="true">
+						<param name="enrollmentUrl">https://caribe.uniandes.edu.co:8443/voms/uniandes.edu.co/register/start.action</param>
+						<param name="homepageUrl">https://caribe.uniandes.edu.co:8443/voms/uniandes.edu.co/user/home.action</param>
+					</concept>
+					<concept id="egi::virtual::910" label="oper.vo.eu-eela.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.eela.ufrj.br:8443/voms/oper.vo.eu-eela.eu</param>
+						<param name="homepageUrl">http://www.eu-eela.eu</param>
+					</concept>
+					<concept id="egi::virtual::10251" label="vo.france-grilles.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.france-grilles.fr</param>
+						<param name="homepageUrl">http://www.france-grilles.fr/</param>
+					</concept>
+					<concept id="egi::virtual::20" label="ncf" claim="true">
+						<param name="enrollmentUrl"> https://voms.grid.sara.nl:8443/voms/ncf/admin/home.action</param>
+						<param name="homepageUrl">https://www.surfsara.nl/systems/grid/new-users</param>
+					</concept>
+					<concept id="egi::virtual::10268" label="vo.astro.pic.es" claim="true">
+						<param name="enrollmentUrl">https://voms01.pic.es:8443/voms/vo.astro.pic.es</param>
+						<param name="homepageUrl">http://www.cosmo.pic.es</param>
+					</concept>
+					<concept id="egi::virtual::570" label="vo.hess-experiment.eu" claim="true">
+						<param name="enrollmentUrl">https://cagraidsvr10.cs.tcd.ie:8443/voms/vo.hess-experiment.eu/webui/request/user/create</param>
+						<param name="homepageUrl">http://www.mpi-hd.mpg.de/hfm/HESS/</param>
+					</concept>
+					<concept id="egi::virtual::1650" label="sgdemo" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/sgdemo</param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::2152" label="phys.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/phys.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::22" label="infngrid" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/infngrid/</param>
+						<param name="homepageUrl">http://grid.infn.it</param>
+					</concept>
+					<concept id="egi::virtual::69" label="embrace" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/embrace/register/start.action</param>
+						<param name="homepageUrl"> http://www.embracegrid.info/</param>
+					</concept>
+					<concept id="egi::virtual::10250" label="bbmri.nl" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/bbmri.nl</param>
+						<param name="homepageUrl">http://www.bbmri.nl</param>
+					</concept>
+					<concept id="egi::virtual::10083" label="gridit" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/gridit/</param>
+						<param name="homepageUrl">http://www.italiangrid.org/</param>
+					</concept>
+					<concept id="egi::virtual::10257" label="vo.aginfra.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ipb.ac.rs:8443/voms/vo.aginfra.eu/</param>
+						<param name="homepageUrl">http://www.aginfra.eu/</param>
+					</concept>
+					<concept id="egi::virtual::2432" label="shiwa-workflow.eu" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/shiwa-workflow.eu/</param>
+						<param name="homepageUrl">http://www.shiwa-workflow.eu</param>
+					</concept>
+					<concept id="egi::virtual::10267" label="igi.italiangrid.it" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/igi.italiangrid.it/</param>
+						<param name="homepageUrl">http://www.italiangrid.it/</param>
+					</concept>
+					<concept id="egi::virtual::1450" label="armgrid.grid.am" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.am:8443/voms/armgrid.grid.am/</param>
+						<param name="homepageUrl">http://www.grid.am</param>
+					</concept>
+					<concept id="egi::virtual::104" label="gridcc" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/gridcc</param>
+						<param name="homepageUrl">http://www.gridcc.org/</param>
+					</concept>
+					<concept id="egi::virtual::1510" label="vo.turbo.pic.es" claim="true">
+						<param name="enrollmentUrl">https://voms01.pic.es:8443/voms/vo.turbo.pic.es/register/start.action</param>
+						<param name="homepageUrl">http://www.pic.es</param>
+					</concept>
+					<concept id="egi::virtual::37" label="hone" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/hone/</param>
+						<param name="homepageUrl">http://www-h1.desy.de/</param>
+						<param name="suggestedAcknowledgment"> We thank to all partners contributing to the WLCG computing infrastructure for their support for the H1 Collaboration (list of publications: http://www-h1.desy.de/h1/www/publications/H1publication.short_list.html#YEAR2013) </param>
+					</concept>
+					<concept id="egi::virtual::2176" label="eng.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/eng.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::2174" label="earth.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/earth.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::10287" label="projects.nl" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/projects.nl</param>
+						<param name="homepageUrl">https://e-infra.surfsara.nl/</param>
+					</concept>
+					<concept id="egi::virtual::107" label="auger" claim="true">
+						<param name="enrollmentUrl">https://egee.cesnet.cz/auger/registration/</param>
+						<param name="homepageUrl">http://www.auger.org</param>
+						<param name="suggestedAcknowledgment"> no statement defined </param>
+					</concept>
+					<concept id="egi::virtual::670" label="vo.lpsc.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.mure.in2p3.fr/admin/home.action</param>
+						<param name="homepageUrl">http://lpsc.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::90" label="eela" claim="true">
+						<param name="enrollmentUrl">https://voms.lip.pt:8443/voms/eela/webui/request/user/create</param>
+						<param name="homepageUrl">http://www.eu-eela.org/</param>
+					</concept>
+					<concept id="egi::virtual::94" label="trgridb" claim="true">
+						<param name="enrollmentUrl">https://voms.ulakbim.gov.tr:8443/voms/trgridb/</param>
+						<param name="homepageUrl">https://voms.ulakbim.gov.tr:8443/voms/trgridb/</param>
+					</concept>
+					<concept id="egi::virtual::81" label="proactive" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/proactive/register/start.action</param>
+						<param name="homepageUrl">http://www-sop.inria.fr/oasis/ProActive/</param>
+					</concept>
+					<concept id="egi::virtual::990" label="desktopgrid.vo.edges-grid.eu" claim="true">
+						<param name="enrollmentUrl">http://idgf-sp.eu/</param>
+						<param name="homepageUrl">http://idgf-sp.eu/</param>
+					</concept>
+					<concept id="egi::virtual::1610" label="vo.delphi.cern.ch" claim="true">
+						<param name="enrollmentUrl">https://voms.cern.ch:8443/voms/vo.delphi.cern.ch/register/start.action</param>
+						<param name="homepageUrl">http://delphiwww.cern.ch/</param>
+					</concept>
+					<concept id="egi::virtual::10262" label="vo.gridcl.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.gridcl.fr/</param>
+						<param name="homepageUrl">http://www.labex-p2io.fr</param>
+					</concept>
+					<concept id="egi::virtual::44" label="ildg" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/ildg</param>
+						<param name="homepageUrl">http://plone.jldg.org/</param>
+					</concept>
+					<concept id="egi::virtual::1710" label="bg-edu.grid.acad.bg" claim="true">
+						<param name="enrollmentUrl">https://voms.ipp.acad.bg:8443/voms/bg-edu.grid.acad.bg/register/start.action</param>
+						<param name="homepageUrl">http://www.grid.bas.bg</param>
+					</concept>
+					<concept id="egi::virtual::36" label="desy" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/desy</param>
+						<param name="homepageUrl">http://grid.desy.de</param>
+					</concept>
+					<concept id="egi::virtual::3" label="lhcb" claim="true">
+						<param name="enrollmentUrl">https://lcg-voms.cern.ch:8443/vo/lhcb/vomrs</param>
+						<param name="homepageUrl">http://lhcb.web.cern.ch/lhcb/</param>
+						<param name="suggestedAcknowledgment"> The Tier1 computing centres are supported by IN2P3 (France), KIT and BMBF (Germany), INFN (Italy), NWO and SURF (The Netherlands), PIC (Spain), GridPP (United Kingdom). We are thankful for the computing resources put at our disposal by Yandex LLC (Russia), as well as to the communities behind the multiple open source software packages that we depend on. </param>	
+					</concept>
+					<concept id="egi::virtual::5" label="esr" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/esr</param>
+						<param name="homepageUrl">http://www.euearthsciencegrid.org/content/esr-vo-introduction</param>
+						<param name="suggestedAcknowledgment"> n/a (List of publications http://www.euearthsciencegrid.org/publications) </param>
+					</concept>
+					<concept id="egi::virtual::25" label="inaf" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/inaf</param>
+						<param name="homepageUrl"> http://www.inaf.it</param>
+					</concept>
+					<concept id="egi::virtual::970" label="vo.grid.auth.gr" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/vo.grid.auth.gr</param>
+						<param name="homepageUrl">http://www.grid.auth.gr/en/</param>
+					</concept>
+					<concept id="egi::virtual::89" label="argo" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/argo</param>
+						<param name="homepageUrl">http://argo.na.infn.it/</param>
+					</concept>
+					<concept id="egi::virtual::58" label="see" claim="true">
+						<param name="enrollmentUrl">https://www.grid.auth.gr/services/voms/SEE/request.php</param>
+						<param name="homepageUrl">http://www.hellasgrid.gr/about/see-vo/</param>
+					</concept>
+					<concept id="egi::virtual::10282" label="kzvo.isragrid.org.il" claim="true">
+						<param name="enrollmentUrl">https://ngi-il-voms3.isragrid.org.il:8443/voms/isravo.isragrid.org.il/</param>
+						<param name="homepageUrl">https://www.isragrid.org.il/</param>
+					</concept>
+					<concept id="egi::virtual::10271" label="neurogrid.incf.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/neurogrid.incf.org/</param>
+						<param name="homepageUrl">http://www.incf.org</param>
+					</concept>
+					<concept id="egi::virtual::150" label="gaussian" claim="true">
+						<param name="enrollmentUrl">https://voms.cyf-kr.edu.pl:8443/voms/gaussian</param>
+						<param name="homepageUrl">http://egee.grid.cyfronet.pl/gaussian</param>
+					</concept>
+					<concept id="egi::virtual::62" label="pheno" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/pheno/user/create!input.action</param>
+						<param name="homepageUrl">http://www.phenogrid.dur.ac.uk/</param>
+					</concept>
+					<concept id="egi::virtual::39" label="hermes" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/hermes</param>
+						<param name="homepageUrl">http://www-hermes.desy.de</param>
+					</concept>
+					<concept id="egi::virtual::10256" label="mice" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/mice/register/start.action</param>
+						<param name="homepageUrl">http://www.mice.iit.edu/</param>
+					</concept>
+					<concept id="egi::virtual::77" label="vo.lal.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.lal.in2p3.fr/</param>
+						<param name="homepageUrl">http://www.lal.in2p3.fr/</param>
+					</concept>
+					<concept id="egi::virtual::15" label="magic" claim="true">
+						<param name="enrollmentUrl">https://voms01.pic.es:8443/voms/magic/register/start.action</param>
+						<param name="homepageUrl">http://magic.mppmu.mpg.de</param>
+						<param name="suggestedAcknowledgment"> n/a (List of publications http://magic.mppmu.mpg.de/publications/articles/index.html) </param>
+					</concept>
+					<concept id="egi::virtual::1952" label="vo.neugrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.gnubila.fr:8443/voms/vo.neugrid.eu</param>
+						<param name="homepageUrl">http://neugrid.eu</param>
+					</concept>
+					<concept id="egi::virtual::1933" label="iber.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/iber.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::473" label="vo.scotgrid.ac.uk" claim="true">
+						<param name="enrollmentUrl">http://www.scotgrid.ac.uk/</param>
+						<param name="homepageUrl">http://www.scotgrid.ac.uk/</param>
+					</concept>
+					<concept id="egi::virtual::60" label="geant4" claim="true">
+						<param name="enrollmentUrl">https://lcg-voms.cern.ch:8443/vo/geant4/vomrs</param>
+						<param name="homepageUrl">http://geant4.web.cern.ch/geant4/</param>
+					</concept>
+					<concept id="egi::virtual::79" label="vo.ipno.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.ipno.in2p3.fr</param>
+						<param name="homepageUrl">http://ipnweb.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::76" label="apesci" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sinica.edu.tw:8443/voms/apesci/register/start.action</param>
+						<param name="homepageUrl">http://www.twgrid.org/aproc/services/vom/</param>
+					</concept>
+					<concept id="egi::virtual::14" label="compchem" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/compchem/</param>
+						<param name="homepageUrl">https://www3.compchem.unipg.it</param>
+					</concept>
+					<concept id="egi::virtual::68" label="ops" claim="true">
+						<param name="enrollmentUrl"> https://lcg-voms.cern.ch:8443/vo/ops/vomrs</param>
+						<param name="homepageUrl">https://wiki.egi.eu/wiki/OPS_vo</param>
+					</concept>
+					<concept id="egi::virtual::461" label="vo.agata.org" claim="true">
+						<param name="enrollmentUrl">https://www.agata.org/grid/avo</param>
+						<param name="homepageUrl">http://www.agata.org/grid/</param>
+					</concept>
+					<concept id="egi::virtual::10270" label="na62.vo.gridpp.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/na62.vo.gridpp.ac.uk/</param>
+						<param name="homepageUrl">http://na62.web.cern.ch/na62/</param>
+						<param name="suggestedAcknowledgment"> We acknowledge the use of Grid computing resources deployed and operated by (GridPP in the UK) or (the worldwide LHC computing Grid). </param>
+					</concept>
+					<concept id="egi::virtual::452" label="seegrid" claim="true">
+						<param name="enrollmentUrl">https://voms.irb.hr:8443/voms/seegrid/webui/request/user/create</param>
+						<param name="homepageUrl">http://www.see-grid.eu/</param>
+					</concept>
+					<concept id="egi::virtual::2552" label="snoplus.snolab.ca" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/snoplus.snolab.ca</param>
+						<param name="homepageUrl">http://snoplus.phy.queensu.ca/Home.html</param>
+					</concept>
+					<concept id="egi::virtual::497" label="vo.irfu.cea.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.irfu.cea.fr</param>
+						<param name="homepageUrl">http://irfu.cea.fr/</param>
+					</concept>
+					<concept id="egi::virtual::110" label="gridpp" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/gridpp</param>
+						<param name="homepageUrl">http://www.gridpp.ac.uk</param>
+					</concept>
+					<concept id="egi::virtual::10254" label="ukmhd.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/ukmhd.ac.uk/register/start.action</param>
+						<param name="homepageUrl">http://www.uksolphys.org/information/computing-resources/</param>
+					</concept>
+					<concept id="egi::virtual::830" label="euasia.euasiagrid.org" claim="true">
+						<param name="enrollmentUrl">http://aproc.twgrid.org/index.php?option=com_content&amp;task=view&amp;id=22&amp;Itemid=31</param>
+						<param name="homepageUrl">http://www.euasiagrid.org/</param>
+					</concept>
+					<concept id="egi::virtual::2392" label="vo.mure.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.mure.in2p3.fr</param> 
+						<param name="homepageUrl">http://lpsc.in2p3.fr/gpr/MURE/html/MURE/MURE.html</param>
+					</concept>
+					<concept id="egi::virtual::46" label="icecube" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/icecube/</param>
+						<param name="homepageUrl">http://www.icecube.wisc.edu/</param>
+						<param name="suggestedAcknowledgment"> They suggest to name in addtion to DFG (Deutsche Forschungsgemeinschaft) or NSF (National Science Foundation) also EGI resouces/help. </param>
+					</concept>
+					<concept id="egi::virtual::85" label="ghep" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/ghep/register/start.action</param>
+						<param name="homepageUrl">http://grid.desy.de/</param>
+					</concept>
+					<concept id="egi::virtual::19" label="pvier" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/pvier</param>
+						<param name="homepageUrl">http://poc.vl-e.nl/</param>
+					</concept>
+					<concept id="egi::virtual::10275" label="neiss.org.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/neiss.org.uk/admin/home.action</param>
+						<param name="homepageUrl">http://drupals.humanities.manchester.ac.uk/neiss3/</param>
+					</concept>
+					<concept id="egi::virtual::271" label="eumed" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/eumed</param>
+						<param name="homepageUrl">http://www.eumedgrid.eu</param>
+					</concept>
+					<concept id="egi::virtual::1730" label="moldyngrid" claim="true">
+						<param name="enrollmentUrl">http://moldyngrid.org</param>
+						<param name="homepageUrl">http://moldyngrid.org</param>
+					</concept>
+					<concept id="egi::virtual::10259" label="israelvo.isragrid.org.il" claim="true">
+						<param name="enrollmentUrl">https://ngi-il-voms1.isragrid.org.il:8443/voms/israel</param>
+						<param name="homepageUrl">http://www.isragrid.org.il</param>
+					</concept>
+					<concept id="egi::virtual::75" label="twgrid" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sinica.edu.tw:8443/voms/twgrid/register/start.action</param>
+						<param name="homepageUrl">http://www.twgrid.org/aproc/services/vom/</param>
+					</concept>
+					<concept id="egi::virtual::467" label="enmr.eu" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/enmr.eu/</param>
+						<param name="homepageUrl">http://www.wenmr.eu</param>
+						<param name="suggestedAcknowledgment">"The WeNMR project (European FP7 e-Infrastructure grant, contract no. 261572, www.wenmr.eu), supported by the European Grid Initiative (EGI) through the national GRID Initiatives of Belgium, France, Italy, Germany, the Netherlands (via the Dutch BiG Grid project), Portugal, Spain, UK, South Africa, Taiwan and the Latin America GRID infrastructure via the Gisela project is acknowledged for the use of web portals, computing and storage facilities." and the following article describing the WeNMR portals should be cited: Wassenaar et al. (2012). WeNMR: Structural Biology on the Grid.J. Grid. Comp., 10:743-767. (List of publications http://www.wenmr.eu/wenmr/publications-acknowledging-wenmr)</param>
+					</concept>
+					<concept id="egi::virtual::950" label="xfel.eu" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/xfel.eu</param>
+						<param name="homepageUrl">http://www.xfel.eu</param>
+					</concept>
+					<concept id="egi::virtual::2" label="alice" claim="true">
+						<param name="enrollmentUrl">http://alien2.cern.ch/index.php?option=com_content&amp;view=article&amp;id=17&amp;Itemid=90</param>
+						<param name="homepageUrl">http://aliceinfo.cern.ch</param>
+						<param name="suggestedAcknowledgment"> The ALICE collaboration gratefully acknowledges the resources and support provided by all Grid centres and the Worldwide LHC Computing Grid (WLCG) collaboration. </param>
+					</concept>
+					<concept id="egi::virtual::64" label="hungrid" claim="true">
+						<param name="enrollmentUrl">https://grid11.kfki.hu:8443/voms/hungrid</param>
+						<param name="homepageUrl">http://grid.kfki.hu/hungrid</param>
+					</concept>
+					<concept id="egi::virtual::105" label="euchina" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/euchina</param>
+						<param name="homepageUrl">http://www.euchinagrid.org/euchina_vo.html</param>
+					</concept>
+					<concept id="egi::virtual::1330" label="meteo.see-grid-sci.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/meteo.see-grid-sci.eu/register/start.action</param>
+						<param name="homepageUrl">http://wiki.egee-see.org/index.php/SG_Meteo_VO</param>
+					</concept>
+					<concept id="egi::virtual::1270" label="vlemed" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/vlemed</param>
+						<param name="homepageUrl">http://www.ebioscience.amc.nl/</param>
+					</concept>
+					<concept id="egi::virtual::482" label="vo.gear.cern.ch" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::2512" label="vo.aleph.cern.ch" claim="true">
+						<param name="enrollmentUrl">https://voms-admin.cern.ch:8443/voms/vo.aleph.cern.ch/</param>
+						<param name="homepageUrl">http://cern.ch/voaleph</param>
+					</concept>
+					<concept id="egi::virtual::1570" label="vo.complex-systems.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/vo.complex-systems.eu/register/start.action</param>
+						<param name="homepageUrl">http://wiki.grid.auth.gr/wiki/bin/view/ComplexityScienceSSC/VO</param>
+					</concept>
+					<concept id="egi::virtual::1" label="atlas" claim="true">
+						<param name="enrollmentUrl">https://lcg-voms.cern.ch:8443/vo/atlas/vomrs</param>
+						<param name="homepageUrl">https://www.racf.bnl.gov/docs/howto/grid/joinvo</param>
+						<param name="suggestedAcknowledgment">The crucial computing support from all WLCG partners is acknowledged gratefully, in particular from CERN and the ATLAS Tier-1 facilities at TRIUMF (Canada), NDGF (Denmark, Norway, Sweden), CCIN2P3 (France), KIT/GridKA (Germany), INFN-CNAF (Italy), NL-T1 (Netherlands), PIC (Spain), ASGC (Taiwan), RAL (UK) and BNL (USA) and in the Tier-2 facilities worldwide. </param>
+					</concept>
+					<concept id="egi::virtual::11" label="virgo" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/virgo</param>
+						<param name="homepageUrl">http://wwwcascina.virgo.infn.it/</param>
+					</concept>
+					<concept id="egi::virtual::47" label="enea" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/enea/</param>
+						<param name="homepageUrl">http://www.afs.enea.it/project/eneaegee/VOenea/</param>
+					</concept>
+					<concept id="egi::virtual::88" label="aegis" claim="true">
+						<param name="enrollmentUrl">https://voms.ipb.ac.rs:8443/voms/aegis/</param>
+						<param name="homepageUrl">http://www.aegis.rs/</param>
+					</concept>
+					<concept id="egi::virtual::8" label="cdf" claim="true">
+						<param name="enrollmentUrl">https://www.opensciencegrid.org/bin/view/VirtualOrganizations/VOInfo/FERMILAB</param>
+						<param name="homepageUrl">http://www-cdf.fnal.gov/</param>
+					</concept>
+					<concept id="egi::virtual::10276" label="epic.vo.gridpp.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/epic.vo.gridpp.ac.uk/admin/home.action</param>
+						<param name="homepageUrl">http://www.sruc.ac.uk/epic/</param>
+					</concept>
+					<concept id="egi::virtual::610" label="vo.southgrid.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/vo.southgrid.ac.uk/</param>
+						<param name="homepageUrl">http://www.southgrid.ac.uk/VO/</param>
+					</concept>
+					<concept id="egi::virtual::2173" label="life.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/life.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::1050" label="vo.general.csic.es" claim="true">
+						<param name="enrollmentUrl">https://voms.ific.uv.es:8443/voms/vo.general.csic.es</param>
+						<param name="homepageUrl">http://www.grid.csic.es/</param>
+					</concept>
+					<concept id="egi::virtual::1932" label="tut.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/tut.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::10255" label="vo.france-asia.org" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.france-asia.org/register/start.action</param>
+						<param name="homepageUrl">http://www.france-asia.org</param>
+					</concept>
+					<concept id="egi::virtual::1150" label="vo.up.pt" claim="true">
+						<param name="enrollmentUrl">https://voms.up.pt:8443/voms/vo.up.pt</param>
+						<param name="homepageUrl">http://voms.up.pt</param>
+					</concept>
+					<concept id="egi::virtual::1410" label="lattice.itep.ru" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl">http://www.lattice.itep.ru/</param>
+					</concept>
+					<concept id="egi::virtual::1891" label="belle2.org" claim="true">
+						<param name="enrollmentUrl">https://voms.cc.kek.jp:8443/voms/belle2.org</param>
+						<param name="homepageUrl">http://belle2.kek.jp/</param>
+					</concept>
+					<concept id="egi::virtual::61" label="auvergrid" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/auvergrid/register/start.action</param>
+						<param name="homepageUrl">http://www.auvergrid.fr/</param>
+					</concept>
+					<concept id="egi::virtual::71" label="fusion" claim="true">
+						<param name="enrollmentUrl">http://fusion.bifi.unizar.es/?page_id=122</param>
+						<param name="homepageUrl">http://fusion.bifi.unizar.es/</param>
+					</concept>
+					<concept id="egi::virtual::1810" label="vo.panda.gsi.de" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.panda.gsi.de</param>
+						<param name="homepageUrl">http://panda-wiki.gsi.de/cgi-bin/view/Computing/PandaGrid</param>
+					</concept>
+					<concept id="egi::virtual::2292" label="comput-er.it" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/comput-er.it/</param>
+						<param name="homepageUrl">http://www.comput-er.it/</param>
+					</concept>
+					<concept id="egi::virtual::503" label="nordugrid.org" claim="true">
+						<param name="enrollmentUrl">https://voms.ndgf.org:8443/voms/nordugrid.org</param>
+						<param name="homepageUrl">http://www.nordugrid.org/NorduGridVO</param>
+					</concept>
+					<concept id="egi::virtual::443" label="gridmosi.ici.ro" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.ici.ro:8443/voms/gridmosi.ici.ro/</param>
+						<param name="homepageUrl">http://www.gridmosi.ro</param>
+					</concept>
+					<concept id="egi::virtual::4" label="cms" claim="true">
+						<param name="enrollmentUrl">https://lcg-voms.cern.ch:8443/vo/cms/vomrs</param>
+						<param name="homepageUrl">http://cms.cern.ch/iCMS/</param>
+						<param name="suggestedAcknowledgment"> We thank the computing centres in the Worldwide LHC computing Grid for the provisioning and excellent performance of computing infrastructure essential to our analyses. </param>
+					</concept>
+					<concept id="egi::virtual::10263" label="icarus-exp.org" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/icarus-exp.org</param>
+						<param name="homepageUrl">http://icarus.lngs.infn.it</param>
+					</concept>
+					<concept id="egi::virtual::630" label="vo.renabi.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.renabi.fr</param>
+						<param name="homepageUrl">http://www.renabi.fr</param>
+					</concept>
+					<concept id="egi::virtual::1770" label="env.see-grid-sci.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ipp.acad.bg:8443/voms/env.see-grid-sci.eu/</param>
+						<param name="homepageUrl">http://wiki.egee-see.org/index.php/SG_Environmental_VO</param>
+					</concept>
+					<concept id="egi::virtual::437" label="vo.apc.univ-paris7.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.apc.univ-paris7.fr/register/start.action</param>
+						<param name="homepageUrl">http://www.apc.univ-paris7.fr/</param>
+					</concept>
+					<concept id="egi::virtual::82" label="calice" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/calice/register/start.action</param>
+						<param name="homepageUrl">https://twiki.cern.ch/twiki/bin/view/CALICE/</param>
+						<param name="suggestedAcknowledgment">The support on the computing elements (CE) from all the worldwide GRID, and the support on the storage elements (SE), in particular Germany DESY GRID SE and France Lyon SE, are acknowledged gratefully. (List of publications https://twiki.cern.ch/twiki/bin/view/CALICE/CalicePapers)</param>
+					</concept>
+					<concept id="egi::virtual::2072" label="vo.metacentrum.cz" claim="true">
+						<param name="enrollmentUrl">http://metavo.metacentrum.cz/en/application/index.html</param>
+						<param name="homepageUrl">http://vo.metacentrum.cz/</param>
+						<param name="suggestedAcknowledgment">The access to computing and storage facilities owned by parties and projects contributing to the National Grid Infrastructure MetaCentrum, provided under the programme "Projects of Large Infrastructure for Research, Development, and Innovations" (LM2010005) is highly appreciated/acknowledged.</param>
+					</concept>
+					<concept id="egi::virtual::391" label="vo.llr.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.llr.in2p3.fr</param>
+						<param name="homepageUrl">http://polywww.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::10269" label="vo.ingv.it" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/vo.ingv.it/</param>
+						<param name="homepageUrl">http://vo.ingv.it</param>
+					</concept>
+					<concept id="egi::virtual::1790" label="ams02.cern.ch" claim="true">
+						<param name="enrollmentUrl">http://ams.cern.ch</param>
+						<param name="homepageUrl">http://ams.cern.ch</param>
+					</concept>
+					<concept id="egi::virtual::84" label="dech" claim="true">
+						<param name="enrollmentUrl">https://glite-io.scai.fraunhofer.de:8443/voms/dech/</param>
+						<param name="homepageUrl">https://twiki.cern.ch/twiki/bin/view/EGEE/DECHFirstJobs</param>
+					</concept>
+					<concept id="egi::virtual::93" label="trgrida" claim="true">
+						<param name="enrollmentUrl">https://voms.ulakbim.gov.tr:8443/voms/trgrida/</param>
+						<param name="homepageUrl">https://voms.ulakbim.gov.tr:8443/voms/trgrida/</param>
+					</concept>
+					<concept id="egi::virtual::2272" label="envirogrids.vo.eu-egee.org" claim="true">
+						<param name="enrollmentUrl">https://lcg-voms.cern.ch:8443/vo/envirogrids.vo.eu-egee.org/vomrs</param>
+						<param name="homepageUrl">http://www.envirogrids.net/</param>
+					</concept>
+					<concept id="egi::virtual::16" label="dteam" claim="true">
+						<param name="enrollmentUrl">https://voms.hellasgrid.gr:8443/voms/dteam</param>
+						<param name="homepageUrl">http://wiki.egi.eu/wiki/Dteam_vo</param>
+					</concept>
+					<concept id="egi::virtual::92" label="cesga" claim="true">
+						<param name="enrollmentUrl">https://voms.egi.cesga.es:8443/voms/cesga/admin/home.action</param>
+						<param name="homepageUrl">http://www.egee.cesga.es/vo.html</param>
+					</concept>
+					<concept id="egi::virtual::446" label="imath.cesga.es" claim="true">
+						<param name="enrollmentUrl">i-math.cesga.es</param>
+						<param name="homepageUrl">i-math.cesga.es</param>
+					</concept>
+					<concept id="egi::virtual::65" label="uscms" claim="true">
+						<param name="enrollmentUrl"></param> 
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::108" label="pamela" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/pamela/register/start.action</param>
+						<param name="homepageUrl">http://pamela.roma2.infn.it</param>
+					</concept>
+					<concept id="egi::virtual::930" label="vo.formation.idgrilles.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.formation.idgrilles.fr</param>
+						<param name="homepageUrl">http://www.france-grilles.fr</param>
+					</concept>
+					<concept id="egi::virtual::790" label="vo.rhone-alpes.idgrilles.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.rhone-alpes.idgrilles.fr</param>
+						<param name="homepageUrl">http://www.tidra.org</param>
+					</concept>
+					<concept id="egi::virtual::730" label="vo.paus.pic.es" claim="true">
+						<param name="enrollmentUrl">https://voms.pic.es:8443/voms/vo.paus.pic.es</param>
+						<param name="homepageUrl">http://www.ice.csic.es/research/PAU/PAU-welcome.html</param>
+					</concept>
+					<concept id="egi::virtual::10274" label="fedcloud.egi.eu" claim="true">
+						<param name="enrollmentUrl">https://perun.metacentrum.cz/perun-registrar-cert/?vo=fedcloud.egi.eu</param>
+						<param name="homepageUrl">http://www.egi.eu/infrastructure/cloud/</param>
+					</concept>
+					<concept id="egi::virtual::1972" label="vo.lpta.in2p3.fr" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::590" label="d4science.research-infrastructures.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.research-infrastructures.eu:8443/voms/d4science.research-infrastructures.eu/</param>
+						<param name="homepageUrl">http://www.d4science.org</param>
+					</concept>
+					<concept id="egi::virtual::10278" label="isravo.isragrid.org.il" claim="true">
+						<param name="enrollmentUrl">https://ngi-il-voms3.isragrid.org.il:8443/voms/isravo.isragrid.org.il/</param>
+						<param name="homepageUrl">http://www.isragrid.org.il</param>
+					</concept>
+					<concept id="egi::virtual::491" label="cppm" claim="true">
+						<param name="enrollmentUrl">https://marvoms.in2p3.fr:8443/voms/cppm/</param>
+						<param name="homepageUrl">http://marwww.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::440" label="astro.vo.eu-egee.org" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/astro.vo.eu-egee.org/register</param>
+						<param name="homepageUrl">https://grid12.lal.in2p3.fr:8443/voms/astro.vo.eu-egee.org/</param>
+					</concept>
+					<concept id="egi::virtual::10288" label="km3net.org" claim="true">
+						<param name="enrollmentUrl">https://voms02.scope.unina.it:8443/voms/km3net.org/</param>
+						<param name="homepageUrl">http://www.km3net.org/home.php</param>
+					</concept>
+					<concept id="egi::virtual::10266" label="ipv6.hepix.org" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/ipv6.hepix.org/admin/home.action</param>
+						<param name="homepageUrl">https://voms2.cnaf.infn.it:8443/voms/ipv6.hepix.org/admin/home.action</param>
+					</concept>
+					<concept id="egi::virtual::1690" label="atlas.ac.il" claim="true">
+						<param name="enrollmentUrl">https://voms.hep.tau.ac.il:8443/voms/atlas.ac.il/</param>
+						<param name="homepageUrl">https://voms.hep.tau.ac.il:8443/voms/atlas.ac.il/</param>
+						<param name="suggestedAcknowledgment"> The crucial computing support from all WLCG partners is acknowledged gratefully, in particular from CERN and the ATLAS Tier-1 facilities at TRIUMF (Canada), NDGF (Denmark, Norway, Sweden), CCIN2P3 (France), KIT/GridKA (Germany), INFN-CNAF (Italy), NL-T1 (Netherlands), PIC (Spain), ASGC (Taiwan), RAL (UK) and BNL (USA) and in the Tier-2 facilities worldwide" </param>  
+					</concept>
+					<concept id="egi::virtual::1170" label="vo.ipnl.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">http://www.ipnl.in2p3.fr/spip.php?article302&amp;lang=fr</param>
+						<param name="homepageUrl">http://www.ipnl.in2p3.fr/spip.php?article302&amp;lang=fr</param>
+					</concept>
+					<concept id="egi::virtual::2012" label="bing.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/bing.vo.ibergrid.eu/admin/home.action</param>
+						<param name="homepageUrl">http://www.brainimaging.pt</param>
+					</concept>
+					<concept id="egi::virtual::488" label="vo.lapp.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.lapp.in2p3.fr</param>
+						<param name="homepageUrl">http://lapp.in2p3.fr/spip.php?rubrique80</param>
+					</concept>
+					<concept id="egi::virtual::66" label="swetest" claim="true">
+						<param name="enrollmentUrl">https://swevo.ific.uv.es:8443/voms/swetest/register/start.action</param>
+						<param name="homepageUrl">http://swevo.ific.uv.es/vo/swetest/vo-swetest.html</param>
+					</concept>
+					<concept id="egi::virtual::1870" label="vo.mcia.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.mcia.fr</param>
+						<param name="homepageUrl">http://www.mcia.univ-bordeaux.fr/</param>
+					</concept>
+					<concept id="egi::virtual::1892" label="cometa" claim="true">
+						<param name="enrollmentUrl">http://www.consorzio-cometa.it/en/accesso</param>
+						<param name="homepageUrl">http://www.consorzio-cometa.it/</param>
+					</concept>
+					<concept id="egi::virtual::91" label="edteam" claim="true">
+						<param name="enrollmentUrl">https://voms.lip.pt:8443/voms/edteam/webui/request/user/create</param>
+						<param name="homepageUrl">http://www.eu-eela.org/</param>
+					</concept>
+					<concept id="egi::virtual::10272" label="verce.eu" claim="true">
+						<param name="enrollmentUrl">https://verce-voms.scai.fraunhofer.de:8443/voms/verce.eu/</param>
+						<param name="homepageUrl">http://www.verce.eu</param>
+					</concept>
+					<concept id="egi::virtual::251" label="lofar" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/lofar/register/start.action</param>
+						<param name="homepageUrl">http://www.lofar.org</param>
+					</concept>
+					<concept id="egi::virtual::458" label="vo.plgrid.pl" claim="true">
+						<param name="enrollmentUrl">https://portal.plgrid.pl</param>
+						<param name="homepageUrl">http://www.plgrid.pl/en</param>
+					</concept>
+					<concept id="egi::virtual::10261" label="vo.landslides.mossaic.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/vo.landslides.mossaic.org/register/start.action</param>
+						<param name="homepageUrl">http://mossaic.org/</param>
+					</concept>
+					<concept id="egi::virtual::10" label="dzero" claim="true">
+						<param name="enrollmentUrl">https://voms.fnal.gov:8443/voms/dzero/register/start.action</param>
+						<param name="homepageUrl">http://www-d0.fnal.gov/</param>
+					</concept>
+					<concept id="egi::virtual::1390" label="lsgrid" claim="true">
+						<param name="enrollmentUrl"> https://voms.grid.sara.nl:8443/voms/lsgrid</param>
+						<param name="homepageUrl">http://www.sara.nl/project/life-science-grid</param>
+					</concept>
+					<concept id="egi::virtual::10286" label="cernatschool.org" claim="true">
+						<param name="enrollmentUrl">https://www.gridpp.ac.uk/wiki/CERN%40school#Enrollment</param>
+						<param name="homepageUrl">http://cernatschool.web.cern.ch/content/cernschool-vo</param>
+					</concept>
+					<concept id="egi::virtual::17" label="ukqcd" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/ildg/</param>
+						<param name="homepageUrl">http://ukqcd.ac.uk/</param>
+					</concept>
+					<concept id="egi::virtual::1310" label="vo.helio-vo.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/vo.helio-vo.eu</param>
+						<param name="homepageUrl">http://www.helio-vo.eu/</param>
+					</concept>
+					<concept id="egi::virtual::870" label="fkppl.kisti.re.kr" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::2132" label="vo.ifisc.csic.es" claim="true">
+						<param name="enrollmentUrl">https://voms.ific.uv.es:8443/voms/vo.ifisc.csic.es</param>
+						<param name="homepageUrl">https://voms.ific.uv.es:8443/voms/vo.ifisc.csic.es</param>
+					</concept>
+					<concept id="egi::virtual::10277" label="vo.dch-rp.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ct.infn.it:8443/voms/vo.dch-rp.eu</param>
+						<param name="homepageUrl">http://www.dch-rp.eu/</param>
+					</concept>
+					<concept id="egi::virtual::10253" label="dream.hipcat.net" claim="true">
+						<param name="enrollmentUrl">https://voms.hpcc.ttu.edu:8443/voms/dream/user/home.action</param>
+						<param name="homepageUrl">http://highenergy.phys.ttu.edu/dream/</param>
+						<param name="suggestedAcknowledgment"> n/a (list of publications: http://highenergy.phys.ttu.edu/dream/results/publications/publications.html) </param>
+					</concept>
+					<concept id="egi::virtual::102" label="nw_ru" claim="true">
+						<param name="enrollmentUrl"> https://gt1.pnpi.nw.ru:8443/voms/nw_ru/</param>
+						<param name="homepageUrl">http://egee.pnpi.nw.ru</param>
+					</concept>
+					<concept id="egi::virtual::2175" label="social.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/social.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::10281" label="lsst" claim="true">
+						<param name="enrollmentUrl">https://voms.fnal.gov:8443/voms/lsst</param>
+						<param name="homepageUrl">http://www.lsst.org/lsst/</param>
+					</concept>
+					<concept id="egi::virtual::57" label="voce" claim="true">
+						<param name="enrollmentUrl">https://voce-register.farm.particle.cz/voce/</param>
+						<param name="homepageUrl">http://egee.cesnet.cz/en/voce/</param>
+					</concept>
+					<concept id="egi::virtual::12" label="vo.sixt.cern.ch" claim="true">
+						<param name="enrollmentUrl">http://sixtrack.web.cern.ch/SixTrack/</param>
+						<param name="homepageUrl">http://sixtrack.web.cern.ch/SixTrack/</param>
+					</concept>
+					<concept id="egi::virtual::2112" label="seismo.see-grid-sci.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ulakbim.gov.tr:8443/voms/seismo.see-grid-sci.eu/register/start.action</param>
+						<param name="homepageUrl">http://wiki.egee-see.org/index.php/SG_Seismology_VO</param>
+					</concept>
+					<concept id="egi::virtual::1890" label="vo.cs.br" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::1530" label="t2k.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/t2k.org/register/start.action</param>
+						<param name="homepageUrl">http://www.t2k.org</param>
+						<param name="suggestedAcknowledgment"> n/a (list of publications: http://t2k-experiment.org/publications/) </param>
+					</concept>
+					<concept id="egi::virtual::10264" label="net.egi.eu" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/net.egi.eu/</param>
+						<param name="homepageUrl">http://net.egi.eu</param>
+					</concept>
+				</category>
+			</context>
+		</CONFIGURATION>
+		<STATUS />            
+		<SECURITY_PARAMETERS/>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/FieldType.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/FieldType.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/FieldType.proto	(revision 51225)
@@ -0,0 +1,142 @@
+package eu.dnetlib.data.proto;
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "FieldTypeProtos";
+
+message StringField {
+
+ 	required string value = 1;
+	optional DataInfo dataInfo = 2;
+}
+
+message BoolField {
+
+ 	required bool value = 1;
+	optional DataInfo dataInfo = 2;
+}
+
+message IntField {
+
+ 	required int32 value = 1;
+	optional DataInfo dataInfo = 2;
+}
+
+message StructuredProperty {
+
+	required string value = 1;
+	optional Qualifier qualifier = 2;
+	optional DataInfo dataInfo = 3;
+}
+
+// Generic container for identified values, e.g:
+//   <oaf:hostedBy name="Publications at Bielefeld University" id="opendoar::2294"/>
+//   <oaf:collectedFrom name="Publications at Bielefeld University" id="opendoar::2294"/>
+message KeyValue {
+
+	extensions 10 to 19;
+
+	required string key = 1;
+	optional string value = 2;
+	
+	optional DataInfo dataInfo = 3;
+}
+
+message Qualifier {
+
+	optional string classid = 1;
+	optional string classname = 2;
+	optional string schemeid = 3;
+	optional string schemename = 4;
+	
+	optional DataInfo dataInfo = 5;
+}
+
+message DataInfo {
+
+	optional bool inferred = 1;
+	optional bool deletedbyinference = 2;
+	optional string trust = 3;
+	optional string inferenceprovenance = 4;
+
+	required Qualifier provenanceaction = 5;
+}
+
+message OAIProvenance {
+
+	optional OriginDescription originDescription = 1;
+
+	message OriginDescription {
+		
+		optional string harvestDate = 1;
+		optional bool altered = 2 [default = true];
+		
+		optional string baseURL = 3;
+		optional string identifier = 4;
+		optional string datestamp = 5;
+		optional string metadataNamespace = 6;
+		
+		optional OriginDescription originDescription = 7;		
+	}
+}
+
+message Journal {
+	optional string name = 1;
+	optional string issnPrinted = 2;
+	optional string issnOnline = 3;
+	optional string issnLinking = 4;
+
+	optional DataInfo dataInfo = 5;
+}
+
+message ExtraInfo {
+
+	required string name = 1;
+	required string typology = 2;
+	required string provenance = 3;
+	optional string trust = 4;
+	
+	// json containing a Citation or Statistics
+	optional string value = 5;
+
+}
+
+// <concept id="egi::vo::alice" />
+message Context {
+	required string id = 1;
+	optional DataInfo dataInfo = 2;
+}
+
+message Instance {
+
+	optional Qualifier licence = 3;
+	optional Qualifier instancetype = 4;
+
+	optional KeyValue hostedby = 5;
+	repeated string url = 9;
+}
+
+message ExternalReference {
+
+	extensions 100 to 199;
+
+	optional string sitename = 1; // source
+	optional string label = 2; // title
+	optional string url = 3; // text()
+	optional string description = 4; // ?? not mapped yet ??
+	optional Qualifier qualifier = 5; // type
+	optional string refidentifier = 6; // site internal identifier
+	optional string query = 7; // maps the oaf:reference/@query attribute
+	optional DataInfo dataInfo = 8; // ExternalReferences might be also inferred
+
+
+}
+
+
+
+message ProjectRelation {
+	required string grantId = 1;
+	optional string funder = 2;
+	optional string fundingStream = 3;
+	optional string acronym = 4;
+	optional string name = 5;
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/DngfParent.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/DngfParent.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/DngfParent.proto	(revision 51225)
@@ -0,0 +1,82 @@
+package eu.dnetlib.data.proto;
+
+import "Kind.proto";
+import "FieldType.proto";
+
+// for DNGFentity
+import "Type.proto";
+import "Datasource.proto";
+import "Organization.proto";
+import "Person.proto";
+import "Project.proto";
+import "Publication.proto";
+import "Dataset.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "DNGFProtos";
+
+message DNGF {
+  required Kind kind = 1;
+
+  optional DNGFEntity entity = 2;
+  optional DNGFRel rel = 3;
+
+  optional DataInfo dataInfo = 4;
+
+  // used to mark the last update time of this object
+  optional sfixed64 lastupdatetimestamp = 5;
+}
+
+message DNGFEntity {
+
+  extensions 100 to 199;
+
+  required Type type = 1;
+  required string id = 12;
+
+  repeated string originalId = 8;
+  repeated KeyValue collectedfrom = 9;
+
+  repeated StructuredProperty pid = 10;
+  optional string dateofcollection = 11;
+  optional string dateoftransformation = 13;
+
+  /* Any relation that we want to bundle together with this entity.
+   It's intended to be used only in temporary values in map/red jobs (sequence files, ...)
+   and never persisted values stored in  HBase. */
+  repeated DNGFRel cachedRel = 2;
+
+  optional Datasource datasource = 3;
+  optional Organization organization = 4;
+  optional Person person = 5;
+  optional Project project = 6;
+  optional Publication publication = 7;
+  optional Dataset dataset = 14;
+
+  repeated DNGFEntity children = 16;
+
+  repeated ExtraInfo extraInfo = 15;
+
+  optional OAIProvenance oaiprovenance = 17;
+}
+
+
+message DNGFRel {
+
+  extensions 100 to 199;
+
+  required Qualifier relType = 1;
+  required Type sourceType = 2;
+  required Type targetType = 3;
+
+  required string source = 4;
+  required string target = 5;
+
+  /* if true then is a "child" */
+  required bool child = 6;
+
+  optional DNGFEntity cachedTarget = 7;
+
+  repeated KeyValue collectedfrom = 8;
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Organization.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Organization.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Organization.proto	(revision 51225)
@@ -0,0 +1,32 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "OrganizationProtos";
+
+message Organization {
+
+	optional Metadata metadata = 2;
+
+	message Metadata {
+		optional StringField legalshortname = 1;
+		optional StringField legalname = 2;
+		optional StringField websiteurl = 3;
+		optional StringField logourl = 4;
+		optional StringField eclegalbody = 5;
+		optional StringField eclegalperson = 6;
+		optional StringField ecnonprofit = 7;
+		optional StringField ecresearchorganization = 8;
+		optional StringField echighereducation = 9;
+		optional StringField ecinternationalorganizationeurinterests = 10;
+		optional StringField ecinternationalorganization = 11;
+		optional StringField ecenterprise = 12;
+		optional StringField ecsmevalidated = 13;
+		optional StringField ecnutscode = 14;
+
+		optional Qualifier country = 16;
+
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Kind.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Kind.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Kind.proto	(revision 51225)
@@ -0,0 +1,9 @@
+package eu.dnetlib.data.proto;
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "KindProtos";
+
+enum Kind {
+	entity = 1;
+	relation = 2;
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_prodinra.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_prodinra.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_prodinra.xml	(revision 51225)
@@ -0,0 +1,80 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a8354bda-726f-41a1-b835-59e20dc4fc64_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-06-16T17:04:41+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_prodinra</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_prodinra";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http://prodinra.inra.fr/record')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_crossrefclaims.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_crossrefclaims.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_crossrefclaims.xml	(revision 51225)
@@ -0,0 +1,69 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="01782ea8-34fb-4ea1-82ef-326081e8a0c6_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-07-17T13:01:32+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc2oaf_cleaning_OPENAIREplus_compliant_crossrefclaims</TITLE>
+                <CODE><![CDATA[
+declare_script "dc2oaf_cleaning_OpenAIREplus_compliant_crossrefclaims";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varRepoid = xpath:"//dri:repositoryId";
+$varCollectedFromName = xpath:"//oaf:collectedFrom/@name";
+$varHostedByName = xpath:"//oaf:hostedBy/@name";
+$varHostedById = xpath:"//oaf:hostedBy/@id";
+$varCollectedFromId = xpath:"//oaf:collectedFrom/@id";
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = xpath:"//dri:recordIdentifier";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+if xpath:"count(//dc:identifier) = 1 and count(//dc:identifier[@identifierType='doi']) = 1" dc:identifier = xpath:"concat('http://dx.doi.org/', //dc:identifier[@identifierType='doi'])"; else $varDummy = "''";
+dr:dateOfCollection = xpath:"//dr:dateOfCollection";
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:dateAccepted", DateISO8601, "yyyy-MM-dd", "min()");
+oaf:embargoenddate = Convert(xpath:"descendant-or-self::oaf:embargoenddate", DateISO8601, "yyyy-MM-dd", "min()");
+// apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+//
+dr:CobjCategory = "0001";
+oaf:accessrights = xpath:"//oaf:accessrights";
+//
+oaf:collectedFrom = set("''", @name = $varCollectedFromName; , @id = $varCollectedFromId;);
+oaf:hostedBy = set("''", @name = $varHostedByName; , @id = $varHostedById;);
+//
+oaf:identifier = set(xpath:"//dc:identifier[@identifierType='doi']", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+about = xpath:"//about";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_rioxx2oaf_core.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_rioxx2oaf_core.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_rioxx2oaf_core.xml	(revision 51225)
@@ -0,0 +1,281 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="522cd83c-4177-4401-85ad-3217d5cb7ba0_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2016-03-10T16:03:17+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_rioxx2oaf_core</TITLE>
+                <CODE>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1" 
+                             xmlns:dri="http://www.driver-repository.eu/namespace/dri" 
+                             xmlns:dc="http://purl.org/dc/elements/1.1/" 
+                             xmlns:oaf="http://namespace.openaire.eu/oaf" 
+                             xmlns:dr="http://www.driver-repository.eu/namespace/dr" 
+                             xmlns:transformExt="http://namespace.openaire.eu/java/org.apache.commons.codec.digest.DigestUtils" 
+                             xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                             extension-element-prefixes="transformExt TransformationFunction"
+                             exclude-result-prefixes="transformExt TransformationFunction" &gt;
+                        &lt;xsl:output indent="yes" omit-xml-declaration="yes"/&gt;
+
+  &lt;xsl:param name="varOfficialName" /&gt;
+  &lt;xsl:param name="varDsType" /&gt;
+  &lt;xsl:param name="varDataSourceId" /&gt;
+  &lt;xsl:param name="varFP7" select="'corda_______::'"/&gt;
+  &lt;xsl:param name="varH2020" select="'corda__h2020::'"/&gt;
+
+  &lt;xsl:param name="repoCode" select="replace(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], '^([^:]*:[^:]*):.*$', '$1')"/&gt;
+
+  &lt;xsl:param name="index" select="0"/&gt;
+  &lt;xsl:param name="transDate" select="current-dateTime()"/&gt;
+  &lt;xsl:variable name="tf" select="TransformationFunction:getInstance()"/&gt;
+
+
+
+&lt;xsl:variable name="vCodes"&gt;
+  &lt;codes&gt;
+   &lt;code key="oai:usir.salford.ac.uk" value="od_______991"   id="opendoar____::991" name="University of Salford Institutional repository"/&gt;
+   &lt;code key="oai:sro.sussex.ac.uk" value="od______2384"   id="opendoar____::2384" name="Sussex Research Online"/&gt;
+   &lt;code key="oai:eprints.gla.ac.uk" value="od_______162"  id="opendoar____::162" name="Enlighten"/&gt;
+   &lt;code key="oai:researchspace.bathspa.ac.uk" value="od______2694" id="opendoar____::2694" name="ResearchSPace - Bath Spa University"/&gt;
+   &lt;code key="oai:wrap.warwick.ac.uk" value="od______1288"  id="opendoar____::1288" name="Warwick Research Archives Portal Repository"/&gt;
+   &lt;code key="oai:centaur.reading.ac.uk" value="od______1731"    id="opendoar____::1731" name="Central Archive at the University of Reading"/&gt;
+   &lt;code key="oai:eprints.lse.ac.uk" value="od_______206"   id="opendoar____::206" name="LSE Research Online"/&gt;
+   &lt;code key="oai:westminsterresearch.wmin.ac.uk" value="od_______936"  id="opendoar____::936" name="WestminsterResearch"/&gt;
+   &lt;code key="oai:eprints.soas.ac.uk" value="od_______285"  id="opendoar____::285" name="SOAS Research Online"/&gt;
+   &lt;code key="oai:open.ac.uk.OAI2" value="od_______300"  id="opendoar____::300" name="Open Research Online"/&gt;
+   &lt;code key="oai:nectar.northampton.ac.uk" value="od______1251"  id="opendoar____::1251" name="NECTAR"/&gt;
+   &lt;code key="oai:openaccess.sgul.ac.uk" value="od______2556"  id="opendoar____::2556" name="St George's Online Research Archive"/&gt;
+   &lt;code key="oai:researchrepository.napier.ac.uk" value="od______1334"  id="opendoar____::1334" name="Repository@Napier"/&gt;
+   &lt;code key="oai:roar.uel.ac.uk" value="od______1488"  id="opendoar____::1488" name="ROAR at University of East London"/&gt;
+   &lt;code key="oai:eprints.staffs.ac.uk" value="od______2881"  id="opendoar____::2881" name="STORE - Staffordshire Online Repository"/&gt;
+   &lt;code key="oai:ray.yorksj.ac.uk" value="od______1391"   id="opendoar____::1391" name="York St John University Repository"/&gt;
+   &lt;code key="oai:repository.winchester.ac.uk" value="core________"   id="openaire____::d2d51e00-28b0-4f13-b541-7473d104a860" name="CORE"/&gt;
+   &lt;code key="oai:rhinology.in" value="core________"   id="openaire____::d2d51e00-28b0-4f13-b541-7473d104a860" name="CORE"/&gt;
+  &lt;/codes&gt;
+ &lt;/xsl:variable&gt;
+&lt;!-- 
+status CORE-ID OpenDOAR-ID repo name
+ok 136   1288    Warwick Research Archives Portal Repository
+ok 67    206        LSE Research Online
+ok 42    162        Enlighten
+ok 109    2384    Sussex Research Online
+ok 130    991        University of Salford Institutional repository  oai:usir.salford.ac.uk
+ok 17    1731    Central Archive at the University of Reading
+ok 86    300        Open Research Online
+ok 103    285        SOAS Research Online
+ok 138    936        WestminsterResearch
+ok 686    0    !2694        ResearchSPace - Bath Spa University              http://researchspace.bathspa.ac.uk/cgi/oai2
+ok 78    1251    NECTAR                                      http://nectar.northampton.ac.uk/cgi/oai2?verb=Identify
+ok 253    2556    St George's Online Research Archive
+ok 92    1334    Repository@Napier
+ok 96    1488    ROAR at University of East London
+ok 620    2881    STORE - Staffordshire Online Repository
+ok ? 694    0        Winchester Research Repository                  http://repository.winchester.ac.uk/cgi/oai2 oai:repository.winchester.ac.uk
+ok 683    0    ! 1391    York St John University Repository              http://ray.yorksj.ac.uk/cgi/oai2
+? 294    0        Entrepo                                          http://rhinology.in/cgi/oai2 oai:rhinology.in
+? no records so far 170    2134    LSE Theses Online                              http://etheses.lse.ac.uk/cgi/oai2
+   &lt;code key="oai:eprints.lse.ac.uk" value="od______2134"   id="opendoar____::2134" name="LSE Theses Online"/&gt;
+
+--&gt;
+&lt;xsl:key name="kCodeByName" match="code" use="string(@key)"/&gt;
+
+
+               &lt;xsl:template name="terminate"&gt;
+                	&lt;xsl:message terminate="yes"&gt;
+                             	record is not compliant, transformation is interrupted.
+                	&lt;/xsl:message&gt;
+               &lt;/xsl:template&gt;
+
+                        &lt;xsl:template match="/"&gt;
+                              &lt;record&gt;
+                                  &lt;xsl:apply-templates select="//*[local-name() = 'header']" /&gt;
+                                  &lt;metadata&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:title"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:title'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='author']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:creator'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='contributor']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:contributor'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:description"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:description'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:format"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:format'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:subject"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:subject'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:publisher"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:publisher'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:source"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:source'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;dc:language&gt;
+                                             &lt;xsl:value-of select="TransformationFunction:convertString($tf, //dc:language, 'Languages')"/&gt;
+                                    &lt;/dc:language&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:rights"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:rights'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:relation"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:relation'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:if test="not(//dc:identifier[starts-with(., 'http')])"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                                   &lt;/xsl:if&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:identifier[starts-with(., 'http')]"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:identifier'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:if test="//*[local-name()='version_of_record'][starts-with(., 'http://dx.doi.org/')]"&gt;
+                                     &lt;xsl:element name="oaf:identifier"&gt; 
+                                          &lt;xsl:attribute name="identifierType"&gt;
+                                              &lt;xsl:text&gt;doi&lt;/xsl:text&gt;
+                                          &lt;/xsl:attribute&gt;
+                                            &lt;xsl:value-of select="substring-after(//*[local-name()='version_of_record'], 'http://dx.doi.org/')"/&gt;
+                                        &lt;/xsl:element&gt;
+                                    &lt;/xsl:if&gt;
+         &lt;xsl:for-each select="//*[local-name()='project']"&gt;
+            &lt;xsl:if test="(contains(@funder_name, 'EU FP7') or starts-with(@funder_name, 'Europe') or contains(@funder_id, '10.13039/501100000780') or contains(@funder_id, '10.13039/501100004963') ) and not(contains(., '531245')) and not(contains(lower-case(.), 'lifelong learning programme')) and matches(normalize-space(.), '^.*(\d\d\d\d\d\d).*$', 'i')"&gt;
+                &lt;oaf:projectid&gt;
+                    &lt;xsl:value-of select="concat($varFP7, replace(normalize-space(.), '^.*(\d\d\d\d\d\d).*$', '$1', 'i'))"/&gt;
+                &lt;/oaf:projectid&gt;
+            &lt;/xsl:if&gt;
+            &lt;xsl:if test="matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')"&gt;
+                &lt;oaf:projectid&gt;
+                    &lt;xsl:value-of select="concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))"/&gt;
+                &lt;/oaf:projectid&gt;
+            &lt;/xsl:if&gt;
+         &lt;/xsl:for-each&gt;
+
+
+&lt;!--
+                                    &lt;xsl:if test="not(//didl:Component/didl:Resource[@mimeType='application/pdf'])"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                                   &lt;/xsl:if&gt;
+--&gt;
+                                   &lt;xsl:choose&gt;
+                                            &lt;xsl:when test="//*[local-name()='free_to_read']" &gt;
+                                  &lt;oaf:accessrights&gt;
+                                      &lt;xsl:text&gt;OPEN&lt;/xsl:text&gt;
+                                  &lt;/oaf:accessrights&gt;
+                                            &lt;/xsl:when&gt;
+                                            &lt;xsl:otherwise&gt;
+                                  &lt;oaf:accessrights&gt;
+                                      &lt;xsl:text&gt;UNKNOWN&lt;/xsl:text&gt;
+                                  &lt;/oaf:accessrights&gt;
+                                            &lt;/xsl:otherwise&gt;
+                                            &lt;/xsl:choose&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='license_ref']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'oaf:license'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                  &lt;dr:CobjCategory&gt;
+                                  &lt;xsl:value-of 
+                 select="TransformationFunction:convertString($tf, //*[local-name()='type'], 'TextTypologies')" /&gt;
+         &lt;/dr:CobjCategory&gt;
+
+         &lt;oaf:dateAccepted&gt;
+               &lt;xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name()='publication_date'], 'DateISO8601')"/&gt;
+         &lt;/oaf:dateAccepted&gt;
+
+
+&lt;!--
+                                    &lt;oaf:fulltext&gt;&lt;xsl:value-of select="//didl:Component/didl:Resource[@mimeType='application/pdf']/@ref"/&gt;&lt;/oaf:fulltext&gt;
+--&gt;
+         &lt;oaf:hostedBy&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="key('kCodeByName', $repoCode, $vCodes)/@name"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="key('kCodeByName', $repoCode, $vCodes)/@id"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:hostedBy&gt;
+
+&lt;!--
+         &lt;oaf:hostedBy&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="$varOfficialName"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="$varDataSourceId"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:hostedBy&gt;
+--&gt;
+
+         &lt;oaf:collectedFrom&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="$varOfficialName"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="$varDataSourceId"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:collectedFrom&gt;
+                                  &lt;/metadata&gt;
+                                &lt;xsl:copy-of select="//*[local-name() = 'about']" /&gt;
+                              &lt;/record&gt;
+
+                        &lt;/xsl:template&gt;
+
+         &lt;xsl:template name="allElements"&gt;
+             &lt;xsl:param name="sourceElement"/&gt;
+             &lt;xsl:param name="targetElement"/&gt;
+             &lt;xsl:for-each select="$sourceElement"&gt;
+                &lt;xsl:element name="{$targetElement}"&gt;
+                    &lt;xsl:value-of select="normalize-space(.)"/&gt;
+                &lt;/xsl:element&gt;
+             &lt;/xsl:for-each&gt;
+          &lt;/xsl:template&gt;
+
+
+                       &lt;xsl:template match="//*[local-name() = 'header']"&gt;
+                         &lt;xsl:copy&gt;
+                            &lt;xsl:apply-templates  select="node()|@*"/&gt;
+                             &lt;xsl:element name="dr:dateOfTransformation"&gt;
+                                 &lt;xsl:value-of select="$transDate"/&gt;
+                             &lt;/xsl:element&gt;
+                         &lt;/xsl:copy&gt;
+                        &lt;/xsl:template&gt;
+
+&lt;!--
+                       &lt;xsl:template match="dri:objIdentifier"&gt;
+                         &lt;xsl:variable name="objIdentifier" select="substring-after(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], ':')"/&gt;
+                         &lt;xsl:variable name="nsPrefix" select="key('kCodeByName', $repoCode, $vCodes)/@value"/&gt;
+                         &lt;xsl:if test="string-length($nsPrefix) = 0"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                         &lt;/xsl:if&gt;
+                        &lt;xsl:copy&gt;
+                        &lt;xsl:value-of select="concat( $nsPrefix , '::', transformExt:md5Hex(string($objIdentifier)))"/&gt;
+                        &lt;/xsl:copy&gt;
+                       &lt;/xsl:template&gt;
+--&gt;
+                       &lt;xsl:template match="node()|@*"&gt;
+                            &lt;xsl:copy&gt;
+                                 &lt;xsl:apply-templates select="node()|@*"/&gt;
+                            &lt;/xsl:copy&gt;
+                       &lt;/xsl:template&gt;
+                    &lt;/xsl:stylesheet&gt;</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_od______1581.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_od______1581.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_od______1581.xml	(revision 51225)
@@ -0,0 +1,79 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="36517292-69af-4793-9769-6985cddccfff_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_od______1581</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_od______1581";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+//apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[text() = 'open']" oaf:accessrights = "OPEN"; else oaf:accessrights = "CLOSED";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/dataset.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/dataset.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/dataset.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5c82eff0-4172-4188-8b65-5c8334faa6f4_RGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupOrchestrationDSResourceType"/>
+        <RESOURCE_KIND value="DedupOrchestrationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION enabled="true">
+            <DEDUPLICATION>
+                <ENTITY name="dataset" code="60" label="Dataset" />
+                <ACTION_SET id="dedup-similarity-dataset" />
+                <SCAN_SEQUENCE>
+                	<SCAN id="c24801f5-7366-4a4d-9867-c8827ed0e724_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                </SCAN_SEQUENCE>
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization-simple.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization-simple.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization-simple.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a7a9bbdd-5aff-400c-b8c6-46626927fb52_RGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupOrchestrationDSResourceType"/>
+        <RESOURCE_KIND value="DedupOrchestrationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION enabled="true">
+            <DEDUPLICATION>
+                <ENTITY name="organization" code="20" label="Organization" />
+                <ACTION_SET id="dedup-similarity-organization-simple" />
+                <SCAN_SEQUENCE>
+                	<SCAN id="20d08926-ce57-443c-adef-c879c561d30d_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                </SCAN_SEQUENCE>
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OAIPublisherConfigurationDSResources/OAIPublisherConfigurationDSResourceType/OAIPublisherConfiguration-OpenAire.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OAIPublisherConfigurationDSResources/OAIPublisherConfigurationDSResourceType/OAIPublisherConfiguration-OpenAire.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/OAIPublisherConfigurationDSResources/OAIPublisherConfigurationDSResourceType/OAIPublisherConfiguration-OpenAire.xml	(revision 51225)
@@ -0,0 +1,107 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="53b2865b-53a3-444c-a3a5-d09bb7be9374_T0FJUHVibGlzaGVyQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL09BSVB1Ymxpc2hlckNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="OAIPublisherConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="OAIPublisherConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-23T12:33:34+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IDSCHEME>oai</IDSCHEME>
+            <IDNAMESPACE>dnet</IDNAMESPACE>
+            <CURRENTDB>oaistore</CURRENTDB>
+            <OAISETS>
+                <OAISET enabled="true">
+                    <spec>OpenAccess</spec>
+                    <name>Set of Open Access results</name>
+                    <description>OPEN ACCESS publications and datasets</description>
+                    <query>(license = "OPEN")</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>publications</spec>
+                    <name>Publications</name>
+                    <description>Set of all publications aggregated in OpenAIREPlus</description>
+                    <query>resulttypeid="publication"</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>organizations</spec>
+                    <name>Organizations</name>
+                    <description>Set of all organizations aggregated in OpenAIREPlus</description>
+                    <query>oaftype="organization"</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>datasets</spec>
+                    <name>datasets</name>
+                    <description>Set of all datasets aggregated in OpenAIREPlus</description>
+                    <query>resulttypeid="dataset"</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>projects</spec>
+                    <name>projects</name>
+                    <description>Set of all projects: includes FP7, WellcomeTrust and, soon, H2020 funded projects</description>
+                    <query>oaftype exact "project"</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>FP7Projects</spec>
+                    <name>FP7 projects</name>
+                    <description>Projects funded by EC FP7</description>
+                    <query>(oaftype exact "project" and funder exact "corda_______::FP7")</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>WTProjects</spec>
+                    <name>Wellcome Trust projects</name>
+                    <description>Projects funded by Wellcome Trust</description>
+                    <query>(oaftype exact "project" and funder exact "wt::WT")</query>
+                </OAISET>
+            </OAISETS>
+            <METADATAFORMATS>
+                <METADATAFORMAT exportable="true" metadataPrefix="oaf">
+                    <NAMESPACE>http://namespace.openaire.eu/oaf</NAMESPACE>
+                    <SCHEMA>http://www.openaire.eu/schema/0.2/oaf-0.2.xsd</SCHEMA>
+                    <SOURCE_METADATA_FORMAT interpretation="openaire" layout="index" name="oaf"/>
+                    <TRANSFORMATION_RULE/>
+                    <BASE_QUERY>(oaftype &lt;&gt; "person")</BASE_QUERY>
+                </METADATAFORMAT>
+                <METADATAFORMAT exportable="true" metadataPrefix="oai_dc">
+                    <NAMESPACE>http://www.openarchives.org/OAI/2.0/oai_dc/</NAMESPACE>
+                    <SCHEMA>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</SCHEMA>
+                    <SOURCE_METADATA_FORMAT interpretation="openaire" layout="index" name="oaf"/>
+                    <TRANSFORMATION_RULE>oaf2dc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=</TRANSFORMATION_RULE>
+                    <BASE_QUERY>oaftype="result"</BASE_QUERY>
+                </METADATAFORMAT>
+            </METADATAFORMATS>
+            <INDICES>
+                <INDEX name="objIdentifier" repeatable="false">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="//*[local-name() ='objIdentifier']"/>
+                </INDEX>
+                <INDEX name="set" repeatable="true">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="//collectedfrom/@name"/>
+                </INDEX>
+                <INDEX name="license" repeatable="false">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="//bestlicense/@classid"/>
+                </INDEX>
+                <INDEX name="oaftype" repeatable="false">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="local-name(//*[local-name()='entity']/*)"/>
+                </INDEX>
+                <INDEX name="resulttypeid" repeatable="false">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="//*[local-name()='entity']/*[local-name()='result']/resulttype/@classid"/>
+                </INDEX>
+                <INDEX name="funder" repeatable="false">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/id"/>
+                </INDEX>
+            </INDICES>
+            <ENRICHMENT>
+                <XPATH interpretation="openaire" layout="index" name="oaf" path="//subject[./@inferred='true']"/>
+                <XPATH interpretation="openaire" layout="index" name="oaf"
+                       path="//result/datainfo[./inferenceprovenance='dedup-similarity-result' and ./deletedbyinference='false']"/>
+
+                <XPATH interpretation="openaire" layout="index" name="oaf" path="//rel[./@inferred='true' and ./@inferenceprovenance != 'dedup']"/>
+            </ENRICHMENT>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctionsTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctionsTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctionsTest.java	(revision 51225)
@@ -0,0 +1,52 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.List;
+
+import eu.dnetlib.data.transform.xml.OpenTrialsXsltFunctions.JsonProv;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * OpenTrialsXsltFunctions Tester.
+ *
+ */
+public class OpenTrialsXsltFunctionsTest {
+
+	private String jsonProv = "[{\"url\" : \"http://apps.who.int/trialsearch/Trial3.aspx?trialid=NCT00378508\", \"sourceID\" : \"77eb42c5-0ec7-4e31-963a-5736b66f2d26\", \"sourceName\" : \"ictrp\"},{\"url\" : \"https://www.clinicaltrials.gov/ct2/show/NCT00378508?lup_e=02%2F04%2F2016&lup_s=01%2F01%2F2001&rank=175075&resultsxml=true\", \"sourceID\" : \"b389497c-0833-432b-a09b-930526b7b4d4\", \"sourceName\" : \"nct\"}]";
+	private String jsonProvWithNull = "[{\"url\" : \"\", \"sourceID\" : \"77eb42c5-0ec7-4e31-963a-5736b66f2d26\", \"sourceName\" : \"ictrp\"},{\"url\" : \"https://www.clinicaltrials.gov/ct2/show/NCT00378508?lup_e=02%2F04%2F2016&lup_s=01%2F01%2F2001&rank=175075&resultsxml=true\", \"sourceID\" : \"b389497c-0833-432b-a09b-930526b7b4d4\", \"sourceName\" : \"nct\"}]";
+	private String jidentifiers = "{112683,NCT00920439}";
+
+	@Before
+	public void before() throws Exception {
+	}
+
+	@After
+	public void after() throws Exception {
+	}
+
+	/**
+	 * Method: getProvs(String jsonProvList)
+	 */
+	@Test
+	public void testGetProvs() throws Exception {
+		List<JsonProv> list = OpenTrialsXsltFunctions.getProvs(jsonProv);
+		assertEquals(2, list.size());
+	}
+
+	/**
+	 * Method: getMainIdentifierURL(String jsonProvList)
+	 */
+	@Test
+	public void testGetMainIdentifierURL() throws Exception {
+		String url = OpenTrialsXsltFunctions.getMainIdentifierURL(jsonProv);
+		assertEquals( "http://apps.who.int/trialsearch/Trial3.aspx?trialid=NCT00378508", url );
+		url = OpenTrialsXsltFunctions.getMainIdentifierURL(jsonProvWithNull);
+		assertEquals("https://www.clinicaltrials.gov/ct2/show/NCT00378508?lup_e=02%2F04%2F2016&lup_s=01%2F01%2F2001&rank=175075&resultsxml=true", url);
+	}
+
+
+
+} 
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/CleanerDSResource/CleanerDSResourceType/EntityRegistryCleaningRule.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/CleanerDSResource/CleanerDSResourceType/EntityRegistryCleaningRule.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/CleanerDSResource/CleanerDSResourceType/EntityRegistryCleaningRule.xml	(revision 51225)
@@ -0,0 +1,26 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c2fa90c7-59b8-4864-b132-4bf6523a3b21_Q2xlYW5lckRTUmVzb3VyY2VzL0NsZWFuZXJEU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="CleanerDSResourceType"/>
+        <RESOURCE_KIND value="CleanerDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-01-15T17:16:54+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <CLEANER_NAME>Entity registry cleaning rules</CLEANER_NAME>
+            <CLEANER_DESCRIPTION/>
+            <CLEANER_RULES>
+                <RULE strict="true" vocabularies="dnet:countries" xpath="//FIELD[@name='countryClass' or @name='countryclass']"/>
+                <RULE strict="true" vocabularies="dnet:countries" xpath="//FIELD[@name='nationalityClass' or @name='nationalityclass']"/>
+                <RULE strict="true" vocabularies="dnet:protocols" xpath="//FIELD[@name='protocolClass' or @name='protocolclass']"/>
+                <RULE strict="true" vocabularies="dnet:languages" xpath="//FIELD[@name='od_languages']"/>
+            </CLEANER_RULES>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2014-01-15T17:16:54+01:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRowKeyDecoderTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRowKeyDecoderTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRowKeyDecoderTest.java	(revision 51225)
@@ -0,0 +1,18 @@
+package eu.dnetlib.data.mapreduce.util;
+
+import eu.dnetlib.data.graph.model.DNGFRowKeyDecoder;
+import org.junit.Test;
+
+public class DNGFRowKeyDecoderTest {
+
+	@Test
+	public void test() {
+
+		String id1 = "50|acnbad______::0a454baf9c61e63d42fb83ab549f8062";
+
+		DNGFRowKeyDecoder d = DNGFRowKeyDecoder.decode(id1);
+
+		System.out.println(d.getId());
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/model/gt/AuthorTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/model/gt/AuthorTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/model/gt/AuthorTest.java	(revision 51225)
@@ -0,0 +1,52 @@
+package eu.dnetlib.pace.model.gt;
+
+import com.google.common.collect.Sets;
+import org.junit.Test;
+
+import java.util.Set;
+
+import static org.junit.Assert.assertTrue;
+
+public class AuthorTest {
+
+	@Test
+	public void test() {
+		final Set<Author> s1 = getAuthors(3);
+		final Set<Author> s2 = getAuthors(3);
+
+		final Set<Author> i = Sets.intersection(s1, s2);
+
+		System.out.println(i);
+
+		assertTrue(i.size() == 3);
+
+	}
+
+	@Test
+	public void test1() {
+		final Authors a1 = new Authors(a("1", "Wang, M."));
+		final Authors a2 = new Authors(a("1", "Wang, M."));
+
+		final Set<Author> i = Sets.intersection(a1, a2);
+
+		assertTrue(i.size() == 1);
+
+	}
+
+	private Set<Author> getAuthors(final int n) {
+		final Set<Author> s = Sets.newHashSet();
+
+		for (int i = 0; i < n; i++) {
+			s.add(a(i + "", "name" + i));
+		}
+		return s;
+	}
+
+	private Author a(final String id, final String fullname) {
+		final Author a = new Author();
+		a.setId(id);
+		a.setFullname(fullname);
+		return a;
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/AuthorshipRelations.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/AuthorshipRelations.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/AuthorshipRelations.proto	(revision 51225)
@@ -0,0 +1,13 @@
+package eu.dnetlib.data.proto;
+
+import "DngfParent.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "AuthorshipRelations";
+
+
+extend DNGFRel {
+    optional string ranking = 102;
+}
+
+
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-statistics.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-statistics.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-statistics.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ad7086a3-8f22-4299-ba40-7fd5a0b36e80_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:06+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-document-statistics">iis-document-statistics</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/distance/DetectorTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/distance/DetectorTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/distance/DetectorTest.java	(revision 51225)
@@ -0,0 +1,427 @@
+package eu.dnetlib.pace.distance;
+
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.dnetlib.pace.distance.eval.ScoreResult;
+import org.junit.Test;
+
+import com.google.common.collect.Lists;
+
+import eu.dnetlib.pace.AbstractProtoPaceTest;
+import eu.dnetlib.pace.config.Config;
+import eu.dnetlib.pace.model.MapDocument;
+
+public class DetectorTest extends AbstractProtoPaceTest {
+
+	@Test
+	public void testScoreResult() {
+		final Config config = getResultProdConf();
+
+		final MapDocument resA = result(config, "A", "Recent results from CDFsd");
+		final MapDocument resB = result(config, "B", "Recent results from CDF");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+
+		System.out.println(sr.toString());
+	}
+
+	@Test
+	public void testDistanceResultSimple() {
+		final Config config = getResultSimpleConf();
+
+		final MapDocument resA = result(config, "A", "Recent results from CDF");
+		final MapDocument resB = result(config, "B", "Recent results from CDF");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultSimpleMissingDates() {
+		final Config config = getResultSimpleConf();
+
+		final MapDocument resA = result(config, "A", "Recent results from BES");
+		final MapDocument resB = result(config, "A", "Recent results from CES");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d > 0.97);
+	}
+
+	@Test
+	public void testDistanceResultInvalidDate() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "title title title 6BESR", "2013-01-05");
+		final MapDocument resB = result(config, "B", "title title title 6BESR", "qwerty");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultMissingOneDate() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "title title title 6BESR", null);
+		final MapDocument resB = result(config, "B", "title title title 6CLER", "2012-02");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue((d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceResult() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "title title title BES", "");
+		final MapDocument resB = result(config, "B", "title title title CLEO");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue((d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceResultMissingTwoDate() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "title title title 6BESR");
+		final MapDocument resB = result(config, "B", "title title title 6CLER");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue((d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceOrganizationIgnoreMissing() {
+
+		final Config config = getOrganizationSimpleConf();
+
+		final MapDocument orgA = organization(config, "A", "CONSIGLIO NAZIONALE DELLE RICERCHE");
+		final MapDocument orgB = organization(config, "B", "CONSIGLIO NAZIONALE DELLE RICERCHE", "CNR");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(orgA, orgB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultCase1() {
+
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs boson", "2003");
+		final MapDocument resB = result(config, "B", "Search for the Standard Model Higgs Boson", "2003");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue((d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch1() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs boson", "2003", "10.1594/PANGAEA.726855");
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", "10.1594/PANGAEA.726855");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("exact DOIs will produce an exact match", d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch2() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1594/PANGAEA.726855");
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2005", "10.1594/PANGAEA.726855");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("exact DOIs will produce an exact match, regardless of different titles or publication years", d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch3() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1016/j.jmb.2010.12.024");
+		final MapDocument resB = result(config, "B", "Conference proceedings on X. Appendix", "2003");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("a missing DOI will casue the comparsion to continue with the following conditions", d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch4() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1016/j.jmb.2010.12.024");
+		final MapDocument resB = result(config, "B", "Conference proceedings on X. Appendix", "2005");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("a missing DOI, comparsion continues with the following conditions, different publication years will drop the score to 0", d == 0.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch5() {
+
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Search for the Standard Model Higgs Boson", "2003", "10.1016/j.jmb.2010.12.020");
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("a missing DOI, comparsion continues with the following conditions", (d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch6() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1016/j.jmb.2010.12.024");
+		final MapDocument resB = result(config, "B", "Conference proceedings on X. Appendix", "2003", "anotherDifferentDOI");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("different DOIs will drop the score to 0, regardless of the other fields", d == 0.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch7() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Adrenal Insufficiency asd asd", "1951", Lists.newArrayList("PMC2037944", "axdsds"));
+		final MapDocument resB = result(config, "B", "Adrenal Insufficiency", "1951", "PMC2037944");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("different DOIs will drop the score to 0, regardless of the other fields", d > 0.9 & d < 1);
+	}
+
+	// http://dx.doi.org/10.1594/PANGAEA.726855 doi:10.1594/PANGAEA.726855
+
+	@Test
+	public void testDistanceResultCaseAuthor1() {
+
+		final Config config = getResultAuthorsConf();
+
+		final List<String> authorsA = Lists.newArrayList("a", "b", "c", "d");
+		final List<String> authorsB = Lists.newArrayList("a", "b", "c");
+		final List<String> pid = Lists.newArrayList();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", pid, authorsA);
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", pid, authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 0.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseAuthor2() {
+
+		final Config config = getResultAuthorsConf();
+
+		final List<String> authorsA = Lists.newArrayList("a", "b", "c");
+		final List<String> authorsB = Lists.newArrayList("a", "b", "c");
+		final List<String> pid = Lists.newArrayList();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", pid, authorsA);
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", pid, authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseAuthor3() {
+
+		final Config config = getResultAuthorsConf();
+
+		final List<String> authorsA = Lists.newArrayList("Bardi, A.", "Manghi, P.", "Artini, M.");
+		final List<String> authorsB = Lists.newArrayList("Bardi Alessia", "Manghi Paolo", "Artini Michele");
+		final List<String> pid = Lists.newArrayList();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", pid, authorsA);
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", pid, authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue((d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceResultCaseAuthor4() {
+
+		final Config config = getResultAuthorsConf();
+
+		final List<String> authorsA = Lists.newArrayList("Bardi, Alessia", "Manghi, Paolo", "Artini, Michele", "a");
+		final List<String> authorsB = Lists.newArrayList("Bardi Alessia", "Manghi Paolo", "Artini Michele");
+		final List<String> pid = Lists.newArrayList();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", pid, authorsA);
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", pid, authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		// assertTrue(d.getScore() == 0.0);
+	}
+
+	@Test
+	public void testDistanceResultFullConf() {
+
+		final Config config = getResultFullConf();
+
+		final List<String> authorsA = Lists.newArrayList("Nagarajan Pranesh", "Guy Vautier", "Punyanganie de Silva");
+		final List<String> authorsB = Lists.newArrayList("Pranesh Nagarajan", "Vautier Guy", "de Silva Punyanganie");
+
+		final MapDocument resA =
+				result(config, "A", "Presentations of perforated colonic pathology in patients with polymyalgia rheumatica: two case reports", "2010",
+						"10.1186/1752-1947-4-299", authorsA);
+
+		final MapDocument resB =
+				result(config, "B", "Presentations of perforated colonic pathology in patients with polymyalgia rheumatica: two case reports", "2010",
+						"10.1186/1752-1947-4-299", authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		// assertTrue(d.getScore() == 0.0);
+	}
+
+	@Test
+	public void testDistanceProdConf1() {
+
+		final Config config = getResultProdConf();
+
+		final MapDocument resA =
+				result(config,
+						"A",
+						" Analysis of Transfer Embryo-Derived de-duplication");
+		final MapDocument resB =
+				result(config,
+						"B",
+						" Analysis of Transfer Embryo Derived deduplication");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		// assertTrue(d.getScore() == 0.0);
+	}
+
+	@Test
+	public void testDistanceProdConf2() {
+
+		final Config config = getResultProdConf();
+
+		final MapDocument resA =
+				result(config,
+						"A",
+						"qwerty aaabbbbbbbb bbb ccc ddddd");
+		final MapDocument resB =
+				result(config,
+						"B",
+						"qwert aaabbbbbbbb bbb ccc ddddd");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		// assertTrue(d.getScore() == 0.0);
+	}
+
+	@Test
+	public void testDistanceProdConf3() {
+
+		final Config config = getResultProdConf();
+
+		final List<String> authorsA = Lists.newArrayList("Bardi, Alessia", "Manghi, Paolo", "Artini, Michele", "a");
+		final List<String> authorsB = Lists.newArrayList("Bardi Alessia", "Manghi Paolo", "Artini Michele");
+		final List<String> pid = Lists.newArrayList();
+
+		final MapDocument resA =
+				result(config,
+						"A",
+						"qwerty aaabbbbbbbb bbb ccc ddddd", "2003", pid, authorsA);
+		final MapDocument resB =
+				result(config,
+						"B",
+						"qwert aaabbbbbbbb bbb ccc ddddd", "2003", pid, authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 0.0);
+	}
+
+	@Test
+	public void testDistancePersonConf1() {
+
+		final Config config = getPersonConf();
+
+		final MapDocument p1 = person(config, "p1_id", getPersonGT("/eu/dnetlib/pace/model/gt.author.manghi1.fo.json"));
+		final MapDocument p2 = person(config, "p2_id", getPersonGT("/eu/dnetlib/pace/model/gt.author.manghi2.fo.json"));
+
+		final ScoreResult sr = new PaceDocumentDistance().between(p1, p2, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		// assertTrue(d.getScore() == 0.0);
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Dataset.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Dataset.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Dataset.proto	(revision 51225)
@@ -0,0 +1,58 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+import "Person.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "DatasetProtos";
+
+message Dataset {
+
+	extensions 100 to 199;
+
+	optional Metadata metadata = 2;
+	
+	repeated Instance instance = 6;
+	
+	repeated ExternalReference externalReference = 7;
+
+	repeated Person author = 8;
+
+	message Metadata {
+
+		extensions 100 to 199;
+
+		// resulttype allows subclassing results into publications or datasets
+		optional Qualifier resulttype = 8;
+
+		// common fields
+		optional Qualifier language = 12;
+		repeated Qualifier country = 33;
+
+		repeated StructuredProperty subject = 1;
+		repeated StructuredProperty title = 2;
+		repeated StructuredProperty relevantdate = 3;
+
+		repeated StringField description = 25;
+		optional StringField dateofacceptance = 4;
+		optional StringField publisher = 5;
+		optional StringField embargoenddate = 6;
+		repeated StringField source = 27;
+		repeated StringField fulltext = 29; // remove candidate
+		repeated StringField format = 21;
+		repeated StringField contributor = 30;
+
+		repeated Context context = 28;
+
+		// dataset specific
+		optional StringField storagedate = 9;
+		optional Qualifier resourcetype = 19;
+		optional StringField device = 26;
+		optional StringField size = 20;
+		optional StringField version = 22;
+		optional StringField lastmetadataupdate = 23;
+		optional StringField metadataversionnumber = 24;
+	}
+
+}
+
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Person.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Person.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Person.proto	(revision 51225)
@@ -0,0 +1,49 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "PersonProtos";
+
+message Person {
+
+	optional Metadata metadata = 2;
+
+	message Metadata {
+		optional StringField firstname = 1;
+		repeated StringField secondnames = 2;
+		optional StringField fullname = 11;
+		optional StringField fax = 3;
+		optional StringField email = 4;
+		optional StringField phone = 5;
+
+		optional Qualifier nationality = 9;
+	}
+
+	// Dedup preprocess
+	repeated CoAuthor coauthor = 4;
+
+	repeated MergedPerson mergedperson = 5;
+	
+	optional bool anchor = 6 [default = false];
+
+	message CoAuthor {
+	
+		required string id = 1;
+
+		optional string anchorId = 2;
+		
+		optional int32 coauthoredpapers = 3 [default = 1];
+	
+		optional Metadata metadata = 4;	
+	}
+
+	message MergedPerson {
+	
+		required string id = 1;
+	
+		optional Metadata metadata = 2;	
+	}
+
+}
+
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/transform/OntologyLoaderTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/transform/OntologyLoaderTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/transform/OntologyLoaderTest.java	(revision 51225)
@@ -0,0 +1,75 @@
+package eu.dnetlib.data.transform;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.commons.lang3.StringUtils;
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Created by claudio on 12/12/2016.
+ */
+public class OntologyLoaderTest {
+
+	private String basePath = "/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/";
+
+	@Test
+	public void testLoadOntologyFromCp() {
+
+		final InputStream i = getClass().getResourceAsStream(basePath + "publication_publication_relations.xml");
+
+        Ontology o = OntologyLoader.loadOntologyFromCp(i);
+        checkOntology(o);
+
+        String providedBy = o.inverseOf("isSupplementedBy");
+        assertEquals(providedBy, "isSupplementTo");
+
+        String provides = o.inverseOf("isPartOf");
+        assertEquals(provides, "hasPart");
+    }
+
+	@Test
+	public void testLoadOntologiesFromCp() throws IOException {
+
+		OntologyLoader.loadOntologiesFromCp().values().forEach(o -> checkOntology(o));
+	}
+
+	@Test
+	public void testLoadOntologiesSerialization() throws IOException {
+
+		final Ontologies o = OntologyLoader.loadOntologiesFromCp();
+		assertNotNull(o);
+		final String json = o.toJson(true);
+
+		System.out.println(json);
+
+		assertTrue(StringUtils.isNoneBlank(json));
+
+		final Ontologies o1 = OntologyLoader.loadOntologies(json);
+
+		assertNotNull(o1);
+
+		o1.entrySet().forEach(e -> checkOntology(e.getValue()));
+	}
+
+	private void checkOntology(Ontology o) {
+		Assert.assertNotNull(o);
+		Assert.assertTrue(StringUtils.isNotBlank(o.getCode()));
+		Assert.assertTrue(StringUtils.isNotBlank(o.getDescription()));
+		Assert.assertNotNull(o.getTerms().values());
+
+		o.getTerms().values().forEach(it -> {
+			Assert.assertTrue(StringUtils.isNotBlank(it.getCode()));
+			Assert.assertTrue(StringUtils.isNotBlank(it.getEncoding()));
+			Assert.assertTrue(StringUtils.isNotBlank(it.getEnglishName()));
+			Assert.assertTrue(StringUtils.isNotBlank(it.getNativeName()));
+			Assert.assertTrue(StringUtils.isNotBlank(it.getInverseCode()));
+			Assert.assertNotNull(o.getTerms().get(it.getInverseCode()));
+		});
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/FET-context.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/FET-context.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/FET-context.xml	(revision 51225)
@@ -0,0 +1,1636 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+   <HEADER>
+      <RESOURCE_IDENTIFIER
+         value="1c2dedc3-4fac-4981-8b46-cb94adace4ee_Q29udGV4dERTUmVzb3VyY2VzL0NvbnRleHREU1Jlc291cmNlVHlwZQ=="/>
+      <RESOURCE_TYPE value="ContextDSResourceType"/>
+      <RESOURCE_KIND value="ContextDSResources"/>
+      <RESOURCE_URI value=""/>
+      <DATE_OF_CREATION value="2015-01-18T17:38:33+00:00"/>
+   </HEADER>
+   <BODY>
+      <CONFIGURATION>
+         <context type="community" id="fet-fp7" label="FET-FP7">
+            <category id="fet-fp7::open" label="FET Open" claim="false">
+               <param name="CD_DIVNAME">7.A.SP1.03.08</param>
+               <param name="CD_ABBR">ICT-2007.8.0</param>
+               <param name="CD_PARENT_DIVNAME">7.A.SP1.03</param>
+               <concept id="fet-fp7::open::450" label="Challenging current thinking"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.08</param>
+                  <param name="CD_ABBR">ICT-2009.8.0</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::open::450::245410" label="Mobility, Data Mining, and Privacy"
+                     claim="true">
+                     <param name="CD_PROJ_ID">245410</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">245410</param>
+                     <param name="CD_ACRONYM">MODAP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::249858"
+                     label="Emotional interaction grounded in realistic context" claim="true">
+                     <param name="CD_PROJ_ID">249858</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">249858</param>
+                     <param name="CD_ACRONYM">TANGO</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::249867"
+                     label="Optogenetic Neural stimulation platform" claim="true">
+                     <param name="CD_PROJ_ID">249867</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">249867</param>
+                     <param name="CD_ACRONYM">OPTONEURO</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::249958"
+                     label="The physics of Ion Coulomb Crystals: Thermodynamics, Quantum control,  and Quantum Simulators."
+                     claim="true">
+                     <param name="CD_PROJ_ID">249958</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">249958</param>
+                     <param name="CD_ACRONYM">PICC</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::250026"
+                     label="Social Interaction and Entrainment using Music PeRformance Experimentation"
+                     claim="true">
+                     <param name="CD_PROJ_ID">250026</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">250026</param>
+                     <param name="CD_ACRONYM">SIEMPRE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::250056"
+                     label="Terahertz room-temperature integrated parametric source" claim="true">
+                     <param name="CD_PROJ_ID">250056</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">250056</param>
+                     <param name="CD_ACRONYM">TREASURE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::250072" label="Integrated Quantum Sensors"
+                     claim="true">
+                     <param name="CD_PROJ_ID">250072</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">250072</param>
+                     <param name="CD_ACRONYM">ISENSE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255827" label="Computational Geometric Learning"
+                     claim="true">
+                     <param name="CD_PROJ_ID">255827</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255827</param>
+                     <param name="CD_ACRONYM">CG LEARNING</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255914"
+                     label="A Toolbox for Photon Orbital Angular Momentum Technology" claim="true">
+                     <param name="CD_PROJ_ID">255914</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255914</param>
+                     <param name="CD_ACRONYM">PHORBITECH</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255931"
+                     label="Uncertainty principles versus localization properties, function systems for efficient coding schemes"
+                     claim="true">
+                     <param name="CD_PROJ_ID">255931</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255931</param>
+                     <param name="CD_ACRONYM">UNLOCX</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255951"
+                     label="Using Local Inference in Massively Distributed Systems" claim="true">
+                     <param name="CD_PROJ_ID">255951</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255951</param>
+                     <param name="CD_ACRONYM">LIFT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255961" label="Quantum Computer Science" claim="true">
+                     <param name="CD_PROJ_ID">255961</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255961</param>
+                     <param name="CD_ACRONYM">QCS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255987" label="Forecasting Financial Crises"
+                     claim="true">
+                     <param name="CD_PROJ_ID">255987</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255987</param>
+                     <param name="CD_ACRONYM">FOC-II</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::256230" label="The Listening Talker" claim="true">
+                     <param name="CD_PROJ_ID">256230</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">256230</param>
+                     <param name="CD_ACRONYM">LISTA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::265578"
+                     label="enHanced Interference Alignment Techniques&#xA;for Unprecedented Spectral Efficiency"
+                     claim="true">
+                     <param name="CD_PROJ_ID">265578</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">265578</param>
+                     <param name="CD_ACRONYM">HIATUS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::265432"
+                     label="Enhance environmental awareness through social information technologies"
+                     claim="true">
+                     <param name="CD_PROJ_ID">265432</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">265432</param>
+                     <param name="CD_ACRONYM">EVERYAWARE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::265496"
+                     label="Statistical Mechanics Inspired Methods for Green Autonomous&#xA;Networking"
+                     claim="true">
+                     <param name="CD_PROJ_ID">265496</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">265496</param>
+                     <param name="CD_ACRONYM">STAMINA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::265505"
+                     label="Paving the Way for Future Emerging DNA-based Technologies: Computer-Aided Design and Manufacturing of DNA libraries"
+                     claim="true">
+                     <param name="CD_PROJ_ID">265505</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">265505</param>
+                     <param name="CD_ACRONYM">CADMAD</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::265522"
+                     label="Light-Matter interfaces in absence of cavities" claim="true">
+                     <param name="CD_PROJ_ID">265522</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">265522</param>
+                     <param name="CD_ACRONYM">MALICIA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::266722"
+                     label="Supermodeling by combining imperfect models" claim="true">
+                     <param name="CD_PROJ_ID">266722</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">266722</param>
+                     <param name="CD_ACRONYM">SUMO</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::266723" label="Global Systems Dynamics and Policy"
+                     claim="true">
+                     <param name="CD_PROJ_ID">266723</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">266723</param>
+                     <param name="CD_ACRONYM">GSDP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::268478"
+                     label="REVerse engineering of audio-VIsual coNtent Data" claim="true">
+                     <param name="CD_PROJ_ID">268478</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">268478</param>
+                     <param name="CD_ACRONYM">REWIND</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::270749"
+                     label="Strongly anisotropic Graphite-like semiconductor/dielectric 2D nanolattices"
+                     claim="true">
+                     <param name="CD_PROJ_ID">270749</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">270749</param>
+                     <param name="CD_ACRONYM">2D-NANOLATTICES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::270773"
+                     label="100 Gb/s Optical RAM on-chip:&#xA;Silicon-based, integrated Optical RAM enabling High-Speed Applications in Computing and Communications"
+                     claim="true">
+                     <param name="CD_PROJ_ID">270773</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">270773</param>
+                     <param name="CD_ACRONYM">RAMPLAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::270780"
+                     label="Incorporating Laughter into Human-Avatar Interactions: Research and Evaluation"
+                     claim="true">
+                     <param name="CD_PROJ_ID">270780</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">270780</param>
+                     <param name="CD_ACRONYM">ILHAIRE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::270833"
+                     label="Data Science for Simulating the Era of Electric Vehicles" claim="true">
+                     <param name="CD_PROJ_ID">270833</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">270833</param>
+                     <param name="CD_ACRONYM">DATA SIM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::270843"
+                     label="Integrated Quantum Information Technology" claim="true">
+                     <param name="CD_PROJ_ID">270843</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">270843</param>
+                     <param name="CD_ACRONYM">IQIT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::271554"
+                     label="Source of Electron Entanglement in Nano Devices" claim="true">
+                     <param name="CD_PROJ_ID">271554</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">271554</param>
+                     <param name="CD_ACRONYM">SE2ND</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::271574"
+                     label="The Innovation Society, Sustainability, and ICT" claim="true">
+                     <param name="CD_PROJ_ID">271574</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">271574</param>
+                     <param name="CD_ACRONYM">INSITE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::271578"
+                     label="Enhanced Technology for Open Intelligent Learning Environments"
+                     claim="true">
+                     <param name="CD_PROJ_ID">271578</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">271578</param>
+                     <param name="CD_ACRONYM">ETOILECASCADESIDEAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::286370"
+                     label="European Network for Social Intelligence" claim="true">
+                     <param name="CD_PROJ_ID">286370</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">286370</param>
+                     <param name="CD_ACRONYM">SINTELNET</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::open::1252" label="FET-Open Xtrack" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.30.05</param>
+                  <param name="CD_ABBR">ICT-2013.9.5</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.30</param>
+                  <concept id="fet-fp7::open::1252::613024"
+                     label="GRAPHENE-BASED SINGLE-PHOTON NONLINEAR OPTICAL DEVICES" claim="true">
+                     <param name="CD_PROJ_ID">613024</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">613024</param>
+                     <param name="CD_ACRONYM">GRASP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::613044"
+                     label="Parallel computing based on designed networks explored by self-propelled, biological agents"
+                     claim="true">
+                     <param name="CD_PROJ_ID">613044</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">613044</param>
+                     <param name="CD_ACRONYM">ABACUS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::613055"
+                     label="GErmanium MId-infrared plasmoNIcs for sensing" claim="true">
+                     <param name="CD_PROJ_ID">613055</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">613055</param>
+                     <param name="CD_ACRONYM">GEMINI</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::612759" label="Insulator Spintronics" claim="true">
+                     <param name="CD_PROJ_ID">612759</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">612759</param>
+                     <param name="CD_ACRONYM">INSPIN</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::612862"
+                     label="Hybrid Architecture for quantum Information using Rydberg ensembles and Superconductors"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612862</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">612862</param>
+                     <param name="CD_ACRONYM">HAIRS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::612933" label="RECALL: Enhanced Human Memory"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612933</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">612933</param>
+                     <param name="CD_ACRONYM">RECALL</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::612944"
+                     label="Learning from Massive, Incompletely annotated, and Structured Data"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612944</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">612944</param>
+                     <param name="CD_ACRONYM">MAESTRA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::612985"
+                     label="From Inherent Concurrency to Massive Parallelism through Type-based Optimizations"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612985</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">612985</param>
+                     <param name="CD_ACRONYM">UPSCALE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+               </concept>
+            </category>
+            <category id="fet-fp7::flagship" label="FET Flagships" claim="false">
+               <param name="CD_ABBR">ICT-2013.9.9</param>
+               <param name="CD_PARENT_DIVNAME">7.A.SP1.03.30</param>
+               <concept id="fet-fp7::flagship::966" label="FET Flagship Initiative Preparatory Actions"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.05</param>
+                  <param name="CD_ABBR">ICT-2011.9.5</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::flagship::966::284558"
+                     label="Coordination Action for Graphene-Driven Revolutions in ICT and Beyond"
+                     claim="true">
+                     <param name="CD_PROJ_ID">284558</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">284558</param>
+                     <param name="CD_ACRONYM">GRAPHENE-CA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::284709"
+                     label="The FuturICT Knowledge Accelerator: Creating Socially Interactive Information Technologies for a Sustainable Future"
+                     claim="true">
+                     <param name="CD_PROJ_ID">284709</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">284709</param>
+                     <param name="CD_ACRONYM">FUTURICT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::284891"
+                     label="FET Flagship Support for European Excellence in Information Technology"
+                     claim="true">
+                     <param name="CD_PROJ_ID">284891</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">284891</param>
+                     <param name="CD_ACRONYM">FLEET</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::284941" label="Human Brain Project" claim="true">
+                     <param name="CD_PROJ_ID">284941</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">284941</param>
+                     <param name="CD_ACRONYM">HBP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::284951"
+                     label="Coordination Action for the design and description of the FET Flagship candidate Robot Companions for Citizens"
+                     claim="true">
+                     <param name="CD_PROJ_ID">284951</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">284951</param>
+                     <param name="CD_ACRONYM">CA-ROBOCOM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::285406"
+                     label="Guardian Angels for a Smarter Life" claim="true">
+                     <param name="CD_PROJ_ID">285406</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">285406</param>
+                     <param name="CD_ACRONYM">GUARDIAN ANGELS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::285609" label="IT Future of Medicine"
+                     claim="true">
+                     <param name="CD_PROJ_ID">285609</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">285609</param>
+                     <param name="CD_ACRONYM">ITFOM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::flagship::1256" label="FET Flagships" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.30.09</param>
+                  <param name="CD_ABBR">ICT-2013.9.9</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.30</param>
+                  <concept id="fet-fp7::flagship::1256::604102" label="The Human Brain Project"
+                     claim="true">
+                     <param name="CD_PROJ_ID">604102</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">604102</param>
+                     <param name="CD_ACRONYM">HBP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.09</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::1256::604391"
+                     label="Graphene-Based Revolutions in ICT And Beyond" claim="true">
+                     <param name="CD_PROJ_ID">604391</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">604391</param>
+                     <param name="CD_ACRONYM">GRAPHENE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.09</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::1256::619318" label="FET Flagship ERA-NET"
+                     claim="true">
+                     <param name="CD_PROJ_ID">619318</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-11</param>
+                     <param name="CD_PROJECT_NUMBER">619318</param>
+                     <param name="CD_ACRONYM">FLAG-ERA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.09</param>
+                  </concept>
+               </concept>
+            </category>
+            <category id="fet-fp7::proactive" label="FET Proactive" claim="false">
+               <concept id="fet-fp7::proactive::451"
+                  label="FET proactive 1: Concurrent Tera-device Computing" claim="false">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.09</param>
+                  <param name="CD_ABBR">ICT-2009.8.1</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::451::247846"
+                     label="European Reference Tiled Architecture Experiment" claim="true">
+                     <param name="CD_PROJ_ID">247846</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">247846</param>
+                     <param name="CD_ACRONYM">EURETILE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::451::248465"
+                     label="Service-oriented Operating Systems" claim="true">
+                     <param name="CD_PROJ_ID">248465</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248465</param>
+                     <param name="CD_ACRONYM">S(O)OS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::451::248789"
+                     label="TERASCALE RELIABLE ADAPTIVE MEMORY SYSTEMS" claim="true">
+                     <param name="CD_PROJ_ID">248789</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248789</param>
+                     <param name="CD_ACRONYM">TRAMS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::451::249013"
+                     label="Exploiting dataflow parallelism in Teradevice Computing" claim="true">
+                     <param name="CD_PROJ_ID">249013</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">249013</param>
+                     <param name="CD_ACRONYM">TERAFLUX</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.09</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::452"
+                  label="FET proactive 2: Quantum Information Foundations and Technologies"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.10</param>
+                  <param name="CD_ABBR">ICT-2009.8.2</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::452::248629"
+                     label="Solid State Systems for Quantum Information Processing" claim="true">
+                     <param name="CD_PROJ_ID">248629</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248629</param>
+                     <param name="CD_ACRONYM">SOLID</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::452::247687" label="Atomic QUantum TEchnologies"
+                     claim="true">
+                     <param name="CD_PROJ_ID">247687</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">247687</param>
+                     <param name="CD_ACRONYM">AQUTE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::452::248095"
+                     label="Quantum Interfaces, Sensors and Communication based on Entanglement"
+                     claim="true">
+                     <param name="CD_PROJ_ID">248095</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248095</param>
+                     <param name="CD_ACRONYM">Q-ESSENCE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.10</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::453"
+                  label="FET Proactive 3: Bio-chemistry-based Information Technology (CHEM-IT)"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.11</param>
+                  <param name="CD_ABBR">ICT-2009.8.3</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::453::248919"
+                     label="Bacterial Computing with Engineered Populations" claim="true">
+                     <param name="CD_PROJ_ID">248919</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248919</param>
+                     <param name="CD_ACRONYM">BACTOCOM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::453::248992"
+                     label="Artificial Wet Neuronal Networks from&#xA;Compartmentalised Excitable Chemical Media"
+                     claim="true">
+                     <param name="CD_PROJ_ID">248992</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248992</param>
+                     <param name="CD_ACRONYM">NEUNEU</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::453::249032" label="Matrix for Chemical IT"
+                     claim="true">
+                     <param name="CD_PROJ_ID">249032</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">249032</param>
+                     <param name="CD_ACRONYM">MATCHIT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.11</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::454" label="FET proactive 4: Human-Computer Confluence"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.12</param>
+                  <param name="CD_ABBR">ICT-2009.8.4</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::454::257695"
+                     label="Virtual Embodiment and Robotic Re-Embodiment" claim="true">
+                     <param name="CD_PROJ_ID">257695</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257695</param>
+                     <param name="CD_ACRONYM">VERE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.12</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::454::258749"
+                     label="The Collective Experience of Empathic Data Systems" claim="true">
+                     <param name="CD_PROJ_ID">258749</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">258749</param>
+                     <param name="CD_ACRONYM">CEEDS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.12</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::745"
+                  label="FET proactive 5: Self-Awareness in Autonomic Systems" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.13</param>
+                  <param name="CD_ABBR">ICT-2009.8.5</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::745::256873"
+                     label="Self-aware Pervasive Service Ecosystems" claim="true">
+                     <param name="CD_PROJ_ID">256873</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">256873</param>
+                     <param name="CD_ACRONYM">SAPERE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.13</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::745::257414"
+                     label="Autonomic Service-Component Ensembles" claim="true">
+                     <param name="CD_PROJ_ID">257414</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257414</param>
+                     <param name="CD_ACRONYM">ASCENS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.13</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::745::257756"
+                     label="Relevance and cognition for self-awareness in a content-centric Internet"
+                     claim="true">
+                     <param name="CD_PROJ_ID">257756</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257756</param>
+                     <param name="CD_ACRONYM">RECOGNITION</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.13</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::745::257906"
+                     label="Engineering Proprioception in Computing Systems" claim="true">
+                     <param name="CD_PROJ_ID">257906</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257906</param>
+                     <param name="CD_ACRONYM">EPICS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.13</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::746" label="FET Proactive 6: Towards Zero-Power ICT"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.14</param>
+                  <param name="CD_ABBR">ICT-2009.8.6</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::746::256959"
+                     label="Nanoscale energy management for powering ICT devices" claim="true">
+                     <param name="CD_PROJ_ID">256959</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">256959</param>
+                     <param name="CD_ACRONYM">NANOPOWER</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.14</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::746::257750"
+                     label="Generate Renewable Energy Efficiently using Nanofabricated Silicon"
+                     claim="true">
+                     <param name="CD_PROJ_ID">257750</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257750</param>
+                     <param name="CD_ACRONYM">GREEN SILICON</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.14</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::746::257856"
+                     label="Semiconducting Nanowire Platform for Autonomous Sensors" claim="true">
+                     <param name="CD_PROJ_ID">257856</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257856</param>
+                     <param name="CD_ACRONYM">SINAPS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.14</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::747"
+                  label="FET proactive 7: Molecular Scale Devices and Systems" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.15</param>
+                  <param name="CD_ABBR">ICT-2009.8.7</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::747::270028"
+                     label="Atomic Scale and single Molecule Logic gate Technologies" claim="true">
+                     <param name="CD_PROJ_ID">270028</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270028</param>
+                     <param name="CD_ACRONYM">ATMOL</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.15</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::747::270197"
+                     label="Diamond based atomic nanotechnologies" claim="true">
+                     <param name="CD_PROJ_ID">270197</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270197</param>
+                     <param name="CD_ACRONYM">DIAMANT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.15</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::747::270369"
+                     label="ELectric Field control Over Spin molecules" claim="true">
+                     <param name="CD_PROJ_ID">270369</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270369</param>
+                     <param name="CD_ACRONYM">ELFOS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.15</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::747::270483"
+                     label="Single Molecule Activation and Computing" claim="true">
+                     <param name="CD_PROJ_ID">270483</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270483</param>
+                     <param name="CD_ACRONYM">FOCUS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.15</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::748" label="FET proactive 8: Brain Inspired ICT" claim="false">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.16</param>
+                  <param name="CD_ABBR">ICT-2009.8.8</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::748::269459"
+                     label="Choreographing neural networks: coupling attractor dynamics and state-dependent computations across biomimetic brain interfaces with neuromorphic VLSI"
+                     claim="true">
+                     <param name="CD_PROJ_ID">269459</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">269459</param>
+                     <param name="CD_ACRONYM">CORONET</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.16</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::748::269921"
+                     label="Brain-inspired multiscale computation in neuromorphic hybrid systems"
+                     claim="true">
+                     <param name="CD_PROJ_ID">269921</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">269921</param>
+                     <param name="CD_ACRONYM">BRAINSCALES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.16</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::748::270324"
+                     label="Seeing Better with Hybrid BSI Spatio-Temporal Silicon Retina"
+                     claim="true">
+                     <param name="CD_PROJ_ID">270324</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270324</param>
+                     <param name="CD_ACRONYM">SEEBETTER</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.16</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::748::270434"
+                     label="Realistic Real-time Networks: computation dynamics in the cerebellum"
+                     claim="true">
+                     <param name="CD_PROJ_ID">270434</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270434</param>
+                     <param name="CD_ACRONYM">REALNET</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.16</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::967"
+                  label="Unconventional Computation (UCOMP)" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.06</param>
+                  <param name="CD_ABBR">ICT-2011.9.6</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::967::316366"
+                     label="Physarum Chip: Growing Computers from Slime Mould" claim="true">
+                     <param name="CD_PROJ_ID">316366</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">316366</param>
+                     <param name="CD_ACRONYM">PHYCHIP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::317662"
+                     label="NAnoSCale Engineering for Novel Computation using Evolution (NASCENCE)"
+                     claim="true">
+                     <param name="CD_PROJ_ID">317662</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317662</param>
+                     <param name="CD_ACRONYM">NASCENCE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::317707"
+                     label="MULTI-valued and parallel molecular logic" claim="true">
+                     <param name="CD_PROJ_ID">317707</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317707</param>
+                     <param name="CD_ACRONYM">MULTI</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::318202"
+                     label="Biological and Mathematical Basis of Interaction Computing" claim="true">
+                     <param name="CD_PROJ_ID">318202</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318202</param>
+                     <param name="CD_ACRONYM">BIOMICS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::318516"
+                     label="Molecular Architectures for QCA-inspired Boolean Networks" claim="true">
+                     <param name="CD_PROJ_ID">318516</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318516</param>
+                     <param name="CD_ACRONYM">MOLARNET</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::318597"
+                     label="SYnaptic MOlecular NEtworks for Bio-inspired Information Processing"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318597</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318597</param>
+                     <param name="CD_ACRONYM">SYMONE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::318671"
+                     label="Microscale Chemically Reactive Electronic Agents" claim="true">
+                     <param name="CD_PROJ_ID">318671</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318671</param>
+                     <param name="CD_ACRONYM">MICREAGENTS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::968"
+                  label="Dynamics of Multi-Level Complex Systems (DyM-CS)"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.07</param>
+                  <param name="CD_ABBR">ICT-2011.9.7</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Hierarchical Analysis of Complex Dynamical Systems" claim="true">
+                     <param name="CD_PROJ_ID">316705</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">316705</param>
+                     <param name="CD_ACRONYM">HIERATIC</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Foundational Research on MULTIlevel comPLEX networks and systems"
+                     claim="true">
+                     <param name="CD_PROJ_ID">317532</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317532</param>
+                     <param name="CD_ACRONYM">MULTIPLEX</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Self-Organised information PrOcessing, CriticaLity and Emergence in multilevel Systems"
+                     claim="true">
+                     <param name="CD_PROJ_ID">317534</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317534</param>
+                     <param name="CD_ACRONYM">SOPHOCLES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Mathematical framework for multiplex networks" claim="true">
+                     <param name="CD_PROJ_ID">317614</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317614</param>
+                     <param name="CD_ACRONYM">PLEXMATH</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Dynamics and COevolution in Multi-Level Strategic INteraction GAmeS"
+                     claim="true">
+                     <param name="CD_PROJ_ID">317672</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317672</param>
+                     <param name="CD_ACRONYM">CONGAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Topology driven methods for complex systems" claim="true">
+                     <param name="CD_PROJ_ID">318121</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318121</param>
+                     <param name="CD_ACRONYM">TOPDRIM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="multi-LAyer SpAtiotemporal Generalized NEtworks" claim="true">
+                     <param name="CD_PROJ_ID">318132</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318132</param>
+                     <param name="CD_ACRONYM">LASAGNE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::" label="Topological Complex Systems"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318493</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318493</param>
+                     <param name="CD_ACRONYM">TOPOSYS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="MATHEmatics of Multi-level Anticipatory Complex Systems" claim="true">
+                     <param name="CD_PROJ_ID">318723</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318723</param>
+                     <param name="CD_ACRONYM">MATHEMACS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::969"
+                  label="Minimising Energy Consumption of Computing to the Limit (MINECC)"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.08</param>
+                  <param name="CD_ABBR">ICT-2011.9.8</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::969::318013"
+                     label="Ultra-Low-Power Holistic Design for Smart Biosignals Computing Platforms"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318013</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318013</param>
+                     <param name="CD_ACRONYM">PHIDIAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318287"
+                     label="Operating ICT basic switches below the Landauer limit" claim="true">
+                     <param name="CD_PROJ_ID">318287</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318287</param>
+                     <param name="CD_ACRONYM">LANDAUER</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318337"
+                     label="Whole-Systems Energy Transparency" claim="true">
+                     <param name="CD_PROJ_ID">318337</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318337</param>
+                     <param name="CD_ACRONYM">ENTRA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318397" label="Towards Low Power ICT"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318397</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318397</param>
+                     <param name="CD_ACRONYM">TOLOP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318490"
+                     label="Self Energy-Supporting Autonomous Computation" claim="true">
+                     <param name="CD_PROJ_ID">318490</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318490</param>
+                     <param name="CD_ACRONYM">SENSATION</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318693"
+                     label="Parallel Distributed Infrastructure for Minimization of Energy"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318693</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318693</param>
+                     <param name="CD_ACRONYM">PARADIME</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318793"
+                     label="Energy-Aware Sustainable Computing on Future&#xA;Technology – Paving the Road to Exascale Computing"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318793</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318793</param>
+                     <param name="CD_ACRONYM">EXA2GREEN</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::970"
+                  label="Quantum ICT (QICT) including ERA-NET-Plus" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.09</param>
+                  <param name="CD_ABBR">ICT-2011.9.9</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::970::21179"
+                     label="Simulators and Interfaces with Quantum Systems" claim="true">
+                     <param name="CD_PROJ_ID">600645</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600645</param>
+                     <param name="CD_ACRONYM">SIQS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::970::21186" label="Quantum Algorithmics" claim="true">
+                     <param name="CD_PROJ_ID">600700</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600700</param>
+                     <param name="CD_ACRONYM">QALGO</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::970::21203"
+                     label="Quantum Waveguides Application and Development" claim="true">
+                     <param name="CD_PROJ_ID">600838</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600838</param>
+                     <param name="CD_ACRONYM">QWAD</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::970::21218"
+                     label="Scalable Superconducting Processors for Entangled Quantum Information Technology"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600927</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600927</param>
+                     <param name="CD_ACRONYM">SCALEQIT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::970::21238"
+                     label="Hybrid Artificial and Natural Atomic Systems" claim="true">
+                     <param name="CD_PROJ_ID">601126</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601126</param>
+                     <param name="CD_ACRONYM">HANAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::970::21246"
+                     label="A Guided Matter-Wave Interferometer on a Atom-Chip" claim="true">
+                     <param name="CD_PROJ_ID">601180</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601180</param>
+                     <param name="CD_ACRONYM">MATTERWAVE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::971"
+                  label="Fundamentals of Collective Adaptive Systems (FOCAS)"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.10</param>
+                  <param name="CD_ABBR">ICT-2011.9.10</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::971::600654"
+                     label="DIVERSIFY : Ecology-inspired software diversity for distributed adaptation in CAS"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600654</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600654</param>
+                     <param name="CD_ACRONYM">DIVERSIFY</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::600708"
+                     label="A Quantitative Approach to Management and Design of Collective and Adaptive Behaviours"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600708</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600708</param>
+                     <param name="CD_ACRONYM">QUANTICOL</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::600792" label="ALLOW Ensembles" claim="true">
+                     <param name="CD_PROJ_ID">600792</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600792</param>
+                     <param name="CD_ACRONYM">ALLOW ENSEMBLES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::600854"
+                     label="Hybrid and Diversity-Aware Collective Adaptive Systems: When People Meet Machines to Build a Smarter Society"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600854</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600854</param>
+                     <param name="CD_ACRONYM">SMARTSOCIETY</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::601062"
+                     label="A theoretical framework for swarms of GRN-controlled agents which display adaptive tissue-like organisation"
+                     claim="true">
+                     <param name="CD_PROJ_ID">601062</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601062</param>
+                     <param name="CD_ACRONYM">SWARM-ORGAN</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::601074"
+                     label="Animal and robot Societies Self-organise and Integrate by Social Interaction"
+                     claim="true">
+                     <param name="CD_PROJ_ID">601074</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601074</param>
+                     <param name="CD_ACRONYM">ASSISI_BF</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::601148"
+                     label="Collective Adaptive System SynThesIs with Non-zero-sum Games"
+                     claim="true">
+                     <param name="CD_PROJ_ID">601148</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601148</param>
+                     <param name="CD_ACRONYM">CASSTING</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::972"
+                  label="Neuro-Bio-Inspired Systems (NBIS)" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.11</param>
+                  <param name="CD_ABBR">ICT-2011.9.11</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::972::600725"
+                     label="Grid cells: From brains to technical implementation" claim="true">
+                     <param name="CD_PROJ_ID">600725</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600725</param>
+                     <param name="CD_ACRONYM">GRIDMAP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600730"
+                     label="Electromagnetic detection of neural activity at cellular resolution"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600730</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600730</param>
+                     <param name="CD_ACRONYM">MAGNETRODES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600785" label="Spatial Cognition" claim="true">
+                     <param name="CD_PROJ_ID">600785</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600785</param>
+                     <param name="CD_ACRONYM">SPACECOG</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600806"
+                     label="Computations and Organization of Retes Through the Interaction of&#xA;Computational, Optical and Neurophysiological Investigations of the Cerebral cortex"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600806</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600806</param>
+                     <param name="CD_ACRONYM">CORTICONIC</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600847"
+                     label="Retina-inspired ENcoding for advanced VISION tasks" claim="true">
+                     <param name="CD_PROJ_ID">600847</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600847</param>
+                     <param name="CD_ACRONYM">RENVISION</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600925"
+                     label="Investigation of local and global cortical circuits with advanced neural probes for high-resolution electrophysiological monitoring and optogenetic stimulation"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600925</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600925</param>
+                     <param name="CD_ACRONYM">NEUROSEEKER</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600954"
+                     label="VISUAL MODELLING USING GANGLION CELLS" claim="true">
+                     <param name="CD_PROJ_ID">600954</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600954</param>
+                     <param name="CD_ACRONYM">VISUALISE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::601167"
+                     label="Convergence Science Network of Biomimetics and NeuroTechnology"
+                     claim="true">
+                     <param name="CD_PROJ_ID">601167</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601167</param>
+                     <param name="CD_ACRONYM">CSNII</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::601215"
+                     label="Emulating the C. elegans nervous system: A blueprint for brain-inspired computational architectures"
+                     claim="true">
+                     <param name="CD_PROJ_ID">601215</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601215</param>
+                     <param name="CD_ACRONYM">SI ELEGANS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::1253"
+                  label="Evolving Living Technologies (EVLIT)" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.30.06</param>
+                  <param name="CD_ABBR">ICT-2013.9.6</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.30</param>
+                  <concept id="fet-fp7::proactive::1253::611640"
+                     label="Technological Evolution of Synergy Between Physicochemical and Living Systems"
+                     claim="true">
+                     <param name="CD_PROJ_ID">611640</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">611640</param>
+                     <param name="CD_ACRONYM">EVOBLISS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1253::610427" label="Evolution of Evolution"
+                     claim="true">
+                     <param name="CD_PROJ_ID">610427</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">610427</param>
+                     <param name="CD_ACRONYM">EVOEVO</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1253::610730"
+                     label="General-Purpose Programmable Evolution Machine on a Chip" claim="true">
+                     <param name="CD_PROJ_ID">610730</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">610730</param>
+                     <param name="CD_ACRONYM">EVOPROG</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1253::611687"
+                     label="NEurocontrolled BIdirectional Artificial upper limb and hand prosthesiS"
+                     claim="true">
+                     <param name="CD_PROJ_ID">611687</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">611687</param>
+                     <param name="CD_ACRONYM">NEBIAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1253::612058"
+                     label="Real neurons-nanoelectronics Architecture with Memristive Plasticity"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612058</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">612058</param>
+                     <param name="CD_ACRONYM">RAMP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1253::612146"
+                     label="Engineering multicellular biocircuits: programming cell-cell communication using plasmids as wires"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612146</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">612146</param>
+                     <param name="CD_ACRONYM">PLASWIRES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::1254"
+                  label="Atomic and Molecular Scale Devices and Systems" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.30.07</param>
+                  <param name="CD_ABBR">ICT-2013.9.7</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.30</param>
+                  <concept id="fet-fp7::proactive::1254::22452"
+                     label="Planar Atomic and Molecular Scale devices" claim="false">
+                     <param name="CD_PROJ_ID">610446</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">610446</param>
+                     <param name="CD_ACRONYM">PAMS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1254::22453" label="Molecular Quantum Spintronics" claim="false">
+                     <param name="CD_PROJ_ID">610449</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">610449</param>
+                     <param name="CD_ACRONYM">MOQUAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1254::22488"
+                     label="Silicon at the Atomic and Molecular scale" claim="false">
+                     <param name="CD_PROJ_ID">610637</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">610637</param>
+                     <param name="CD_ACRONYM">SIAM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1254::22574"
+                     label="DIAmond Devices Enabled Metrology and Sensing" claim="false">
+                     <param name="CD_PROJ_ID">611143</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">611143</param>
+                     <param name="CD_ACRONYM">DIADEMS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.07</param>
+                  </concept>
+               </concept>
+            </category>
+         </context>
+      </CONFIGURATION>
+      <STATUS/>
+      <SECURITY_PARAMETERS/>
+   </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/RepositoryServiceResources/RepositoryServiceResourceType/bootstrap-entityreg.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/RepositoryServiceResources/RepositoryServiceResourceType/bootstrap-entityreg.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/RepositoryServiceResources/RepositoryServiceResourceType/bootstrap-entityreg.xml	(revision 51225)
@@ -0,0 +1,84 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="07465671-636a-4d26-bb4c-6ac49747e9e3_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+        <RESOURCE_KIND value="RepositoryServiceResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-10-14T14:14:56+02:00"/>
+        <PROTOCOL/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <DATASOURCE_TYPE>entityregistry</DATASOURCE_TYPE>
+            <DATASOURCE_ORIGINAL_ID provenance="OPENAIRE">openaire____::bootstrap</DATASOURCE_ORIGINAL_ID>
+            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+            <ENVIRONMENTS>
+                <ENVIRONMENT>OPENAIRE</ENVIRONMENT>
+            </ENVIRONMENTS>
+            <TYPOLOGY/>
+            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+            <OFFICIAL_NAME>OpenAIRE Bootstrap</OFFICIAL_NAME>
+            <ENGLISH_NAME>OpenAIRE Bootstrap</ENGLISH_NAME>
+            <ICON_URI>http://www.openaire.eu/images/stories/logo_openaire.png</ICON_URI>
+            <COUNTRY/>
+            <LOCATION>
+                <LONGITUDE>0.0</LONGITUDE>
+                <LATITUDE>0.0</LATITUDE>
+                <TIMEZONE>0.0</TIMEZONE>
+            </LOCATION>
+            <REPOSITORY_WEBPAGE>http://www.openaire.eu/</REPOSITORY_WEBPAGE>
+            <REPOSITORY_INSTITUTION/>
+            <ADMIN_INFO>michele.artini@isti.cnr.it</ADMIN_INFO>
+            <INTERFACES>
+                <INTERFACE id="bootstrap_entityregistry_api" label="Bootstrap entityRegistry API" typology="entityregistry" active="false" removable="false" compliance="native" contentDescription="metadata">
+                    <ACCESS_PROTOCOL header="true" separator="\t">CSVFileSystem</ACCESS_PROTOCOL>
+                    <BASE_URL>file:///home/xxxx</BASE_URL>
+                </INTERFACE>
+            </INTERFACES>
+            <EXTRA_FIELDS>
+                <FIELD>
+                    <key>OpenAireDataSourceId</key>
+                    <value>openaire____::bootstrap</value>
+                </FIELD>
+                <FIELD>
+                    <key>NamespacePrefix</key>
+                    <value>openaire____</value>
+                </FIELD>
+                <FIELD>
+                    <key>VERIFIED</key>
+                    <value>NO</value>
+                </FIELD>
+                <FIELD>
+                    <key>aggregatorName</key>
+                    <value>OPENAIRE</value>
+                </FIELD>
+                <FIELD>
+                    <key>dateOfValidation</key>
+                    <value/>
+                </FIELD>
+                <FIELD>
+                    <key>dateOfCollection</key>
+                    <value>2013-05-07</value>
+                </FIELD>
+                <FIELD>
+                    <key>mergeHomonyms</key>
+                    <value>true</value>
+                </FIELD>
+            </EXTRA_FIELDS>
+            <REGISTERED_BY>michele.artini@isti.cnr.it</REGISTERED_BY>
+        </CONFIGURATION>
+        <STATUS>
+            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+            <LAST_UPDATE value="2013-10-14T14:14:43Z"/>
+        </STATUS>
+        <QOS>
+            <AVAILABILITY>0</AVAILABILITY>
+            <CAPACITY/>
+            <THROUGHPUT>0.0</THROUGHPUT>
+        </QOS>
+        <SECURITY_PARAMETERS/>
+        <BLACKBOARD/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRelDecoderTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRelDecoderTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRelDecoderTest.java	(revision 51225)
@@ -0,0 +1,28 @@
+package eu.dnetlib.data.mapreduce.util;
+
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+@Ignore
+public class DNGFRelDecoderTest {
+
+	private DNGFRel dngfRel;
+
+	@Before
+	public void setUp() {
+		//dngfRel = DNGFTest.getPersonPublication("ID_1", "ID_2", "1", "isAuthor");
+	}
+
+	@Test
+	public void testSetClass() {
+
+	}
+
+	@Test
+	public void testGetCF() {
+
+    }
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-classes.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-classes.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-classes.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="7a732071-a3ff-4f2b-8457-4ad7586c2315_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:06+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-document-classes">iis-document-classes</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.fo.json
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.fo.json	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.fo.json	(revision 51225)
@@ -0,0 +1,443 @@
+{
+  "id": "30|dedup_wf_001::e78059705c3885a10440c8021afbdd4a",
+  "author": {
+    "frequency": 6,
+    "id": "30|od______2294::9897283f935d7c2f4c11cebf65ae3098",
+    "fullname": "Manghi, Paolo",
+    "firstname": "Paolo",
+    "secondnames": "Manghi"
+  },
+  "merged": [
+    {
+      "id": "30|od______2294::9897283f935d7c2f4c11cebf65ae3098",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "id": "30|doaj10829873::6cff63f7eafbb51fd6a1c268f4f0227f",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "id": "30|od______2367::9897283f935d7c2f4c11cebf65ae3098",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "id": "30|doaj10829873::f67c45f3bd4e4e4c4942a373799e0457",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "id": "30|doaj10829873::39a29e7c15e04cdef8aecaa062b4f000",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "id": "30|doaj10829873::f9b4de41343d956271d88f93ba68c31d",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    }
+  ],
+  "coAuthors": [
+    {
+      "anchorId": "30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b",
+      "id": "30|od_______307::e0c601b1613eec62abb99e2591168fba",
+      "fullname": "Rodrigues, Eloy",
+      "firstname": "Eloy",
+      "secondnames": "Rodrigues"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::73aac4e0ca21747def81773cdf242152",
+      "id": "30|od______2367::069aab4b3defa55d5fb573838e54ed10",
+      "fullname": "Werf, Titia",
+      "firstname": "Titia",
+      "secondnames": "Werf"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::cd493693f2e04159d419cfbea6042944",
+      "id": "30|doaj10829873::0acf7cdc45040bd02482b94760af9db5",
+      "fullname": "Smith, Tim",
+      "firstname": "Tim",
+      "secondnames": "Smith"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::4867c41ae4006a89a4e00fa5b2ace526",
+      "id": "30|od______2294::717184cb6436add31e3ce0ba86ba2476",
+      "fullname": "Katifori, Akrivi",
+      "firstname": "Akrivi",
+      "secondnames": "Katifori"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d17df318b8ab8b17ac2b016767e183b4",
+      "id": "30|od______2367::d24f772460583eb514d0465f77f15030",
+      "fullname": "Rettberg, Najla",
+      "firstname": "Najla",
+      "secondnames": "Rettberg"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d",
+      "id": "30|od______2367::ef2914f870d83e32764f2e0db122d0c4",
+      "fullname": "Houssos, Nikos",
+      "firstname": "Nikos",
+      "secondnames": "Houssos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::ce0c9316f1d270fe7c021ac010378189",
+      "id": "30|od______2294::ef2914f870d83e32764f2e0db122d0c4",
+      "fullname": "Houssos, Nikos",
+      "firstname": "Nikos",
+      "secondnames": "Houssos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::271f098792b54069a4d77b4fee16b354",
+      "id": "30|od______2294::217bb36de851aacdeae92250959e5af9",
+      "fullname": "Schmidt, Birgit",
+      "firstname": "Birgit",
+      "secondnames": "Schmidt"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::19651c25c06f8ddbf8fb582efa51bb10",
+      "id": "30|od______2367::c48a8036130fc6f9a73348ba3be40041",
+      "fullname": "Biagini, Federico",
+      "firstname": "Federico",
+      "secondnames": "Biagini"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774",
+      "id": "30|od______2367::44afefb40235eadaa9424f735dc569ad",
+      "fullname": "Schirrwagen, Jochen",
+      "firstname": "Jochen",
+      "secondnames": "Schirrwagen"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
+      "id": "30|doaj10829873::269dbf736b973d298160217072f127bd",
+      "fullname": "Candela, Leonardo",
+      "firstname": "Leonardo",
+      "secondnames": "Candela"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999",
+      "id": "30|od______2367::a93eb6a6cbfce5bcdf86cb743f788077",
+      "fullname": "Castelli, Donatella",
+      "firstname": "Donatella",
+      "secondnames": "Castelli"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::731b5090d3f9c6dac58ad770b1a29e13",
+      "id": "30|doaj10829873::c6cc48d8aa310a1d2c87f5df7c5576bb",
+      "fullname": "Bardi, Alessia",
+      "firstname": "Alessia",
+      "secondnames": "Bardi"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a",
+      "id": "30|od______2367::9c743b25e78b06608d4214ba18f92690",
+      "fullname": "Bolikowski, Lukasz",
+      "firstname": "Lukasz",
+      "secondnames": "Bolikowski"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d71c73319eda487f9b56e860e2c1794f",
+      "id": "30|od______2367::c11bdd64efcd19316ef10c1967392565",
+      "fullname": "Peters, Dale",
+      "firstname": "Dale",
+      "secondnames": "Peters"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::2c561a4cbd689f4729324744fb046995",
+      "id": "30|doaj10829873::80724b7b737d6c51b3733eaf9da4b605",
+      "fullname": "Mikulicic, Marko",
+      "firstname": "Marko",
+      "secondnames": "Mikulicic"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::cd493693f2e04159d419cfbea6042944",
+      "id": "30|od______2367::b340050a287b2601d330547261fe82bc",
+      "fullname": "Smith, Tim",
+      "firstname": "Tim",
+      "secondnames": "Smith"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774",
+      "id": "30|od______2294::44afefb40235eadaa9424f735dc569ad",
+      "fullname": "Schirrwagen, Jochen",
+      "firstname": "Jochen",
+      "secondnames": "Schirrwagen"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::f41b3d7b95be894f9bd7a30b08f50313",
+      "id": "30|od______2294::45f6127ede0d24d16a5007ceff0a2d4b",
+      "fullname": "Horstmann, Wolfram",
+      "firstname": "Wolfram",
+      "secondnames": "Horstmann"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19",
+      "id": "30|od______2367::08fc98b1a1e2e2de97e3ecdd1b8174d0",
+      "fullname": "Pagano, Pasquale",
+      "firstname": "Pasquale",
+      "secondnames": "Pagano"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5",
+      "id": "30|od______2367::c68257b7b29d6c1b372856f371e3ba24",
+      "fullname": "Manola, Natalia",
+      "firstname": "Natalia",
+      "secondnames": "Manola"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
+      "id": "30|od______2367::8fd116733ee055e8bee96e422b4142ca",
+      "fullname": "Candela, Leonardo",
+      "firstname": "Leonardo",
+      "secondnames": "Candela"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::4867c41ae4006a89a4e00fa5b2ace526",
+      "id": "30|od______2367::717184cb6436add31e3ce0ba86ba2476",
+      "fullname": "Katifori, Akrivi",
+      "firstname": "Akrivi",
+      "secondnames": "Katifori"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::2c561a4cbd689f4729324744fb046995",
+      "id": "30|od______2367::fe0e336ba013e433486e92b8e30435c1",
+      "fullname": "Mikulicic, Marko",
+      "firstname": "Marko",
+      "secondnames": "Mikulicic"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
+      "id": "30|od______2294::8fd116733ee055e8bee96e422b4142ca",
+      "fullname": "Candela, Leonardo",
+      "firstname": "Leonardo",
+      "secondnames": "Candela"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::ef5fbc9697bc7bf23f9cedc92f855466",
+      "id": "30|od______2367::7aab6e55da61a2f412b9764e3554154a",
+      "fullname": "Assante, Massimiliano",
+      "firstname": "Massimiliano",
+      "secondnames": "Assante"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774",
+      "id": "30|doaj10829873::6bb80887219a5ea64915d84d373e3eb5",
+      "fullname": "Schirrwagen, Jochen",
+      "firstname": "Jochen",
+      "secondnames": "Schirrwagen"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::ca57380f88fb4920d67e024c0af0c715",
+      "id": "30|od______2294::2ca703acc4dd66064135c1afc5e976b8",
+      "fullname": "Horst, Marek",
+      "firstname": "Marek",
+      "secondnames": "Horst"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::2317e62318581e89976523d2553977e2",
+      "id": "30|od______2367::545b78ed508339ab728beee05f312db1",
+      "fullname": "Zoppi, Franco",
+      "firstname": "Franco",
+      "secondnames": "Zoppi"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::152c124f2f79b57d16500a3b8a63b93c",
+      "id": "30|od______2367::ee0556ce5974761280b8be0812a586b3",
+      "fullname": "Bolikowski, Å<U+0081>ukasz",
+      "firstname": "Å<U+0081>ukasz",
+      "secondnames": "Bolikowski"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999",
+      "id": "30|doaj10829873::a3c59fe161823ef7fadbd1bb216c34bb",
+      "fullname": "Castelli, Donatella",
+      "firstname": "Donatella",
+      "secondnames": "Castelli"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::731b5090d3f9c6dac58ad770b1a29e13",
+      "id": "30|od______2367::3fbd0b3533bd0e6089c1fe68b115f772",
+      "fullname": "Bardi, Alessia",
+      "firstname": "Alessia",
+      "secondnames": "Bardi"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19",
+      "id": "30|doaj10829873::9e7037bbf8b59564442aa12b6b424747",
+      "fullname": "Pagano, Pasquale",
+      "firstname": "Pasquale",
+      "secondnames": "Pagano"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::eacced7c9132e343948bf51698a1c927",
+      "id": "30|od______2367::22272e3e38161be671abad3f27c68e36",
+      "fullname": "Mikulic, Marko",
+      "firstname": "Marko",
+      "secondnames": "Mikulic"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5",
+      "id": "30|od______2294::c68257b7b29d6c1b372856f371e3ba24",
+      "fullname": "Manola, Natalia",
+      "firstname": "Natalia",
+      "secondnames": "Manola"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::f41b3d7b95be894f9bd7a30b08f50313",
+      "id": "30|od______2367::45f6127ede0d24d16a5007ceff0a2d4b",
+      "fullname": "Horstmann, Wolfram",
+      "firstname": "Wolfram",
+      "secondnames": "Horstmann"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::ca57380f88fb4920d67e024c0af0c715",
+      "id": "30|od______2367::2ca703acc4dd66064135c1afc5e976b8",
+      "fullname": "Horst, Marek",
+      "firstname": "Marek",
+      "secondnames": "Horst"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::7b1fe51141418a62b56f9c3bd5bccaa7",
+      "id": "30|od______2367::2638f44b18089930e67bbd5633f9b103",
+      "fullname": "Debole, Franca",
+      "firstname": "Franca",
+      "secondnames": "Debole"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d17df318b8ab8b17ac2b016767e183b4",
+      "id": "30|od______2294::d24f772460583eb514d0465f77f15030",
+      "fullname": "Rettberg, Najla",
+      "firstname": "Najla",
+      "secondnames": "Rettberg"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19",
+      "id": "30|doaj10829873::b3795485a89b87aabeff16b81f2ff24d",
+      "fullname": "Pagano, Pasquale",
+      "firstname": "Pasquale",
+      "secondnames": "Pagano"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d71c73319eda487f9b56e860e2c1794f",
+      "id": "30|od______2294::c11bdd64efcd19316ef10c1967392565",
+      "fullname": "Peters, Dale",
+      "firstname": "Dale",
+      "secondnames": "Peters"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::9bfaee15b25e210ab56dfa6f57c6417e",
+      "id": "30|od______2367::81d934153eb100552ef4b398e243dd45",
+      "fullname": "La Bruzzo, Sandro",
+      "firstname": "Sandro",
+      "secondnames": "La Bruzzo"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a",
+      "id": "30|doaj10829873::2abbf092ab99aaaf0a52969141fc0070",
+      "fullname": "Bolikowski, Lukasz",
+      "firstname": "Lukasz",
+      "secondnames": "Bolikowski"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::cd493693f2e04159d419cfbea6042944",
+      "id": "30|od______2294::b340050a287b2601d330547261fe82bc",
+      "fullname": "Smith, Tim",
+      "firstname": "Tim",
+      "secondnames": "Smith"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::2d413333206599ee864738c521dbe5b3",
+      "id": "30|od______2367::39c67e010b85a6a79e54e94b2a789221",
+      "fullname": "Savino, Pasquale",
+      "firstname": "Pasquale",
+      "secondnames": "Savino"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
+      "id": "30|doaj10829873::515b938f185f85e1a91849337310c4b7",
+      "fullname": "Candela, Leonardo",
+      "firstname": "Leonardo",
+      "secondnames": "Candela"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::c4d99fedf82781b5cae2225cf8049426",
+      "id": "30|od______2294::e931b1326351ef5b3bb2b89f3fc4244c",
+      "fullname": "Kobos, Mateusz",
+      "firstname": "Mateusz",
+      "secondnames": "Kobos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5",
+      "id": "30|doaj10829873::d4df586c008bca6df713f84070d3e1c3",
+      "fullname": "Manola, Natalia",
+      "firstname": "Natalia",
+      "secondnames": "Manola"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::152c124f2f79b57d16500a3b8a63b93c",
+      "id": "30|od______2294::029cfdbbd0fcb888f4efbfe1dde81721",
+      "fullname": "Bolikowski, Łukasz",
+      "firstname": "Łukasz",
+      "secondnames": "Bolikowski"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::7b9bd8e96778de90c911e0fcc8821bcc",
+      "id": "30|od______2367::c96e9db5145834320c37332ef96802f6",
+      "fullname": "Artini, Michele",
+      "firstname": "Michele",
+      "secondnames": "Artini"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a",
+      "id": "30|od______2294::9c743b25e78b06608d4214ba18f92690",
+      "fullname": "Bolikowski, Lukasz",
+      "firstname": "Lukasz",
+      "secondnames": "Bolikowski"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999",
+      "id": "30|doaj10829873::347ee2414e420e4aec5395146956d8c0",
+      "fullname": "Castelli, Donatella",
+      "firstname": "Donatella",
+      "secondnames": "Castelli"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::5850f94defb717ab4e7be63e6d4d2d12",
+      "id": "30|od______2367::de34cde81e9e864703f58d615ea0cf69",
+      "fullname": "Siebinga, Sjoerd",
+      "firstname": "Sjoerd",
+      "secondnames": "Siebinga"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::271f098792b54069a4d77b4fee16b354",
+      "id": "30|od______2367::217bb36de851aacdeae92250959e5af9",
+      "fullname": "Schmidt, Birgit",
+      "firstname": "Birgit",
+      "secondnames": "Schmidt"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::ca57ee88d3a6d5e2908b09c5aae07f97",
+      "id": "30|od______2367::ddd745ebf411904db3cd353539f6e079",
+      "fullname": "Mieldijk, Mario",
+      "firstname": "Mario",
+      "secondnames": "Mieldijk"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::c4d99fedf82781b5cae2225cf8049426",
+      "id": "30|od______2367::e931b1326351ef5b3bb2b89f3fc4244c",
+      "fullname": "Kobos, Mateusz",
+      "firstname": "Mateusz",
+      "secondnames": "Kobos"
+    }
+  ],
+  "anchor": true
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-preprocessing.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-preprocessing.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-preprocessing.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="95c14b4a-8d3b-4726-88fe-a08d3d671d39_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T17:27:12+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-referenced-projects-preprocessing">iis-referenced-projects-preprocessing</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T17:27:12+00:00" creationDate="2014-11-17T13:20:05+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.full.pace.conf
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.full.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.full.pace.conf	(revision 51225)
@@ -0,0 +1,51 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "result", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "result" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {		
+		"clustering" : [
+			{ "name" : "acronyms", "fields" : [ "title" ], "params" : { "max" : "1", "minLen" : "2", "maxLen" : "4"} },
+			{ "name" : "ngrampairs", "fields" : [ "title" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+			{ "name" : "suffixprefix", "fields" : [ "title" ], "params" : { "max" : "1", "len" : "3" } } 
+		],		
+		"conditions" : [
+  			{ "name" : "yearMatch", "fields" : [ "dateofacceptance" ] },
+  			{ "name" : "titleVersionMatch", "fields" : [ "title" ] },
+  			{ "name" : "sizeMatch", "fields" : [ "authors" ] } ,
+				{ "name" : "pidMatch", "fields" : [ "pid" ] }
+  		],		
+		"model" : [
+			{ "name" : "pid", "algo" : "Null", "type" : "JSON", "weight" : "0.0", "ignoreMissing" : "true", "path" : "pid", "overrideMatch" : "true" },
+			{ "name" : "title", "algo" : "JaroWinkler", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "publication/metadata/title[qualifier#classid = {main title}]/value" },
+			{ "name" : "dateofacceptance", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "publication/metadata/dateofacceptance/value" } ,
+			{ "name" : "authors", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "publication/author/metadata/fullname/value" }
+		],
+		"blacklists" : {
+			"title" : [
+				"^(Corpus Oral Dialectal \\(COD\\)\\.).*$",
+				"^(Kiri Karl Morgensternile).*$",
+				"^(\\[Eksliibris Aleksandr).*\\]$",
+				"^(\\[Eksliibris Aleksandr).*$",
+				"^(Eksliibris Aleksandr).*$",
+				"^(Kiri A\\. de Vignolles).*$",
+				"^(2 kirja Karl Morgensternile).*$",
+				"^(Pirita kloostri idaosa arheoloogilised).*$",
+				"^(Kiri tundmatule).*$",
+				"^(Kiri Jenaer Allgemeine Literaturzeitung toimetusele).*$",
+				"^(Eksliibris Nikolai Birukovile).*$",
+				"^(Eksliibris Nikolai Issakovile).*$",
+				"^(WHP Cruise Summary Information of section).*$",
+				"^(Measurement of the top quark\\-pair production cross section with ATLAS in pp collisions at).*$",
+				"^(Measurement of the spin\\-dependent structure function).*"
+			] } 		
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/dataset.step.01.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/dataset.step.01.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/dataset.step.01.xml	(revision 51225)
@@ -0,0 +1,46 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c24801f5-7366-4a4d-9867-c8827ed0e724_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+	        <DESCRIPTION>1 - Dataset: Match against the description</DESCRIPTION>
+            <DEDUPLICATION>
+ 			{ 
+				"wf" : { 
+			        "threshold" : "0.90",
+			        "dedupRun" : "001", 
+			        "entityType" : "dataset",
+			        "orderField" : "title", 
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "dataset", "personDataset_authorship_hasAuthor", "datasetProject_outcome_isProducedBy", "datasetDataset_isRelatedTo_isRelatedTo" ],
+			        "includeChildren" : "true" 
+			    },
+				"pace" : {		
+					"clustering" : [
+						{ "name" : "ngrampairs", "fields" : [ "title" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+						{ "name" : "suffixprefix", "fields" : [ "title" ], "params" : { "max" : "1", "len" : "3" } } 
+					],	
+			  		"conditions" : [ 
+			  		],
+					"model" : [
+			            { "name" : "title", "algo" : "LevensteinTitle", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "dataset/metadata/title/value" },
+						{ "name" : "description", "algo" : "Level2Levenstein", "type" : "String", "weight" : "1.0", "ignoreMissing" : "true", "path" : "dataset/metadata/description/value" }
+					],
+					"blacklists" : {}
+				}
+			}
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/person.pace.conf
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/person.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/person.pace.conf	(revision 51225)
@@ -0,0 +1,50 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "person", 
+        "orderField" : "person", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "person" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {
+	  		"conditions" : [
+  		 ],		
+		"model" : [	
+			{ "name" : "fullname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person/metadata/fullname/value", "params" : { } },
+			{ "name" : "coanchors", "algo" : "PersonCoAnchorsDistance", "type" : "JSON", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person", "params" : { "common.anchors" : "1" } },
+			{ "name" : "coauthorsurnames", "algo" : "PersonCoAuthorSurnamesDistance", "type" : "JSON", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person", "params" : { "common.surnames" : "4" } },
+			{ "name" : "lastname", "algo" : "Null", "type" : "String", "weight" : "0", "ignoreMissing" : "true", "path" : "person/metadata/secondnames/value" }
+		],
+		"blacklists" : { 
+			"lastname" : [
+				"(?i)^wang$",
+				"(?i)^~wang$",
+				"(?i)^zhang$",
+				"(?i)^zhou$",
+				"(?i)^zhao$",				
+				"(?i)^li$",
+				"(?i)^~li$",
+				"(?i)^liu$",
+				"(?i)^chen$",
+				"(?i)^yang$",
+				"(?i)^kim$",
+				"(?i)^xu$",
+				"(?i)^huang$",
+				"(?i)^sun$",
+				"(?i)^lee$",
+				"(?i)^ma$",
+				"(?i)^kim$",
+				"(?i)^hu$",
+				"(?i)^wu$",				
+				"(?i)^zhu$",
+				"(?i)^lu$"
+			]
+		
+		} 		
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/actionmanager/actions/ActionFactoryTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/actionmanager/actions/ActionFactoryTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/actionmanager/actions/ActionFactoryTest.java	(revision 51225)
@@ -0,0 +1,188 @@
+package eu.dnetlib.data.actionmanager.actions;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.xml.transform.TransformerException;
+
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.ActionManagerException;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.Agent;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.Operation;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.Provenance;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.ActionFactory;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.AtomicAction;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.XsltInfoPackageAction;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.springframework.core.io.Resource;
+
+import static org.junit.Assert.*;
+
+@RunWith(MockitoJUnitRunner.class)
+public class ActionFactoryTest {
+
+	private static final Log log = LogFactory.getLog(ActionFactoryTest.class);
+	private static String basePathProfiles = "/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/";
+	private final static Agent agent = new Agent("agentId", "agentName", Agent.AGENT_TYPE.algo);
+	private final static String trust = "0.9";
+	private final InputStream recordOdfInputStream = getClass().getResourceAsStream("recordOdf.xml");
+	private final InputStream recordOafInputStream = getClass().getResourceAsStream("recordOaf.xml");
+
+	private ActionFactory actionFactory;
+	private Map<String, Resource> xslts = new HashMap<>();
+
+	@Mock
+	private Resource pmf2insertActions;
+	@Mock
+	private Resource pmf2updateActions;
+	@Mock
+	private Resource dmf2insertActions;
+	@Mock
+	private Resource dmf2updateActions;
+	@Mock
+	private Resource rels2actions;
+
+	@Before
+	public void setUp() throws Exception {
+		actionFactory = new ActionFactory();
+
+		xslts.put("pmf2insertActions", pmf2insertActions);
+		xslts.put("pmf2updateActions", pmf2updateActions);
+		xslts.put("dmf2insertActions", dmf2insertActions);
+		xslts.put("dmf2updateActions", dmf2updateActions);
+		xslts.put("rels2actions", rels2actions);
+
+		Mockito.when(pmf2insertActions.getInputStream()).thenReturn(loadFromTransformationProfile("pmf2insertActions.xml"));
+		Mockito.when(pmf2updateActions.getInputStream()).thenReturn(loadFromTransformationProfile("pmf2updateActions.xml"));
+		Mockito.when(dmf2insertActions.getInputStream()).thenReturn(loadFromTransformationProfile("dmf2insertActions.xml"));
+		Mockito.when(dmf2updateActions.getInputStream()).thenReturn(loadFromTransformationProfile("dmf2updateActions.xml"));
+
+		actionFactory.setXslts(xslts);
+	}
+
+	@Test
+	public void testBeans() {
+		assertNotNull(actionFactory);
+		assertNotNull(actionFactory.getXslts());
+		assertFalse(actionFactory.getXslts().isEmpty());
+	}
+
+	@Test
+	public void testDatasetInsert() throws ActionManagerException, IOException, TransformerException, DocumentException {
+
+		XsltInfoPackageAction action =
+				actionFactory.generateInfoPackageAction("dmf2insertActions", "rawSet", agent, Operation.INSERT, asString(recordOdfInputStream),
+						Provenance.sysimport_crosswalk_datasetarchive, "datacite____", trust);
+
+		checkActions(action, action.asAtomicActions());
+	}
+
+	@Test
+	public void testDatasetUpdate() throws ActionManagerException, IOException, TransformerException, DocumentException {
+
+		XsltInfoPackageAction action =
+				actionFactory.generateInfoPackageAction("dmf2updateActions", "rawSet", agent, Operation.UPDATE, asString(recordOdfInputStream),
+						Provenance.sysimport_crosswalk_datasetarchive, "datacite____", trust);
+
+		checkActions(action, action.asAtomicActions());
+	}
+
+	@Test
+	public void testPublicationInsert() throws ActionManagerException, IOException, TransformerException, DocumentException {
+
+		XsltInfoPackageAction action =
+				actionFactory.generateInfoPackageAction("pmf2insertActions", "rawSet", agent, Operation.INSERT, asString(recordOafInputStream),
+						Provenance.sysimport_crosswalk_datasetarchive, "od_______296", trust);
+
+		checkActions(action, action.asAtomicActions());
+	}
+
+	@Test
+	public void testPublicationUpdate() throws ActionManagerException, IOException, TransformerException, DocumentException {
+
+		XsltInfoPackageAction action =
+				actionFactory.generateInfoPackageAction("pmf2updateActions", "rawSet", agent, Operation.INSERT, asString(recordOafInputStream),
+						Provenance.sysimport_crosswalk_datasetarchive, "od_______296", trust);
+		checkActions(action, action.asAtomicActions());
+	}
+
+	private void checkActions(final XsltInfoPackageAction action, final List<AtomicAction> atomicActionList)
+			throws TransformerException, DocumentException, com.google.protobuf.InvalidProtocolBufferException {
+		for (AtomicAction a : action.calculateAtomicActions()) {
+			assertNotNull(a.getTargetValue());
+
+			String actionJSON = AtomicActionSerialiser.toJSON(a);
+
+			log.info(actionJSON);
+
+			final AtomicAction aa = AtomicActionDeserialiser.fromJSON(actionJSON);
+
+			assertEquals(a.getRawSet(), aa.getRawSet());
+			assertEquals(a.getTargetColumn(), aa.getTargetColumn());
+			assertEquals(a.getTargetColumnFamily(), aa.getTargetColumnFamily());
+			assertEquals(a.getTargetRowKey(), aa.getTargetRowKey());
+			assertEquals(a.getActionType(), aa.getActionType());
+			assertEquals(a.getRowKey(), aa.getRowKey());
+
+			assertEquals(a.getAgent().getId(), aa.getAgent().getId());
+			assertEquals(a.getAgent().getName(), aa.getAgent().getName());
+			assertEquals(a.getAgent().getType(), aa.getAgent().getType());
+
+			assertTrue(Arrays.equals(a.getTargetValue(), aa.getTargetValue()));
+
+			System.out.println(DNGF.parseFrom(aa.getTargetValue()));
+		}
+
+		for (AtomicAction aa : atomicActionList) {
+			assertNotNull(aa);
+		}
+		log.info("N. puts: " + atomicActionList.size());
+	}
+
+	private String asString(final InputStream i) throws IOException {
+		StringWriter writer = new StringWriter();
+		IOUtils.copy(i, writer);
+		return writer.toString();
+	}
+
+	private InputStream loadFromTransformationProfile(final String profilePath) {
+		log.info("Loading xslt from: " + basePathProfiles + profilePath);
+		InputStream profile = getClass().getResourceAsStream(basePathProfiles + profilePath);
+		final String s;
+		try {
+			s = IOUtils.toString(profile);
+			log.debug("profile: " + s);
+		} catch (IOException e) {
+			e.printStackTrace();
+			throw new RuntimeException(e);
+		}
+
+		final SAXReader saxReader = new SAXReader();
+		Document doc = null;
+
+		try {
+			doc = saxReader.read(new StringReader(s));
+		} catch (DocumentException e) {
+			e.printStackTrace();
+			throw new RuntimeException(e);
+		}
+		String xslt = doc.selectSingleNode("//SCRIPT/CODE/*[local-name()='stylesheet']").asXML();
+		return IOUtils.toInputStream(xslt);
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.02.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.02.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.02.xml	(revision 51225)
@@ -0,0 +1,43 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="1d52dba7-1902-4c25-bf5b-3598f29ef11c_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+        	<DESCRIPTION>2 - Organization: Match against the legalname</DESCRIPTION>
+            <DEDUPLICATION>
+			{ 
+				"wf" : { 
+			        "threshold" : "0.95", 
+			        "dedupRun" : "001", 
+			        "entityType" : "organization", 
+			        "orderField" : "legalname", 
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "organization", "projectOrganization_participation_isParticipant", "datasourceOrganization_provision_isProvidedBy" ],
+			        "includeChildren" : "true" 
+			    },
+				"pace" : {		
+					"clustering" : [
+						{ "name" : "ngrampairs", "fields" : [ "legalname" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+						{ "name" : "suffixprefix", "fields" : [ "legalname" ], "params" : { "max" : "1", "len" : "3" } } 
+					],		
+					"model" : [
+						{ "name" : "legalname", "algo" : "JaroWinkler", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "organization/metadata/legalname/value" }
+					],
+					"blacklists" : { } 		
+				}
+			} 	
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/19933778-e582-4af2-8668-26414b5386c9.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/19933778-e582-4af2-8668-26414b5386c9.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/19933778-e582-4af2-8668-26414b5386c9.xml	(revision 51225)
@@ -0,0 +1,41 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="19933778-e582-4af2-8668-26414b5386c9_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:content_description_typologies">D-Net Content Description Typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>D-Net Content Description Typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="file::EuropePMC" code="file::EuropePMC" english_name="file::EuropePMC" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="file::PDF" code="file::PDF" english_name="file::PDF" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="file::WoS" code="file::WoS" english_name="file::WoS" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="metadata" code="metadata" english_name="metadata" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="file::hybrid" code="file::hybrid" english_name="file::hybrid" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a48f6872-4055-484f-b365-a9c11f5ff152.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a48f6872-4055-484f-b365-a9c11f5ff152.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a48f6872-4055-484f-b365-a9c11f5ff152.xml	(revision 51225)
@@ -0,0 +1,60 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a48f6872-4055-484f-b365-a9c11f5ff152_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:dataCite_resource">dnet:dataCite_resource</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:dataCite_resource</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="collection" encoding="OPENAIRE" english_name="collection" native_name="collection">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="dataset" encoding="OPENAIRE" english_name="dataset" native_name="dataset">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="event" encoding="OPENAIRE" english_name="event" native_name="event">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="film" encoding="OPENAIRE" english_name="film" native_name="film">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="image" encoding="OPENAIRE" english_name="image" native_name="image">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="interactiveResource" encoding="OPENAIRE" english_name="interactiveResource" native_name="interactiveResource">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="model" encoding="OPENAIRE" english_name="model" native_name="model">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="physicalObject" encoding="OPENAIRE" english_name="physicalObject" native_name="physicalObject">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="service" encoding="OPENAIRE" english_name="service" native_name="service">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="software" encoding="OPENAIRE" english_name="software" native_name="software">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sound" encoding="OPENAIRE" english_name="sound" native_name="sound">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="text" encoding="OPENAIRE" english_name="text" native_name="text">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5c8b4a2e-5487-4971-a931-58aca0196a8a.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5c8b4a2e-5487-4971-a931-58aca0196a8a.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5c8b4a2e-5487-4971-a931-58aca0196a8a.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="5c8b4a2e-5487-4971-a931-58aca0196a8a_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:subject_classification_typologies">dnet:subject_classification_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:subject_classification_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="DFG Classification" code="DFG" english_name="DFG Classification" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="ddc" code="ddc" english_name="Dewey Decimal Classification" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Horizon 2020 Topics" code="ec:h2020topics" english_name="Horizon 2020 Topics" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="mesheuropmc" code="mesheuropmc" english_name="Medical Subject Headings" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenDOAR subjects" code="dnet:od_subjects" english_name="OpenDOAR subjects" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="UNKNOWN" code="UNKNOWN" english_name="UNKNOWN" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="wos" code="wos" english_name="Web of Science Subject Areas" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="arxiv" code="arxiv" english_name="arXiv" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Field of Application (NSF)" code="nsf:fieldOfApplication" english_name="Field of Application (NSF)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b.xml	(revision 51225)
@@ -0,0 +1,33 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value="String"/>
+		<DATE_OF_CREATION value="2015-07-22T15:58:39+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:externalReference_typologies">dnet:externalReference_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>Types for externalreference field of results</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="accessionNumber" code="accessionNumber" english_name="accessionNumber" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="dataset" code="dataset" english_name="dataset" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="software" code="software" english_name="software" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-07-22T15:58:39+00:00"/>
+		</STATUS>
+		<SECURITY_PARAMETERS/>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file

Property changes on: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b.xml
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec4a6f99-bbc1-482d-aa3a-c171f9401d26.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec4a6f99-bbc1-482d-aa3a-c171f9401d26.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec4a6f99-bbc1-482d-aa3a-c171f9401d26.xml	(revision 51225)
@@ -0,0 +1,140 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="ec4a6f99-bbc1-482d-aa3a-c171f9401d26_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-04-27T10:37:34+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:protocols">dnet:protocols</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:protocols</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="NetCDF" code="NetCDF" english_name="NetCDF" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenDAP" code="OpenDAP" english_name="OpenDAP" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="UNKNOWN" code="UNKNOWN" english_name="UNKNOWN" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="api" code="api" english_name="api" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="datasetsbyjournal" code="datasetsbyjournal" english_name="datasetsbyjournal" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="datasetsbyproject" code="datasetsbyproject" english_name="datasetsbyproject" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="file" code="file" english_name="file" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="CMREntityRegistry" code="CMREntityRegistry" english_name="CMREntityRegistry" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="fileCSV" code="fileCSV" english_name="fileCSV" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="fileGzip" code="fileGzip" english_name="fileGzip" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="files_by_rpc" code="files_by_rpc" english_name="files_by_rpc" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="files_from_mdstore" code="files_from_mdstore" english_name="files_from_mdstore" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="files_from_metadata" code="files_from_metadata" english_name="files_from_metadata" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="filesystem" code="filesystem" english_name="filesystem" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="ftp" code="ftp" english_name="ftp" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="http" code="http" english_name="http" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="httpCSV" code="httpCSV" english_name="httpCSV" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="httpList" code="httpList" english_name="httpList" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="jdbc" code="jdbc" english_name="jdbc" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="oai" code="oai" english_name="oai" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="OAI-PMH" encoding="OPENAIRE"/>
+						<SYNONYM term="OAI_PMH" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="oai_sets" code="oai_sets" english_name="oai_sets" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="other" code="other" english_name="other" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="re3data" code="re3data" english_name="re3data" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="rest" code="rest" english_name="rest" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="soap" code="soap" english_name="soap" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="sparql" code="sparql" english_name="sparql" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="sword" code="sword" english_name="sword" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="targz" code="targz" english_name="targz" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="sftp" code="sftp" english_name="sftp" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOaf.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOaf.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOaf.xml	(revision 51225)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<record xmlns:dc="http://purl.org/dc/elements/1.1/"
+        xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+        xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+        xmlns:oaf="http://namespace.openaire.eu/oaf"
+        >
+    <header xmlns="http://namespace.openaire.eu/">
+        <dri:objIdentifier>od_______296::74732b873f881d9bff67c2a11b6a66d6</dri:objIdentifier>
+        <dri:recordIdentifier>ebfb74b7-3087-4da0-aaab-917121e40028_TURTdG9yZURTUmVzb3VyY2VzL01EU3RvcmVEU1Jlc291cmNlVHlwZQ==::oai:www.tdx.cat:10803/32188
+        </dri:recordIdentifier>
+        <dri:dateOfCollection/>
+        <dri:mdFormat/>
+        <dri:mdFormatInterpretation/>
+        <dri:repositoryId>1d3fe9bd-a21d-4bba-9238-dc6259ee1424_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=</dri:repositoryId>
+        <dr:objectIdentifier/>
+        <dr:dateOfCollection>2014-07-12T06:03:38Z</dr:dateOfCollection>
+        <oaf:datasourceprefix>od_______296</oaf:datasourceprefix>
+    </header>
+    <metadata xmlns="http://namespace.openaire.eu/">
+        <dc:contributor>Riera Guilera, Carme</dc:contributor>
+        <dc:contributor>Universitat Autònoma de Barcelona. Departament de Filologia Espanyola</dc:contributor>
+        <dc:creator>Torras Francés, Meri</dc:creator>
+        <dc:creator>Moreno-Noguer, Francese</dc:creator>
+        <dc:dateAccepted>1998-10-26</dc:dateAccepted>
+        <dc:description>La tesi parteix d’una reflexió des de la teoria a propòsit de l’estatut de l’autobiografia (i del gènere epistolar en particular),
+            preguntant-se a propòsit d’aspectes com són ara la construcció del subjecte en el discurs o el valor de l’experiència com a categoria de diferència.
+            Per tal de aprofundir en aquesta aproximació, el segon capítol realitza un alectura crítica de dues cartes autobiogràfiques escrites per dones: la
+            Carta a Sor Filotea de la Cruz, escrita per Sor Juana i l’ Autobiografía epistolar de Gertrudis Góme de Avellaneda. El capítol central analitza el
+            binomi gènere femení-gènere epistolar per demostrar de quina manera va establir-se a la modernitat (la França dels segles XVII i XVIII) i per què la
+            carta privada acaba definint-se com un gènere (genre) de gènere (gender) femení, sobre quins condicionaments socials va succeir i quin va ser el
+            paper de les dones en tot això. En el darrer capítol s’aborda el seguiment del binomi a l’Espanya dels segles XVIII, XIX i XX, fent paleses les
+            aplicacions particulars que va patir en aquest altre context historico-cultural. Tot això fent ús d’un plantejament i un enfocament propis de la
+            filologia, la teoria de la literatura i la literatura comparada que, a l’apèndix, abraça altres arts, ja que s’hi recullen mostres de la pintura
+            holandesa del xvii on el motiu de la carta femenina té un tractament plenament en consonància amb els paràmetres que van constituir l’assimmilació
+            de gèneres (gènere femení-gènere epistolar) a la França dels salons.
+        </dc:description>
+        <dc:description>La tesis parte de una reflexión desde la teoría a propósito del estatuto de la autobiografía (y del género epistolar en particular),
+            preguntándose sobre aspectos como la construcción del sujeto en el discurso o el valor de la experiencia como categoría de diferencia. En aras de
+            ahondar en esta aproximación, el segundo capítulo realiza una lectura crítica de dos cartas autobiográficas escritas por mujeres: la Carta a Sor
+            Filotea de la Cruz, escrita por Sor Juana y la Autobiografía epistolar de Gertrudis Gómez de Avellaneda. El capítulo central está destinado a
+            analizar el binomio género femenino-género epistolar para demostrar de qué modo se estableció en la modernidad (en la Francia de los siglos XVII y
+            XVIII) y por qué la carta privada terminó definiéndose como un género (genre) de género (gender) femenino, sobre qué condicionamientos sociales
+            aconteció y cuál fue el papel de las mujeres en ello. En el capítulo posterior se acomete el seguimiento del binomio en la España de los siglos
+            XVIII, XIX y XX, dando cuenta de las aplicaciones particulares que sufrió en este otro contexto histórico-cultural. Todo ello haciendo uso de un
+            planteamiento y un enfoque propios de la filología, la teoría de la literatura y la literatura comparada que, en el apéndice, abraza otras artes,
+            puesto que en él se recogen muestras de la pintura holandesa del XVII donde el motivo de la carta femenina observa un tratamiento plenamente en
+            consonancia con los parámetros que constituyeron la asimilación de los géneros (género femenino-género epistolar) en la Francia de los salones.
+        </dc:description>
+        <dc:description>The thesis departs from a theoretic reflection on the status of autobiography in general —and of epistolary genre in particular—
+            inquiring about aspects like the construction of the subject in the discourse or the value of experience as a category of difference. In order to
+            examine in depth this approach, the second chapter performs a critical reading of two autobiographic letters written by women: the Carta a Sor
+            Filotea de la Cruz by Sor Juana and the epistolary Autobiografía of Gertrudis Gómez de Avellaneda. The central chapter is devoted to analyze the
+            epistolary genre—feminine gender relationship to show how it was established in Modernity (in France, XVII and XVIII centuries) and why the personal
+            letter finished defined as a genre of feminine gender, on what social factors happened and what was the woman’s role in all that. The following
+            chapter shows the relationship in Spain, XVIII, XIX and XX centuries, giving an account of particular applications that it suffered in this
+            historical and cultural context. All this using approaches of Philology, Literary Theory and Comparative. The appendix considers some samples of the
+            Dutch painting of the xvii where the motive of the feminine letter observes a treatment fully accordance with the parameters that constituted the
+            assimilation of gender/genre (feminine gender/epistolary genre) in the French salons.
+        </dc:description>
+        <dc:identifier>http://hdl.handle.net/10803/32188</dc:identifier>
+        <oaf:identifier identifierType="doi">10803/32188</oaf:identifier>
+        <oaf:identifier identifierType="orcidworkid">1234-1234-1234-1111</oaf:identifier>
+        <dc:language>esl/spa</dc:language>
+        <dc:publisher>Universitat Autònoma de Barcelona</dc:publisher>
+        <dc:title>La epistola privada como género: estrategias de construcción</dc:title>
+        <dc:source>TDX (Tesis Doctorals en Xarxa)</dc:source>
+        <dc:subject>Ciències Humanes</dc:subject>
+        <dc:subject>82 - Literatura</dc:subject>
+        <dr:CobjCategory>0006</dr:CobjCategory>
+        <dr:CobjCategory>0000</dr:CobjCategory>
+        <dr:CobjIdentifier>urn:isbn:9788469416310</dr:CobjIdentifier>
+        <oaf:projectid>corda_______::295128</oaf:projectid>
+        <oaf:collectedDatasourceid>opendoar____::296</oaf:collectedDatasourceid>
+        <oaf:accessrights>OPEN</oaf:accessrights>
+        <oaf:reference
+                identifier="CHEMBL1658379"
+                query="http://www.ebi.ac.uk/europepmc/webservices/rest/PMC/PMC2934972/databaseLinks/ChEMBL/2/json"
+                source="CHEMBL"
+                title="Antifungal activity against Candida albicans isolate 108 harboring erg11 and erg5 double mutant after 48 hrs by Etest"
+                type="dataset">https://www.ebi.ac.uk/chembldb/assay/inspect/CHEMBL1658379
+        </oaf:reference>
+        <oaf:hostedBy id="opendoar____::296" name="Tesis Doctorals en Xarxa"/>
+        <oaf:collectedFrom id="opendoar____::296" name="Tesis Doctorals en Xarxa"/>
+    </metadata>
+</record>
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/3470afb2-d15f-4046-988e-7a7a2f7c993b.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/3470afb2-d15f-4046-988e-7a7a2f7c993b.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/3470afb2-d15f-4046-988e-7a7a2f7c993b.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="3470afb2-d15f-4046-988e-7a7a2f7c993b_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-08T18:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="fct:funding_typologies">fct:funding_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>fct:funding_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="fct:program" encoding="OPENAIRE" english_name="fct:program" native_name="fct:program">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-01-08T18:46:37Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/deploy.info
===================================================================
--- modules/dnet-graph-domain/trunk/deploy.info	(nonexistent)
+++ modules/dnet-graph-domain/trunk/deploy.info	(revision 51225)
@@ -0,0 +1,10 @@
+{
+		"type_source": "SVN",
+		"goal": "package -U source:jar",
+		"url": "http://svn-public.driver.research-infrastructures.eu/driver/dnet50/modules/dnet-graph-domain/trunk/",
+		"deploy_repository": "dnet5-snapshots",
+		"version": "5",
+		"mail": "sandro.labruzzo@isti.cnr.it,michele.artini@isti.cnr.it, claudio.atzori@isti.cnr.it, alessia.bardi@isti.cnr.it",
+		"deploy_repository_url": "http://maven.research-infrastructures.eu/nexus/content/repositories/dnet5-snapshots",
+		"name": "dnet-graph-domain"
+}
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec216410-9ebc-4547-bb4a-190acb0985ef.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec216410-9ebc-4547-bb4a-190acb0985ef.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec216410-9ebc-4547-bb4a-190acb0985ef.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="ec216410-9ebc-4547-bb4a-190acb0985ef_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-08T19:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="fct:funding_relations">fct:funding_relations</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>fct:funding_relations</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="fct:hasParentFunding" encoding="OPENAIRE" english_name="fct:hasParentFunding" native_name="fct:hasParentFunding">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-01-08T19:46:38Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/clustering/BlacklistAwareClusteringCombinerTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/clustering/BlacklistAwareClusteringCombinerTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/clustering/BlacklistAwareClusteringCombinerTest.java	(revision 51225)
@@ -0,0 +1,38 @@
+package eu.dnetlib.pace.clustering;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import eu.dnetlib.pace.AbstractProtoPaceTest;
+import eu.dnetlib.pace.config.Config;
+import eu.dnetlib.pace.config.Type;
+import eu.dnetlib.pace.model.FieldListImpl;
+import eu.dnetlib.pace.model.FieldValueImpl;
+import eu.dnetlib.pace.model.MapDocument;
+
+public class BlacklistAwareClusteringCombinerTest extends AbstractProtoPaceTest {
+
+	private Config config;
+
+	@Before
+	public void setUp() {
+		config = getResultFullConf();
+	}
+
+	@Test
+	public void testCombine() {
+		final MapDocument result =
+				result(config, "A", "Dipping in Cygnus X-2 in a multi-wavelength campaign due to absorption of extended ADC emission", "2013");
+		final FieldListImpl fl = new FieldListImpl();
+		fl.add(new FieldValueImpl(Type.String, "desc", "hello world description pipeline"));
+
+		result.getFieldMap().put("desc", fl);
+
+		fl.clear();
+		fl.add(new FieldValueImpl(Type.String, "title", "lorem ipsum cabalie qwerty"));
+		final FieldListImpl field = (FieldListImpl) result.getFieldMap().get("title");
+		field.add(fl);
+
+		System.out.println(BlacklistAwareClusteringCombiner.filterAndCombine(result, config, config.blacklists()));
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/model/ProtoDocumentBuilderTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/model/ProtoDocumentBuilderTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/model/ProtoDocumentBuilderTest.java	(revision 51225)
@@ -0,0 +1,90 @@
+package eu.dnetlib.pace.model;
+
+import java.util.List;
+
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+import com.google.common.collect.Sets.SetView;
+import com.googlecode.protobuf.format.JsonFormat;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
+import eu.dnetlib.pace.AbstractProtoPaceTest;
+import eu.dnetlib.pace.config.Config;
+import eu.dnetlib.pace.model.adaptor.Pid;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class ProtoDocumentBuilderTest extends AbstractProtoPaceTest {
+
+	@Test
+	public void test_serialise1() {
+
+		final String id = "12345";
+
+		final Config config = getResultFullConf();
+
+		final MapDocument document = ProtoDocumentBuilder.newInstance(id, getResult(id), config.model());
+
+		assertFalse(document.fieldNames().isEmpty());
+		assertFalse(Iterables.isEmpty(document.fields()));
+
+		System.out.println("original:\n" + document);
+
+		final String stringDoc = MapDocumentSerializer.toString(document);
+
+		System.out.println("srialization:\n" + stringDoc);
+
+		final MapDocument decoded = MapDocumentSerializer.decode(stringDoc.getBytes());
+
+		final SetView<String> diff = Sets.difference(document.fieldNames(), decoded.fieldNames());
+
+		assertTrue(diff.isEmpty());
+
+		System.out.println("decoded:\n" + decoded);
+	}
+
+	@Test
+	public void test_serialise2() {
+
+		final String id = "12345";
+		final String path = "/eu/dnetlib/pace/model/gt.author.manghi1.json";
+
+		final Config config = getPersonConf();
+
+		final MapDocument document = ProtoDocumentBuilder.newInstance(id, getPersonGT(path).getEntity(), config.model());
+
+		assertFalse(document.fieldNames().isEmpty());
+		assertFalse(Iterables.isEmpty(document.fields()));
+
+		System.out.println("original:\n" + document);
+
+		final String stringDoc = MapDocumentSerializer.toString(document);
+
+		System.out.println("srialization:\n" + stringDoc);
+
+		final MapDocument decoded = MapDocumentSerializer.decode(stringDoc.getBytes());
+
+		final SetView<String> diff = Sets.difference(document.fieldNames(), decoded.fieldNames());
+
+		assertTrue(diff.isEmpty());
+
+		System.out.println("decoded:\n" + decoded);
+	}
+
+
+	@Test
+	public void testPidSerialization() {
+
+		final StructuredProperty sp = StructuredProperty.newBuilder().setValue("1234").setQualifier(
+				Qualifier.newBuilder().setClassid("doi").setClassname("doi").setSchemeid("dnet:pid_types").setSchemename("dnet:pid_types")).build();
+
+		final String json = JsonFormat.printToString(sp);
+
+		final List<Pid> pid = Pid.fromOafJson(Lists.newArrayList(json));
+
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/clustering/ClusteringCombinerTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/clustering/ClusteringCombinerTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/clustering/ClusteringCombinerTest.java	(revision 51225)
@@ -0,0 +1,35 @@
+package eu.dnetlib.pace.clustering;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import eu.dnetlib.pace.AbstractProtoPaceTest;
+import eu.dnetlib.pace.config.Config;
+import eu.dnetlib.pace.config.Type;
+import eu.dnetlib.pace.model.FieldListImpl;
+import eu.dnetlib.pace.model.FieldValueImpl;
+import eu.dnetlib.pace.model.MapDocument;
+
+public class ClusteringCombinerTest extends AbstractProtoPaceTest {
+
+	private Config config;
+
+	@Before
+	public void setUp() {
+		config = getResultFullConf();
+	}
+
+	@Test
+	public void testCombine() {
+		String title = "Dipping in Cygnus X-2 in a multi-wavelength campaign due to absorption of extended ADC emission";
+		MapDocument result = result(config, "A", title, "2013");
+
+		FieldListImpl fl = new FieldListImpl();
+		fl.add(new FieldValueImpl(Type.String, "desc", "lorem ipsum cabalie qwerty"));
+
+		result.getFieldMap().put("desc", fl);
+		System.out.println(title);
+		System.out.println(ClusteringCombiner.combine(result, config));
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/ParticipationRelations.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/ParticipationRelations.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/ParticipationRelations.proto	(revision 51225)
@@ -0,0 +1,15 @@
+package eu.dnetlib.data.proto;
+
+import "DngfParent.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "ParticipationRelations";
+
+
+extend DNGFRel {
+
+    optional string participantnumber = 106;
+
+}
+
+
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.json
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.json	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.json	(revision 51225)
@@ -0,0 +1 @@
+{"id":"30|dedup_wf_001::e78059705c3885a10440c8021afbdd4a","author":{"frequency":6,"id":"30|od______2294::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},"merged":[{"id":"30|od______2294::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"id":"30|doaj10829873::6cff63f7eafbb51fd6a1c268f4f0227f","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"id":"30|od______2367::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"id":"30|doaj10829873::f67c45f3bd4e4e4c4942a373799e0457","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"id":"30|doaj10829873::39a29e7c15e04cdef8aecaa062b4f000","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"id":"30|doaj10829873::f9b4de41343d956271d88f93ba68c31d","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"}],"coAuthors":[{"anchorId":"30|dedup_wf_001::73aac4e0ca21747def81773cdf242152","id":"30|od______2367::069aab4b3defa55d5fb573838e54ed10","fullname":"Werf, Titia","firstname":"Titia","secondnames":"Werf"},{"anchorId":"30|dedup_wf_001::cd493693f2e04159d419cfbea6042944","id":"30|doaj10829873::0acf7cdc45040bd02482b94760af9db5","fullname":"Smith, Tim","firstname":"Tim","secondnames":"Smith"},{"anchorId":"30|dedup_wf_001::4867c41ae4006a89a4e00fa5b2ace526","id":"30|od______2294::717184cb6436add31e3ce0ba86ba2476","fullname":"Katifori, Akrivi","firstname":"Akrivi","secondnames":"Katifori"},{"anchorId":"30|dedup_wf_001::d17df318b8ab8b17ac2b016767e183b4","id":"30|od______2367::d24f772460583eb514d0465f77f15030","fullname":"Rettberg, Najla","firstname":"Najla","secondnames":"Rettberg"},{"anchorId":"30|dedup_wf_001::ce0c9316f1d270fe7c021ac010378189","id":"30|od______2367::ef2914f870d83e32764f2e0db122d0c4","fullname":"Houssos, Nikos","firstname":"Nikos","secondnames":"Houssos"},{"anchorId":"30|dedup_wf_001::ce0c9316f1d270fe7c021ac010378189","id":"30|od______2294::ef2914f870d83e32764f2e0db122d0c4","fullname":"Houssos, Nikos","firstname":"Nikos","secondnames":"Houssos"},{"anchorId":"30|dedup_wf_001::271f098792b54069a4d77b4fee16b354","id":"30|od______2294::217bb36de851aacdeae92250959e5af9","fullname":"Schmidt, Birgit","firstname":"Birgit","secondnames":"Schmidt"},{"anchorId":"30|dedup_wf_001::19651c25c06f8ddbf8fb582efa51bb10","id":"30|od______2367::c48a8036130fc6f9a73348ba3be40041","fullname":"Biagini, Federico","firstname":"Federico","secondnames":"Biagini"},{"anchorId":"30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774","id":"30|od______2367::44afefb40235eadaa9424f735dc569ad","fullname":"Schirrwagen, Jochen","firstname":"Jochen","secondnames":"Schirrwagen"},{"anchorId":"30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1","id":"30|doaj10829873::269dbf736b973d298160217072f127bd","fullname":"Candela, Leonardo","firstname":"Leonardo","secondnames":"Candela"},{"anchorId":"30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999","id":"30|od______2367::a93eb6a6cbfce5bcdf86cb743f788077","fullname":"Castelli, Donatella","firstname":"Donatella","secondnames":"Castelli"},{"anchorId":"30|dedup_wf_001::731b5090d3f9c6dac58ad770b1a29e13","id":"30|doaj10829873::c6cc48d8aa310a1d2c87f5df7c5576bb","fullname":"Bardi, Alessia","firstname":"Alessia","secondnames":"Bardi"},{"anchorId":"30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a","id":"30|od______2367::9c743b25e78b06608d4214ba18f92690","fullname":"Bolikowski, Lukasz","firstname":"Lukasz","secondnames":"Bolikowski"},{"anchorId":"30|dedup_wf_001::d71c73319eda487f9b56e860e2c1794f","id":"30|od______2367::c11bdd64efcd19316ef10c1967392565","fullname":"Peters, Dale","firstname":"Dale","secondnames":"Peters"},{"anchorId":"30|dedup_wf_001::2c561a4cbd689f4729324744fb046995","id":"30|doaj10829873::80724b7b737d6c51b3733eaf9da4b605","fullname":"Mikulicic, Marko","firstname":"Marko","secondnames":"Mikulicic"},{"anchorId":"30|dedup_wf_001::cd493693f2e04159d419cfbea6042944","id":"30|od______2367::b340050a287b2601d330547261fe82bc","fullname":"Smith, Tim","firstname":"Tim","secondnames":"Smith"},{"anchorId":"30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774","id":"30|od______2294::44afefb40235eadaa9424f735dc569ad","fullname":"Schirrwagen, Jochen","firstname":"Jochen","secondnames":"Schirrwagen"},{"anchorId":"30|dedup_wf_001::f41b3d7b95be894f9bd7a30b08f50313","id":"30|od______2294::45f6127ede0d24d16a5007ceff0a2d4b","fullname":"Horstmann, Wolfram","firstname":"Wolfram","secondnames":"Horstmann"},{"anchorId":"30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19","id":"30|od______2367::08fc98b1a1e2e2de97e3ecdd1b8174d0","fullname":"Pagano, Pasquale","firstname":"Pasquale","secondnames":"Pagano"},{"anchorId":"30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5","id":"30|od______2367::c68257b7b29d6c1b372856f371e3ba24","fullname":"Manola, Natalia","firstname":"Natalia","secondnames":"Manola"},{"anchorId":"30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1","id":"30|od______2367::8fd116733ee055e8bee96e422b4142ca","fullname":"Candela, Leonardo","firstname":"Leonardo","secondnames":"Candela"},{"anchorId":"30|dedup_wf_001::4867c41ae4006a89a4e00fa5b2ace526","id":"30|od______2367::717184cb6436add31e3ce0ba86ba2476","fullname":"Katifori, Akrivi","firstname":"Akrivi","secondnames":"Katifori"},{"anchorId":"30|dedup_wf_001::2c561a4cbd689f4729324744fb046995","id":"30|od______2367::fe0e336ba013e433486e92b8e30435c1","fullname":"Mikulicic, Marko","firstname":"Marko","secondnames":"Mikulicic"},{"anchorId":"30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1","id":"30|od______2294::8fd116733ee055e8bee96e422b4142ca","fullname":"Candela, Leonardo","firstname":"Leonardo","secondnames":"Candela"},{"anchorId":"30|dedup_wf_001::ef5fbc9697bc7bf23f9cedc92f855466","id":"30|od______2367::7aab6e55da61a2f412b9764e3554154a","fullname":"Assante, Massimiliano","firstname":"Massimiliano","secondnames":"Assante"},{"anchorId":"30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774","id":"30|doaj10829873::6bb80887219a5ea64915d84d373e3eb5","fullname":"Schirrwagen, Jochen","firstname":"Jochen","secondnames":"Schirrwagen"},{"anchorId":"30|dedup_wf_001::ca57380f88fb4920d67e024c0af0c715","id":"30|od______2294::2ca703acc4dd66064135c1afc5e976b8","fullname":"Horst, Marek","firstname":"Marek","secondnames":"Horst"},{"anchorId":"30|dedup_wf_001::2317e62318581e89976523d2553977e2","id":"30|od______2367::545b78ed508339ab728beee05f312db1","fullname":"Zoppi, Franco","firstname":"Franco","secondnames":"Zoppi"},{"anchorId":"30|dedup_wf_001::152c124f2f79b57d16500a3b8a63b93c","id":"30|od______2367::ee0556ce5974761280b8be0812a586b3","fullname":"Bolikowski, Å<U+0081>ukasz","firstname":"Å<U+0081>ukasz","secondnames":"Bolikowski"},{"anchorId":"30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999","id":"30|doaj10829873::a3c59fe161823ef7fadbd1bb216c34bb","fullname":"Castelli, Donatella","firstname":"Donatella","secondnames":"Castelli"},{"anchorId":"30|dedup_wf_001::731b5090d3f9c6dac58ad770b1a29e13","id":"30|od______2367::3fbd0b3533bd0e6089c1fe68b115f772","fullname":"Bardi, Alessia","firstname":"Alessia","secondnames":"Bardi"},{"anchorId":"30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19","id":"30|doaj10829873::9e7037bbf8b59564442aa12b6b424747","fullname":"Pagano, Pasquale","firstname":"Pasquale","secondnames":"Pagano"},{"anchorId":"30|dedup_wf_001::eacced7c9132e343948bf51698a1c927","id":"30|od______2367::22272e3e38161be671abad3f27c68e36","fullname":"Mikulic, Marko","firstname":"Marko","secondnames":"Mikulic"},{"anchorId":"30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5","id":"30|od______2294::c68257b7b29d6c1b372856f371e3ba24","fullname":"Manola, Natalia","firstname":"Natalia","secondnames":"Manola"},{"anchorId":"30|dedup_wf_001::f41b3d7b95be894f9bd7a30b08f50313","id":"30|od______2367::45f6127ede0d24d16a5007ceff0a2d4b","fullname":"Horstmann, Wolfram","firstname":"Wolfram","secondnames":"Horstmann"},{"anchorId":"30|dedup_wf_001::ca57380f88fb4920d67e024c0af0c715","id":"30|od______2367::2ca703acc4dd66064135c1afc5e976b8","fullname":"Horst, Marek","firstname":"Marek","secondnames":"Horst"},{"anchorId":"30|dedup_wf_001::7b1fe51141418a62b56f9c3bd5bccaa7","id":"30|od______2367::2638f44b18089930e67bbd5633f9b103","fullname":"Debole, Franca","firstname":"Franca","secondnames":"Debole"},{"anchorId":"30|dedup_wf_001::d17df318b8ab8b17ac2b016767e183b4","id":"30|od______2294::d24f772460583eb514d0465f77f15030","fullname":"Rettberg, Najla","firstname":"Najla","secondnames":"Rettberg"},{"anchorId":"30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19","id":"30|doaj10829873::b3795485a89b87aabeff16b81f2ff24d","fullname":"Pagano, Pasquale","firstname":"Pasquale","secondnames":"Pagano"},{"anchorId":"30|dedup_wf_001::d71c73319eda487f9b56e860e2c1794f","id":"30|od______2294::c11bdd64efcd19316ef10c1967392565","fullname":"Peters, Dale","firstname":"Dale","secondnames":"Peters"},{"anchorId":"30|dedup_wf_001::9bfaee15b25e210ab56dfa6f57c6417e","id":"30|od______2367::81d934153eb100552ef4b398e243dd45","fullname":"La Bruzzo, Sandro","firstname":"Sandro","secondnames":"La Bruzzo"},{"anchorId":"30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a","id":"30|doaj10829873::2abbf092ab99aaaf0a52969141fc0070","fullname":"Bolikowski, Lukasz","firstname":"Lukasz","secondnames":"Bolikowski"},{"anchorId":"30|dedup_wf_001::cd493693f2e04159d419cfbea6042944","id":"30|od______2294::b340050a287b2601d330547261fe82bc","fullname":"Smith, Tim","firstname":"Tim","secondnames":"Smith"},{"anchorId":"30|dedup_wf_001::2d413333206599ee864738c521dbe5b3","id":"30|od______2367::39c67e010b85a6a79e54e94b2a789221","fullname":"Savino, Pasquale","firstname":"Pasquale","secondnames":"Savino"},{"anchorId":"30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1","id":"30|doaj10829873::515b938f185f85e1a91849337310c4b7","fullname":"Candela, Leonardo","firstname":"Leonardo","secondnames":"Candela"},{"anchorId":"30|dedup_wf_001::c4d99fedf82781b5cae2225cf8049426","id":"30|od______2294::e931b1326351ef5b3bb2b89f3fc4244c","fullname":"Kobos, Mateusz","firstname":"Mateusz","secondnames":"Kobos"},{"anchorId":"30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5","id":"30|doaj10829873::d4df586c008bca6df713f84070d3e1c3","fullname":"Manola, Natalia","firstname":"Natalia","secondnames":"Manola"},{"anchorId":"30|dedup_wf_001::152c124f2f79b57d16500a3b8a63b93c","id":"30|od______2294::029cfdbbd0fcb888f4efbfe1dde81721","fullname":"Bolikowski, Łukasz","firstname":"Łukasz","secondnames":"Bolikowski"},{"anchorId":"30|dedup_wf_001::7b9bd8e96778de90c911e0fcc8821bcc","id":"30|od______2367::c96e9db5145834320c37332ef96802f6","fullname":"Artini, Michele","firstname":"Michele","secondnames":"Artini"},{"anchorId":"30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a","id":"30|od______2294::9c743b25e78b06608d4214ba18f92690","fullname":"Bolikowski, Lukasz","firstname":"Lukasz","secondnames":"Bolikowski"},{"anchorId":"30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999","id":"30|doaj10829873::347ee2414e420e4aec5395146956d8c0","fullname":"Castelli, Donatella","firstname":"Donatella","secondnames":"Castelli"},{"anchorId":"30|dedup_wf_001::5850f94defb717ab4e7be63e6d4d2d12","id":"30|od______2367::de34cde81e9e864703f58d615ea0cf69","fullname":"Siebinga, Sjoerd","firstname":"Sjoerd","secondnames":"Siebinga"},{"anchorId":"30|dedup_wf_001::271f098792b54069a4d77b4fee16b354","id":"30|od______2367::217bb36de851aacdeae92250959e5af9","fullname":"Schmidt, Birgit","firstname":"Birgit","secondnames":"Schmidt"},{"anchorId":"30|dedup_wf_001::ca57ee88d3a6d5e2908b09c5aae07f97","id":"30|od______2367::ddd745ebf411904db3cd353539f6e079","fullname":"Mieldijk, Mario","firstname":"Mario","secondnames":"Mieldijk"},{"anchorId":"30|dedup_wf_001::c4d99fedf82781b5cae2225cf8049426","id":"30|od______2367::e931b1326351ef5b3bb2b89f3fc4244c","fullname":"Kobos, Mateusz","firstname":"Mateusz","secondnames":"Kobos"}],"anchor":true}
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.simple.pace.conf
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.simple.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.simple.pace.conf	(revision 51225)
@@ -0,0 +1,21 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "result", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "result" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {		
+  		"conditions" : [ ],		
+		"model" : [
+			{ "name" : "title", "algo" : "JaroWinkler", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "publication/metadata/title[qualifier#classid = {main title}]/value" }
+		],
+		"blacklists" : { } 		
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Datasource.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Datasource.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Datasource.proto	(revision 51225)
@@ -0,0 +1,61 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "DatasourceProtos";
+
+message Datasource {
+
+	optional Metadata metadata = 2;
+
+	message Metadata {
+	
+		// common fields
+		optional Qualifier datasourcetype = 15;
+		optional Qualifier openairecompatibility = 17;
+
+		optional StringField officialname = 1;
+		optional StringField englishname = 2;
+		optional StringField websiteurl = 3;
+		optional StringField logourl = 4;
+		optional StringField contactemail = 5;
+		optional StringField namespaceprefix = 7;
+
+		optional StringField latitude = 18;
+		optional StringField longitude = 19;
+		optional StringField dateofvalidation = 20;
+		optional StringField description = 21;
+		
+		repeated StructuredProperty subjects = 45; 
+
+		// opendoar specific fields (od*)
+		optional StringField odnumberofitems = 9;
+		optional StringField odnumberofitemsdate = 10;
+		optional StringField odpolicies = 12;
+
+		repeated StringField odlanguages = 13;
+		repeated StringField odcontenttypes = 14;
+		repeated StringField accessinfopackage = 6;
+		
+		// re3data fields
+		optional StringField releasestartdate = 31; 
+		optional StringField releaseenddate = 32;
+		optional StringField missionstatementurl = 33;
+		optional BoolField dataprovider = 34;
+		optional BoolField serviceprovider = 35;
+		optional StringField databaseaccesstype = 36; // {open, restricted or closed} 
+ 		optional StringField datauploadtype = 37; // {open, restricted or closed} 
+ 		optional StringField databaseaccessrestriction = 38; // {feeRequired, registration, other} 
+ 		optional StringField datauploadrestriction = 39; // {feeRequired, registration, other} 
+ 		optional BoolField versioning = 40; 
+ 		optional StringField citationguidelineurl = 41; 
+ 		optional StringField qualitymanagementkind = 42; // {yes, no, uknown} 
+ 		optional StringField pidsystems = 43; 
+ 		optional StringField certificates = 44;		
+
+		repeated KeyValue policies = 46; 
+
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctionsTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctionsTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctionsTest.java	(revision 51225)
@@ -0,0 +1,52 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.List;
+
+import eu.dnetlib.data.transform.xml.OpenTrialsXsltFunctions.JsonProv;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * OpenTrialsXsltFunctions Tester.
+ *
+ */
+public class OpenTrialsXsltFunctionsTest {
+
+	private String jsonProv = "[{\"url\" : \"http://apps.who.int/trialsearch/Trial3.aspx?trialid=NCT00378508\", \"sourceID\" : \"77eb42c5-0ec7-4e31-963a-5736b66f2d26\", \"sourceName\" : \"ictrp\"},{\"url\" : \"https://www.clinicaltrials.gov/ct2/show/NCT00378508?lup_e=02%2F04%2F2016&lup_s=01%2F01%2F2001&rank=175075&resultsxml=true\", \"sourceID\" : \"b389497c-0833-432b-a09b-930526b7b4d4\", \"sourceName\" : \"nct\"}]";
+	private String jsonProvWithNull = "[{\"url\" : \"\", \"sourceID\" : \"77eb42c5-0ec7-4e31-963a-5736b66f2d26\", \"sourceName\" : \"ictrp\"},{\"url\" : \"https://www.clinicaltrials.gov/ct2/show/NCT00378508?lup_e=02%2F04%2F2016&lup_s=01%2F01%2F2001&rank=175075&resultsxml=true\", \"sourceID\" : \"b389497c-0833-432b-a09b-930526b7b4d4\", \"sourceName\" : \"nct\"}]";
+	private String jidentifiers = "{112683,NCT00920439}";
+
+	@Before
+	public void before() throws Exception {
+	}
+
+	@After
+	public void after() throws Exception {
+	}
+
+	/**
+	 * Method: getProvs(String jsonProvList)
+	 */
+	@Test
+	public void testGetProvs() throws Exception {
+		List<JsonProv> list = OpenTrialsXsltFunctions.getProvs(jsonProv);
+		assertEquals(2, list.size());
+	}
+
+	/**
+	 * Method: getMainIdentifierURL(String jsonProvList)
+	 */
+	@Test
+	public void testGetMainIdentifierURL() throws Exception {
+		String url = OpenTrialsXsltFunctions.getMainIdentifierURL(jsonProv);
+		assertEquals( "http://apps.who.int/trialsearch/Trial3.aspx?trialid=NCT00378508", url );
+		url = OpenTrialsXsltFunctions.getMainIdentifierURL(jsonProvWithNull);
+		assertEquals("https://www.clinicaltrials.gov/ct2/show/NCT00378508?lup_e=02%2F04%2F2016&lup_s=01%2F01%2F2001&rank=175075&resultsxml=true", url);
+	}
+
+
+
+} 
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/SpecialTrust.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/SpecialTrust.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/SpecialTrust.proto	(revision 51225)
@@ -0,0 +1,9 @@
+package eu.dnetlib.data.proto;
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "SpecialTrustProtos";
+
+enum SpecialTrust {
+	INFINITE = 1;
+	NEUTRAL = 2;
+}
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.authors.pace.conf
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.authors.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.authors.pace.conf	(revision 51225)
@@ -0,0 +1,25 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "result", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "result" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {
+  		"conditions" : [
+  			{ "name" : "sizeMatch", "fields" : [ "authors" ] },
+  			{ "name" : "titleVersionMatch", "fields" : [ "title" ] }		
+  		 ],		
+		"model" : [	
+			{ "name" : "title", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.5", "ignoreMissing" : "false", "path" : "publication/metadata/title[qualifier#classid = {main title}]/value" },
+			{ "name" : "authors", "algo" : "SortedLevel2JaroWinkler", "type" : "String", "weight" : "0.5", "ignoreMissing" : "true", "path" : "publication/author/metadata/fullname/value" }
+		],
+		"blacklists" : { } 		
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRowKeyDecoderTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRowKeyDecoderTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRowKeyDecoderTest.java	(revision 51225)
@@ -0,0 +1,18 @@
+package eu.dnetlib.data.mapreduce.util;
+
+import eu.dnetlib.data.graph.model.DNGFRowKeyDecoder;
+import org.junit.Test;
+
+public class DNGFRowKeyDecoderTest {
+
+	@Test
+	public void test() {
+
+		String id1 = "50|acnbad______::0a454baf9c61e63d42fb83ab549f8062";
+
+		DNGFRowKeyDecoder d = DNGFRowKeyDecoder.decode(id1);
+
+		System.out.println(d.getId());
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/transform/SolrProtoMapperTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/transform/SolrProtoMapperTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/transform/SolrProtoMapperTest.java	(revision 51225)
@@ -0,0 +1,102 @@
+package eu.dnetlib.data.transform;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.List;
+
+import com.google.protobuf.InvalidProtocolBufferException;
+import com.googlecode.protobuf.format.JsonFormat;
+import eu.dnetlib.data.mapreduce.util.DNGFTest;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.common.SolrInputField;
+import org.dom4j.DocumentException;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+public class SolrProtoMapperTest {
+
+	private static final Log log = LogFactory.getLog(SolrProtoMapper.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	private static final String outFormat = new String("yyyy-MM-dd'T'hh:mm:ss'Z'");
+
+	private final static List<String> dateFormats = Arrays.asList("yyyy-MM-dd'T'hh:mm:ss", "yyyy-MM-dd", "dd-MM-yyyy", "dd/MM/yyyy", "yyyy");
+
+	private final static String dataset = "{\"kind\": \"entity\",\"entity\": {\"type\": \"dataset\",\"originalId\": [\"http://esipfed.org/ns/fedsearch/1.1/data#\",\"C1293870510-PODAAC\",\"C1293870494-PODAAC\",\"C1293870514-PODAAC\",\"C1293870523-PODAAC\",\"http://esipfed.org/ns/fedsearch/1.1/metadata#\"],\"collectedfrom\": [{\"key\": \"10|wds_________::827fac6a4d016d53b6874573cf37fc05\",\"value\": \"Common Metadata Repository (CMR)\"}],\"pid\": [{\"value\": \"C1293870510-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}},{\"value\": \"C1293870494-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}},{\"value\": \"C1293870514-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}},{\"value\": \"C1293870523-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}}],\"dateofcollection\": \"2016-08-29T14:39:03.816+02:00\",\"id\": \"60|dedup_wf_001::002a1f239e51f7b92df75b7f8902c117\",\"dateoftransformation\": \"\",\"dataset\": {\"metadata\": {\"title\": [{\"value\": \"PODAAC-SEABY-ANILT\",\"qualifier\": {\"classid\": \"main title\",\"classname\": \"main title\",\"schemeid\": \"dnet:dataCite_title\",\"schemename\": \"dnet:dataCite_title\"}}],\"relevantdate\": [{\"value\": \"2003-04-10T00:08:15.000Z\",\"qualifier\": {\"classid\": \"UNKNOWN\",\"classname\": \"UNKNOWN\",\"schemeid\": \"dnet:dataCite_date\",\"schemename\": \"dnet:dataCite_date\"}}],\"dateofacceptance\": {\"value\": \"\"},\"publisher\": {\"value\": \"PO.DAAC\"},\"resulttype\": {\"classid\": \"dataset\",\"classname\": \"dataset\",\"schemeid\": \"dnet:result_typologies\",\"schemename\": \"dnet:result_typologies\"},\"language\": {\"classid\": \"und\",\"classname\": \"Undetermined\",\"schemeid\": \"dnet:languages\",\"schemename\": \"dnet:languages\"},\"resourcetype\": {\"classid\": \"Dataset\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"size\": {\"value\": \"\"},\"format\": [{\"value\": \"ECHO10\"},{\"value\": \"ECHO10\"},{\"value\": \"ECHO10\"},{\"value\": \"ECHO10\"}],\"version\": {\"value\": \"\"},\"lastmetadataupdate\": {\"value\": \"2012-03-22T03:07:08.129Z\"},\"description\": [{\"value\": \" SeaWinds on ADEOS-II Level 3 Sigma-0 Polar-Stereographic Local-Time-of-Day Browse Images of Antarctic Region \"}]},\"instance\": [{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]},{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]},{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]},{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]}]},\"children\": [{\"type\": \"dataset\",\"originalId\": [\"C1293870514-PODAAC\",\"http://esipfed.org/ns/fedsearch/1.1/data#\",\"http://esipfed.org/ns/fedsearch/1.1/metadata#\"],\"collectedfrom\": [{\"key\": \"10|wds_________::827fac6a4d016d53b6874573cf37fc05\",\"value\": \"Common Metadata Repository (CMR)\"}],\"pid\": [{\"value\": \"C1293870514-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}}],\"dateofcollection\": \"2016-08-29T14:39:03.816+02:00\",\"id\": \"60|wds_cmr_____::ed18768335fcac40ae2cc062abc9e442\",\"dateoftransformation\": \"\",\"dataset\": {\"metadata\": {\"title\": [{\"value\": \"PODAAC-SEABY-ARBLT\",\"qualifier\": {\"classid\": \"main title\",\"classname\": \"main title\",\"schemeid\": \"dnet:dataCite_title\",\"schemename\": \"dnet:dataCite_title\"}}],\"relevantdate\": [{\"value\": \"2003-04-10T00:08:15.000Z\",\"qualifier\": {\"classid\": \"UNKNOWN\",\"classname\": \"UNKNOWN\",\"schemeid\": \"dnet:dataCite_date\",\"schemename\": \"dnet:dataCite_date\"}}],\"dateofacceptance\": {\"value\": \"\"},\"publisher\": {\"value\": \"PO.DAAC\"},\"resulttype\": {\"classid\": \"dataset\",\"classname\": \"dataset\",\"schemeid\": \"dnet:result_typologies\",\"schemename\": \"dnet:result_typologies\"},\"language\": {\"classid\": \"und\",\"classname\": \"Undetermined\",\"schemeid\": \"dnet:languages\",\"schemename\": \"dnet:languages\"},\"resourcetype\": {\"classid\": \"Dataset\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"size\": {\"value\": \"\"},\"format\": [{\"value\": \"ECHO10\"}],\"version\": {\"value\": \"\"},\"lastmetadataupdate\": {\"value\": \"2012-03-22T01:56:49.933Z\"},\"description\": [{\"value\": \" SeaWinds on ADEOS-II Level 3 Sigma-0 Polar-Stereographic Local-Time-of-Day Browse Maps of Arctic Region \"}]},\"instance\": [{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]}]},\"oaiprovenance\": {\"originDescription\": {\"harvestDate\": \"2016-08-29T14:39:03.816+02:00\",\"altered\": true,\"baseURL\": \"https%3A%2F%2Fcmr.earthdata.nasa.gov%2Fsearch%2Fcollections.json%3Fpretty%3Dtrue\",\"identifier\": \"\",\"datestamp\": \"\",\"metadataNamespace\": \"\"}}},{\"type\": \"dataset\",\"originalId\": [\"C1293870494-PODAAC\",\"http://esipfed.org/ns/fedsearch/1.1/data#\",\"http://esipfed.org/ns/fedsearch/1.1/metadata#\"],\"collectedfrom\": [{\"key\": \"10|wds_________::827fac6a4d016d53b6874573cf37fc05\",\"value\": \"Common Metadata Repository (CMR)\"}],\"pid\": [{\"value\": \"C1293870494-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}}],\"dateofcollection\": \"2016-08-29T14:39:03.816+02:00\",\"id\": \"60|wds_cmr_____::ac6f36f8c9ef39f815045eaa1182e745\",\"dateoftransformation\": \"\",\"dataset\": {\"metadata\": {\"title\": [{\"value\": \"PODAAC-SEABY-ARILT\",\"qualifier\": {\"classid\": \"main title\",\"classname\": \"main title\",\"schemeid\": \"dnet:dataCite_title\",\"schemename\": \"dnet:dataCite_title\"}}],\"relevantdate\": [{\"value\": \"2003-04-10T00:08:15.000Z\",\"qualifier\": {\"classid\": \"UNKNOWN\",\"classname\": \"UNKNOWN\",\"schemeid\": \"dnet:dataCite_date\",\"schemename\": \"dnet:dataCite_date\"}}],\"dateofacceptance\": {\"value\": \"\"},\"publisher\": {\"value\": \"PO.DAAC\"},\"resulttype\": {\"classid\": \"dataset\",\"classname\": \"dataset\",\"schemeid\": \"dnet:result_typologies\",\"schemename\": \"dnet:result_typologies\"},\"language\": {\"classid\": \"und\",\"classname\": \"Undetermined\",\"schemeid\": \"dnet:languages\",\"schemename\": \"dnet:languages\"},\"resourcetype\": {\"classid\": \"Dataset\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"size\": {\"value\": \"\"},\"format\": [{\"value\": \"ECHO10\"}],\"version\": {\"value\": \"\"},\"lastmetadataupdate\": {\"value\": \"2012-03-22T02:51:51.788Z\"},\"description\": [{\"value\": \" SeaWinds on ADEOS-II Level 3 Sigma-0 Polar-Stereographic Local-Time-of-Day Browse Images of Arctic Region \"}]},\"instance\": [{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]}]},\"oaiprovenance\": {\"originDescription\": {\"harvestDate\": \"2016-08-29T14:39:03.816+02:00\",\"altered\": true,\"baseURL\": \"https%3A%2F%2Fcmr.earthdata.nasa.gov%2Fsearch%2Fcollections.json%3Fpretty%3Dtrue\",\"identifier\": \"\",\"datestamp\": \"\",\"metadataNamespace\": \"\"}}},{\"type\": \"dataset\",\"originalId\": [\"C1293870523-PODAAC\",\"http://esipfed.org/ns/fedsearch/1.1/data#\",\"http://esipfed.org/ns/fedsearch/1.1/metadata#\"],\"collectedfrom\": [{\"key\": \"10|wds_________::827fac6a4d016d53b6874573cf37fc05\",\"value\": \"Common Metadata Repository (CMR)\"}],\"pid\": [{\"value\": \"C1293870523-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}}],\"dateofcollection\": \"2016-08-29T14:39:03.816+02:00\",\"id\": \"60|wds_cmr_____::a26b222d236fd523df9711c21a879911\",\"dateoftransformation\": \"\",\"dataset\": {\"metadata\": {\"title\": [{\"value\": \"PODAAC-SEABY-ANBLT\",\"qualifier\": {\"classid\": \"main title\",\"classname\": \"main title\",\"schemeid\": \"dnet:dataCite_title\",\"schemename\": \"dnet:dataCite_title\"}}],\"relevantdate\": [{\"value\": \"2003-04-10T00:08:15.000Z\",\"qualifier\": {\"classid\": \"UNKNOWN\",\"classname\": \"UNKNOWN\",\"schemeid\": \"dnet:dataCite_date\",\"schemename\": \"dnet:dataCite_date\"}}],\"dateofacceptance\": {\"value\": \"\"},\"publisher\": {\"value\": \"PO.DAAC\"},\"resulttype\": {\"classid\": \"dataset\",\"classname\": \"dataset\",\"schemeid\": \"dnet:result_typologies\",\"schemename\": \"dnet:result_typologies\"},\"language\": {\"classid\": \"und\",\"classname\": \"Undetermined\",\"schemeid\": \"dnet:languages\",\"schemename\": \"dnet:languages\"},\"resourcetype\": {\"classid\": \"Dataset\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"size\": {\"value\": \"\"},\"format\": [{\"value\": \"ECHO10\"}],\"version\": {\"value\": \"\"},\"lastmetadataupdate\": {\"value\": \"2012-03-22T03:01:46.198Z\"},\"description\": [{\"value\": \" SeaWinds on ADEOS-II Level 3 Sigma-0 Polar-Stereographic Local-Time-of-Day Browse Maps of Antarctic Region \"}]},\"instance\": [{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]}]},\"oaiprovenance\": {\"originDescription\": {\"harvestDate\": \"2016-08-29T14:39:03.816+02:00\",\"altered\": true,\"baseURL\": \"https%3A%2F%2Fcmr.earthdata.nasa.gov%2Fsearch%2Fcollections.json%3Fpretty%3Dtrue\",\"identifier\": \"\",\"datestamp\": \"\",\"metadataNamespace\": \"\"}}},{\"type\": \"dataset\",\"originalId\": [\"C1293870510-PODAAC\",\"http://esipfed.org/ns/fedsearch/1.1/data#\",\"http://esipfed.org/ns/fedsearch/1.1/metadata#\"],\"collectedfrom\": [{\"key\": \"10|wds_________::827fac6a4d016d53b6874573cf37fc05\",\"value\": \"Common Metadata Repository (CMR)\"}],\"pid\": [{\"value\": \"C1293870510-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}}],\"dateofcollection\": \"2016-08-29T14:39:03.816+02:00\",\"id\": \"60|wds_cmr_____::002a1f239e51f7b92df75b7f8902c117\",\"dateoftransformation\": \"\",\"dataset\": {\"metadata\": {\"title\": [{\"value\": \"PODAAC-SEABY-ANILT\",\"qualifier\": {\"classid\": \"main title\",\"classname\": \"main title\",\"schemeid\": \"dnet:dataCite_title\",\"schemename\": \"dnet:dataCite_title\"}}],\"relevantdate\": [{\"value\": \"2003-04-10T00:08:15.000Z\",\"qualifier\": {\"classid\": \"UNKNOWN\",\"classname\": \"UNKNOWN\",\"schemeid\": \"dnet:dataCite_date\",\"schemename\": \"dnet:dataCite_date\"}}],\"dateofacceptance\": {\"value\": \"\"},\"publisher\": {\"value\": \"PO.DAAC\"},\"resulttype\": {\"classid\": \"dataset\",\"classname\": \"dataset\",\"schemeid\": \"dnet:result_typologies\",\"schemename\": \"dnet:result_typologies\"},\"language\": {\"classid\": \"und\",\"classname\": \"Undetermined\",\"schemeid\": \"dnet:languages\",\"schemename\": \"dnet:languages\"},\"resourcetype\": {\"classid\": \"Dataset\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"size\": {\"value\": \"\"},\"format\": [{\"value\": \"ECHO10\"}],\"version\": {\"value\": \"\"},\"lastmetadataupdate\": {\"value\": \"2012-03-22T03:07:08.129Z\"},\"description\": [{\"value\": \" SeaWinds on ADEOS-II Level 3 Sigma-0 Polar-Stereographic Local-Time-of-Day Browse Images of Antarctic Region \"}]},\"instance\": [{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]}]},\"oaiprovenance\": {\"originDescription\": {\"harvestDate\": \"2016-08-29T14:39:03.816+02:00\",\"altered\": true,\"baseURL\": \"https%3A%2F%2Fcmr.earthdata.nasa.gov%2Fsearch%2Fcollections.json%3Fpretty%3Dtrue\",\"identifier\": \"\",\"datestamp\": \"\",\"metadataNamespace\": \"\"}}}],\"oaiprovenance\": {\"originDescription\": {\"harvestDate\": \"2016-08-29T14:39:03.816+02:00\",\"altered\": true,\"baseURL\": \"https%3A%2F%2Fcmr.earthdata.nasa.gov%2Fsearch%2Fcollections.json%3Fpretty%3Dtrue\",\"identifier\": \"\",\"datestamp\": \"\",\"metadataNamespace\": \"\"}}},\"dataInfo\": {\"inferred\": true,\"deletedbyinference\": false,\"trust\": \"0.9\",\"inferenceprovenance\": \"dedup-similarity-dataset\",\"provenanceaction\": {\"classid\": \"sysimport:dedup\",\"classname\": \"sysimport:dedup\",\"schemeid\": \"dnet:provenanceActions\",\"schemename\": \"dnet:provenanceActions\"}}}";
+
+	private String fields;
+
+	@Before
+	public void setUp() throws IOException {
+		final StringWriter sw = new StringWriter();
+		IOUtils.copy(getClass().getResourceAsStream("fields.xml"), sw);
+		fields = sw.toString();
+		assertNotNull(fields);
+		assertFalse(fields.isEmpty());
+
+		log.info(fields);
+	}
+
+	@Test
+	public void testProto2SolrDocument() throws DocumentException, InvalidProtocolBufferException, JsonFormat.ParseException {
+		final SolrProtoMapper mapper = new SolrProtoMapper(fields);
+
+		assertNotNull(mapper);
+
+		DNGF.Builder builder = DNGF.newBuilder();
+		JsonFormat.merge(dataset, builder);
+
+		final DNGF oaf = builder.build();
+
+		assertNotNull(oaf.getEntity().getChildrenList());
+		assertFalse(oaf.getEntity().getChildrenList().isEmpty());
+
+		log.info("byte[] size: " + oaf.toByteArray().length);
+
+		log.info("json size:   " + JsonFormat.printToString(oaf).length());
+
+		log.info("base64 size: " + Base64.encodeBase64String(oaf.toByteArray()).length());
+
+		final byte[] decodeBase64 = Base64.decodeBase64(Base64.encodeBase64String(oaf.toByteArray()));
+
+		log.info("decoded: " + JsonFormat.printToString(DNGF.parseFrom(decodeBase64)));
+
+		final SolrInputDocument doc = mapper.map(oaf, getParsedDateField("2015-02-15"), "asd", "action-set");
+
+		assertNotNull(doc);
+
+		for (final SolrInputField f : doc.values()) {
+			log.info(f);
+		}
+	}
+
+
+	/**
+	 * method return a solr-compatible string representation of a date
+	 *
+	 * @param date
+	 * @return
+	 * @throws DocumentException
+	 * @throws ParseException
+	 */
+	public String getParsedDateField(final String date) {
+		for (String formatString : dateFormats) {
+			try {
+				return new SimpleDateFormat(outFormat).format(new SimpleDateFormat(formatString).parse(date));
+			} catch (ParseException e) {}
+		}
+		throw new IllegalStateException("unable to parse date: " + date);
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/transform/simpleRecord.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/transform/simpleRecord.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/transform/simpleRecord.xml	(revision 51225)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<record>
+  <metadata>
+    <a>A text value</a>
+    <b attr="attribute value"/>
+  </metadata>
+</record>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/resources/log4j.properties
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/log4j.properties	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/log4j.properties	(revision 51225)
@@ -0,0 +1,15 @@
+### Root Level ###
+log4j.rootLogger=WARN, CONSOLE
+
+### Configuration for the CONSOLE appender ###
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d %c - %m%n
+
+org.apache.cxf.Logger=org.apache.cxf.common.logging.Log4jLogger
+
+### Application Level ###
+log4j.logger.eu.dnetlib=INFO
+log4j.logger.eu.dnetlib.pace=DEBUG
+log4j.logger.eu.dnetlib.rmi.data.hadoop.actionmanager.actions.ActionFactory=INFO
+log4j.logger.eu.dnetlib.data.actionmanager.actions.ActionFactoryTest=INFO
Index: modules/dnet-graph-domain/branches/saxonHE/deploy.info
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/deploy.info	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/deploy.info	(revision 51225)
@@ -0,0 +1,10 @@
+{
+"type_source": "SVN",
+"goal": "package -U source:jar",
+"url": "http://svn-public.driver.research-infrastructures.eu/driver/dnet50/modules/dnet-graph-domain/branches/saxonHE",
+"deploy_repository": "dnet5-snapshots",
+"version": "5",
+"mail": "alessia.bardi@isti.cnr.it",
+"deploy_repository_url": "http://maven.research-infrastructures.eu/nexus/content/repositories/dnet5-snapshots",
+"name": "dnet-graph-domain-saxonHE"
+}
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.json
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.json	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.json	(revision 51225)
@@ -0,0 +1 @@
+{"id":"30|dedup_wf_001::e78059705c3885a10440c8021afbdd4a","author":{"frequency":6,"id":"30|od______2294::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},"merged":[{"id":"30|od______2294::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"id":"30|doaj10829873::6cff63f7eafbb51fd6a1c268f4f0227f","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"id":"30|od______2367::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"id":"30|doaj10829873::f67c45f3bd4e4e4c4942a373799e0457","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"id":"30|doaj10829873::39a29e7c15e04cdef8aecaa062b4f000","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"id":"30|doaj10829873::f9b4de41343d956271d88f93ba68c31d","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"}],"coAuthors":[{"anchorId":"30|dedup_wf_001::73aac4e0ca21747def81773cdf242152","id":"30|od______2367::069aab4b3defa55d5fb573838e54ed10","fullname":"Werf, Titia","firstname":"Titia","secondnames":"Werf"},{"anchorId":"30|dedup_wf_001::cd493693f2e04159d419cfbea6042944","id":"30|doaj10829873::0acf7cdc45040bd02482b94760af9db5","fullname":"Smith, Tim","firstname":"Tim","secondnames":"Smith"},{"anchorId":"30|dedup_wf_001::4867c41ae4006a89a4e00fa5b2ace526","id":"30|od______2294::717184cb6436add31e3ce0ba86ba2476","fullname":"Katifori, Akrivi","firstname":"Akrivi","secondnames":"Katifori"},{"anchorId":"30|dedup_wf_001::d17df318b8ab8b17ac2b016767e183b4","id":"30|od______2367::d24f772460583eb514d0465f77f15030","fullname":"Rettberg, Najla","firstname":"Najla","secondnames":"Rettberg"},{"anchorId":"30|dedup_wf_001::ce0c9316f1d270fe7c021ac010378189","id":"30|od______2367::ef2914f870d83e32764f2e0db122d0c4","fullname":"Houssos, Nikos","firstname":"Nikos","secondnames":"Houssos"},{"anchorId":"30|dedup_wf_001::ce0c9316f1d270fe7c021ac010378189","id":"30|od______2294::ef2914f870d83e32764f2e0db122d0c4","fullname":"Houssos, Nikos","firstname":"Nikos","secondnames":"Houssos"},{"anchorId":"30|dedup_wf_001::271f098792b54069a4d77b4fee16b354","id":"30|od______2294::217bb36de851aacdeae92250959e5af9","fullname":"Schmidt, Birgit","firstname":"Birgit","secondnames":"Schmidt"},{"anchorId":"30|dedup_wf_001::19651c25c06f8ddbf8fb582efa51bb10","id":"30|od______2367::c48a8036130fc6f9a73348ba3be40041","fullname":"Biagini, Federico","firstname":"Federico","secondnames":"Biagini"},{"anchorId":"30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774","id":"30|od______2367::44afefb40235eadaa9424f735dc569ad","fullname":"Schirrwagen, Jochen","firstname":"Jochen","secondnames":"Schirrwagen"},{"anchorId":"30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1","id":"30|doaj10829873::269dbf736b973d298160217072f127bd","fullname":"Candela, Leonardo","firstname":"Leonardo","secondnames":"Candela"},{"anchorId":"30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999","id":"30|od______2367::a93eb6a6cbfce5bcdf86cb743f788077","fullname":"Castelli, Donatella","firstname":"Donatella","secondnames":"Castelli"},{"anchorId":"30|dedup_wf_001::731b5090d3f9c6dac58ad770b1a29e13","id":"30|doaj10829873::c6cc48d8aa310a1d2c87f5df7c5576bb","fullname":"Bardi, Alessia","firstname":"Alessia","secondnames":"Bardi"},{"anchorId":"30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a","id":"30|od______2367::9c743b25e78b06608d4214ba18f92690","fullname":"Bolikowski, Lukasz","firstname":"Lukasz","secondnames":"Bolikowski"},{"anchorId":"30|dedup_wf_001::d71c73319eda487f9b56e860e2c1794f","id":"30|od______2367::c11bdd64efcd19316ef10c1967392565","fullname":"Peters, Dale","firstname":"Dale","secondnames":"Peters"},{"anchorId":"30|dedup_wf_001::2c561a4cbd689f4729324744fb046995","id":"30|doaj10829873::80724b7b737d6c51b3733eaf9da4b605","fullname":"Mikulicic, Marko","firstname":"Marko","secondnames":"Mikulicic"},{"anchorId":"30|dedup_wf_001::cd493693f2e04159d419cfbea6042944","id":"30|od______2367::b340050a287b2601d330547261fe82bc","fullname":"Smith, Tim","firstname":"Tim","secondnames":"Smith"},{"anchorId":"30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774","id":"30|od______2294::44afefb40235eadaa9424f735dc569ad","fullname":"Schirrwagen, Jochen","firstname":"Jochen","secondnames":"Schirrwagen"},{"anchorId":"30|dedup_wf_001::f41b3d7b95be894f9bd7a30b08f50313","id":"30|od______2294::45f6127ede0d24d16a5007ceff0a2d4b","fullname":"Horstmann, Wolfram","firstname":"Wolfram","secondnames":"Horstmann"},{"anchorId":"30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19","id":"30|od______2367::08fc98b1a1e2e2de97e3ecdd1b8174d0","fullname":"Pagano, Pasquale","firstname":"Pasquale","secondnames":"Pagano"},{"anchorId":"30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5","id":"30|od______2367::c68257b7b29d6c1b372856f371e3ba24","fullname":"Manola, Natalia","firstname":"Natalia","secondnames":"Manola"},{"anchorId":"30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1","id":"30|od______2367::8fd116733ee055e8bee96e422b4142ca","fullname":"Candela, Leonardo","firstname":"Leonardo","secondnames":"Candela"},{"anchorId":"30|dedup_wf_001::4867c41ae4006a89a4e00fa5b2ace526","id":"30|od______2367::717184cb6436add31e3ce0ba86ba2476","fullname":"Katifori, Akrivi","firstname":"Akrivi","secondnames":"Katifori"},{"anchorId":"30|dedup_wf_001::2c561a4cbd689f4729324744fb046995","id":"30|od______2367::fe0e336ba013e433486e92b8e30435c1","fullname":"Mikulicic, Marko","firstname":"Marko","secondnames":"Mikulicic"},{"anchorId":"30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1","id":"30|od______2294::8fd116733ee055e8bee96e422b4142ca","fullname":"Candela, Leonardo","firstname":"Leonardo","secondnames":"Candela"},{"anchorId":"30|dedup_wf_001::ef5fbc9697bc7bf23f9cedc92f855466","id":"30|od______2367::7aab6e55da61a2f412b9764e3554154a","fullname":"Assante, Massimiliano","firstname":"Massimiliano","secondnames":"Assante"},{"anchorId":"30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774","id":"30|doaj10829873::6bb80887219a5ea64915d84d373e3eb5","fullname":"Schirrwagen, Jochen","firstname":"Jochen","secondnames":"Schirrwagen"},{"anchorId":"30|dedup_wf_001::ca57380f88fb4920d67e024c0af0c715","id":"30|od______2294::2ca703acc4dd66064135c1afc5e976b8","fullname":"Horst, Marek","firstname":"Marek","secondnames":"Horst"},{"anchorId":"30|dedup_wf_001::2317e62318581e89976523d2553977e2","id":"30|od______2367::545b78ed508339ab728beee05f312db1","fullname":"Zoppi, Franco","firstname":"Franco","secondnames":"Zoppi"},{"anchorId":"30|dedup_wf_001::152c124f2f79b57d16500a3b8a63b93c","id":"30|od______2367::ee0556ce5974761280b8be0812a586b3","fullname":"Bolikowski, Å<U+0081>ukasz","firstname":"Å<U+0081>ukasz","secondnames":"Bolikowski"},{"anchorId":"30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999","id":"30|doaj10829873::a3c59fe161823ef7fadbd1bb216c34bb","fullname":"Castelli, Donatella","firstname":"Donatella","secondnames":"Castelli"},{"anchorId":"30|dedup_wf_001::731b5090d3f9c6dac58ad770b1a29e13","id":"30|od______2367::3fbd0b3533bd0e6089c1fe68b115f772","fullname":"Bardi, Alessia","firstname":"Alessia","secondnames":"Bardi"},{"anchorId":"30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19","id":"30|doaj10829873::9e7037bbf8b59564442aa12b6b424747","fullname":"Pagano, Pasquale","firstname":"Pasquale","secondnames":"Pagano"},{"anchorId":"30|dedup_wf_001::eacced7c9132e343948bf51698a1c927","id":"30|od______2367::22272e3e38161be671abad3f27c68e36","fullname":"Mikulic, Marko","firstname":"Marko","secondnames":"Mikulic"},{"anchorId":"30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5","id":"30|od______2294::c68257b7b29d6c1b372856f371e3ba24","fullname":"Manola, Natalia","firstname":"Natalia","secondnames":"Manola"},{"anchorId":"30|dedup_wf_001::f41b3d7b95be894f9bd7a30b08f50313","id":"30|od______2367::45f6127ede0d24d16a5007ceff0a2d4b","fullname":"Horstmann, Wolfram","firstname":"Wolfram","secondnames":"Horstmann"},{"anchorId":"30|dedup_wf_001::ca57380f88fb4920d67e024c0af0c715","id":"30|od______2367::2ca703acc4dd66064135c1afc5e976b8","fullname":"Horst, Marek","firstname":"Marek","secondnames":"Horst"},{"anchorId":"30|dedup_wf_001::7b1fe51141418a62b56f9c3bd5bccaa7","id":"30|od______2367::2638f44b18089930e67bbd5633f9b103","fullname":"Debole, Franca","firstname":"Franca","secondnames":"Debole"},{"anchorId":"30|dedup_wf_001::d17df318b8ab8b17ac2b016767e183b4","id":"30|od______2294::d24f772460583eb514d0465f77f15030","fullname":"Rettberg, Najla","firstname":"Najla","secondnames":"Rettberg"},{"anchorId":"30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19","id":"30|doaj10829873::b3795485a89b87aabeff16b81f2ff24d","fullname":"Pagano, Pasquale","firstname":"Pasquale","secondnames":"Pagano"},{"anchorId":"30|dedup_wf_001::d71c73319eda487f9b56e860e2c1794f","id":"30|od______2294::c11bdd64efcd19316ef10c1967392565","fullname":"Peters, Dale","firstname":"Dale","secondnames":"Peters"},{"anchorId":"30|dedup_wf_001::9bfaee15b25e210ab56dfa6f57c6417e","id":"30|od______2367::81d934153eb100552ef4b398e243dd45","fullname":"La Bruzzo, Sandro","firstname":"Sandro","secondnames":"La Bruzzo"},{"anchorId":"30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a","id":"30|doaj10829873::2abbf092ab99aaaf0a52969141fc0070","fullname":"Bolikowski, Lukasz","firstname":"Lukasz","secondnames":"Bolikowski"},{"anchorId":"30|dedup_wf_001::cd493693f2e04159d419cfbea6042944","id":"30|od______2294::b340050a287b2601d330547261fe82bc","fullname":"Smith, Tim","firstname":"Tim","secondnames":"Smith"},{"anchorId":"30|dedup_wf_001::2d413333206599ee864738c521dbe5b3","id":"30|od______2367::39c67e010b85a6a79e54e94b2a789221","fullname":"Savino, Pasquale","firstname":"Pasquale","secondnames":"Savino"},{"anchorId":"30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1","id":"30|doaj10829873::515b938f185f85e1a91849337310c4b7","fullname":"Candela, Leonardo","firstname":"Leonardo","secondnames":"Candela"},{"anchorId":"30|dedup_wf_001::c4d99fedf82781b5cae2225cf8049426","id":"30|od______2294::e931b1326351ef5b3bb2b89f3fc4244c","fullname":"Kobos, Mateusz","firstname":"Mateusz","secondnames":"Kobos"},{"anchorId":"30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5","id":"30|doaj10829873::d4df586c008bca6df713f84070d3e1c3","fullname":"Manola, Natalia","firstname":"Natalia","secondnames":"Manola"},{"anchorId":"30|dedup_wf_001::152c124f2f79b57d16500a3b8a63b93c","id":"30|od______2294::029cfdbbd0fcb888f4efbfe1dde81721","fullname":"Bolikowski, Łukasz","firstname":"Łukasz","secondnames":"Bolikowski"},{"anchorId":"30|dedup_wf_001::7b9bd8e96778de90c911e0fcc8821bcc","id":"30|od______2367::c96e9db5145834320c37332ef96802f6","fullname":"Artini, Michele","firstname":"Michele","secondnames":"Artini"},{"anchorId":"30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a","id":"30|od______2294::9c743b25e78b06608d4214ba18f92690","fullname":"Bolikowski, Lukasz","firstname":"Lukasz","secondnames":"Bolikowski"},{"anchorId":"30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999","id":"30|doaj10829873::347ee2414e420e4aec5395146956d8c0","fullname":"Castelli, Donatella","firstname":"Donatella","secondnames":"Castelli"},{"anchorId":"30|dedup_wf_001::5850f94defb717ab4e7be63e6d4d2d12","id":"30|od______2367::de34cde81e9e864703f58d615ea0cf69","fullname":"Siebinga, Sjoerd","firstname":"Sjoerd","secondnames":"Siebinga"},{"anchorId":"30|dedup_wf_001::271f098792b54069a4d77b4fee16b354","id":"30|od______2367::217bb36de851aacdeae92250959e5af9","fullname":"Schmidt, Birgit","firstname":"Birgit","secondnames":"Schmidt"},{"anchorId":"30|dedup_wf_001::ca57ee88d3a6d5e2908b09c5aae07f97","id":"30|od______2367::ddd745ebf411904db3cd353539f6e079","fullname":"Mieldijk, Mario","firstname":"Mario","secondnames":"Mieldijk"},{"anchorId":"30|dedup_wf_001::c4d99fedf82781b5cae2225cf8049426","id":"30|od______2367::e931b1326351ef5b3bb2b89f3fc4244c","fullname":"Kobos, Mateusz","firstname":"Mateusz","secondnames":"Kobos"}],"anchor":true}
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/4f80e5c4-577f-422e-ba29-5cb86e4381cb.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/4f80e5c4-577f-422e-ba29-5cb86e4381cb.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/4f80e5c4-577f-422e-ba29-5cb86e4381cb.xml	(revision 51225)
@@ -0,0 +1,51 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="4f80e5c4-577f-422e-ba29-5cb86e4381cb_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:dataCite_date">dnet:dataCite_date</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:dataCite_date</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="available" encoding="OPENAIRE" english_name="available" native_name="available">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="copyrighted" encoding="OPENAIRE" english_name="copyrighted" native_name="copyrighted">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="created" encoding="OPENAIRE" english_name="created" native_name="created">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="endDate" encoding="OPENAIRE" english_name="endDate" native_name="endDate">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="issued" encoding="OPENAIRE" english_name="issued" native_name="issued">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="startDate" encoding="OPENAIRE" english_name="startDate" native_name="startDate">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="submitted" encoding="OPENAIRE" english_name="submitted" native_name="submitted">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="updated" encoding="OPENAIRE" english_name="updated" native_name="updated">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="valid" encoding="OPENAIRE" english_name="valid" native_name="valid">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.simple.pace.conf
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.simple.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.simple.pace.conf	(revision 51225)
@@ -0,0 +1,21 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "result", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "result" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {		
+  		"conditions" : [ ],		
+		"model" : [
+			{ "name" : "title", "algo" : "JaroWinkler", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "publication/metadata/title[qualifier#classid = {main title}]/value" }
+		],
+		"blacklists" : { } 		
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/MetadataFormatDSResourceType/7-de9a7d86-00cd-4348-905d-0c977b2b996d.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/MetadataFormatDSResourceType/7-de9a7d86-00cd-4348-905d-0c977b2b996d.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/MetadataFormatDSResourceType/7-de9a7d86-00cd-4348-905d-0c977b2b996d.xml	(revision 51225)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+			value="7-de9a7d86-00cd-4348-905d-0c977b2b996d_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL01ldGFkYXRhRm9ybWF0RFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="MetadataFormatDSResourceType" />
+		<RESOURCE_KIND value="VocabularyDSResources" />
+		<RESOURCE_URI value="String" />
+		<DATE_OF_CREATION value="2008-05-20T12:44:48+02:00" />
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME>Informations about metadata formats
+			</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>Contain the necessary informations about the metadata formats used by DRIVER</VOCABULARY_DESCRIPTION>
+			<METADATAFORMATS>
+				<METADATAFORMAT NameSpace="http://www.openarchives.org/OAI/2.0/oai_dc/"
+					Prefix="oai_dc" Schema="http://www.openarchives.org/OAI/2.0/oai_dc.xsd"
+					name="DC" IndexPrefix="DMF" IndexLayout="index" IndexDate="dateAccepted"
+					IndexQuery="Textual" />
+				<METADATAFORMAT NameSpace="http://schema.datacite.org/oai/oai-1.0/"
+					Prefix="oai_datacite" Schema="http://schema.datacite.org/oai/oai-1.0/oai.xsd"
+					name="OAI_DATACITE" IndexPrefix="oai_datacite" IndexLayout="index"
+					IndexDate="dateAccepted" IndexQuery="Textual" />
+				<METADATAFORMAT NameSpace="http://datacite.org/schema/nonexistant"
+					Prefix="datacite"
+					Schema="http://schema.datacite.org/meta/nonexistant/nonexistant.xsd"
+					name="DATACITE" IndexPrefix="datacite" IndexLayout="index"
+					IndexDate="dateAccepted" IndexQuery="Textual" />
+				<METADATAFORMAT NameSpace="http://www.driver-repository.eu/OAI/2.0/DMF/"
+					Prefix="DMF"
+					Schema="http://driver.research-infrastructures.eu/schemas/DMFSchema.xsd"
+					name="DMF" IndexPrefix="DMF" IndexLayout="index" IndexDate="dateAccepted"
+					IndexQuery="Textual" />
+			</METADATAFORMATS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2008-05-20T12:44:48+02:00" />
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.authors.pace.conf
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.authors.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.authors.pace.conf	(revision 51225)
@@ -0,0 +1,25 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "result", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "result" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {
+  		"conditions" : [
+  			{ "name" : "sizeMatch", "fields" : [ "authors" ] },
+  			{ "name" : "titleVersionMatch", "fields" : [ "title" ] }		
+  		 ],		
+		"model" : [	
+			{ "name" : "title", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.5", "ignoreMissing" : "false", "path" : "publication/metadata/title[qualifier#classid = {main title}]/value" },
+			{ "name" : "authors", "algo" : "SortedLevel2JaroWinkler", "type" : "String", "weight" : "0.5", "ignoreMissing" : "true", "path" : "publication/author/metadata/fullname/value" }
+		],
+		"blacklists" : { } 		
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFTest.java	(revision 51225)
@@ -0,0 +1,253 @@
+package eu.dnetlib.data.mapreduce.util;
+
+import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.InvalidProtocolBufferException;
+import eu.dnetlib.data.graph.model.DNGFDecoder;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.DatasourceProtos.Datasource;
+import eu.dnetlib.data.proto.FieldTypeProtos.*;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty.Builder;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import eu.dnetlib.data.proto.OrganizationProtos.Organization;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.ProjectProtos.Project;
+import eu.dnetlib.data.proto.PublicationProtos.Publication;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class DNGFTest {
+
+	public static final String CITATION_JSON =
+			"<citations>\n  <citation>\n    <rawText>[10] M. Foret et al., Phys. Rev. B 66, 024204 (2002).</rawText>\n  </citation>\n  <citation>\n    <rawText>[11] B. Ru\175404\264e et al., Phys. Rev. Lett. 90, 095502 (2003).</rawText>\n  </citation>\n  <citation>\n    <rawText>[12] U. Buchenau et al., Phys. Rev. B 34, 5665 (1986).</rawText>\n  </citation>\n  <citation>\n    <rawText>[13] S.N. Taraskin and S.R. Elliott, J. Phys.: Condens. Mat- ter 11, A219 (1999).</rawText>\n  </citation>\n  <citation>\n    <rawText>[14] B. Hehlen et al., Phys. Rev. Lett. 84, 5355 (2000).</rawText>\n  </citation>\n  <citation>\n    <rawText>[15] N.V. Surotsev et al., J. Phys.: Condens. Matter 10, L113 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[16] D.A. Parshin and C. Laermans, Phys. Rev. B 63, 132203 (2001).</rawText>\n  </citation>\n  <citation>\n    <rawText>[17] V.L. Gurevich et al., Phys. Rev. B 67, 094203 (2003).</rawText>\n  </citation>\n  <citation>\n    <rawText>[18] A. Matic et al., Phys. Rev. Lett. 86, 3803 (2001).</rawText>\n  </citation>\n  <citation>\n    <rawText>[19] E. Rat et al., arXiv:cond-mat/0505558, 23 May 2005.</rawText>\n  </citation>\n  <citation>\n    <rawText>[1] R.C. Zeller and R.O. Pohl, Phys. Rev. B 4, 2029 (1971).</rawText>\n  </citation>\n  <citation>\n    <rawText>[20] C.A. Angell, J. Non-Cryst. Solids 131\20023133, 13 (1991).</rawText>\n  </citation>\n  <citation>\n    <rawText>[21] A.P. Sokolov et al., Phys. Rev. Lett. 71, 2062 (1993).</rawText>\n  </citation>\n  <citation>\n    <rawText>[22] T. Matsuo et al., Solid State Ionics 154-155, 759 (2002).</rawText>\n  </citation>\n  <citation>\n    <rawText>[23] V.K. Malinovsky et al., Europhys. Lett. 11, 43 (1990).</rawText>\n  </citation>\n  <citation>\n    <rawText>[24] J. Lor\250osch et al., J. Non-Cryst. Solids 69, 1 (1984).</rawText>\n  </citation>\n  <citation>\n    <rawText>[25] U. Buchenau, Z. Phys. B 58, 181 (1985).</rawText>\n  </citation>\n  <citation>\n    <rawText>[26] A.F. Io\175400e and A.R. Regel, Prog. Semicond. 4, 237 (1960).</rawText>\n  </citation>\n  <citation>\n    <rawText>[27] R. Dell\20031Anna et al., Phys. Rev. Lett. 80, 1236 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[28] D. Fioretto et al., Phys. Rev. E 59, 4470 (1999).</rawText>\n  </citation>\n  <citation>\n    <rawText>[29] U. Buchenau et al., Phys. Rev. Lett. 77, 4035 (1996).</rawText>\n  </citation>\n  <citation>\n    <rawText>[2] M. Rothenfusser et al., Phys. Rev. B 27, 5196 (1983).</rawText>\n  </citation>\n  <citation>\n    <rawText>[30] J. Mattsson et al., J. Phys.: Condens. Matter 15, S1259 (2003).</rawText>\n  </citation>\n  <citation>\n    <rawText>[31] T. Scopigno et al., Phys. Rev. Lett. 92, 025503 (2004).</rawText>\n  </citation>\n  <citation>\n    <rawText>[32] M. Foret et al., Phys. Rev. Lett. 81, 2100 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[33] F. Sette et al., Science 280, 1550 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[34] J. Wuttke et al., Phys. Rev. E 52, 4026 (1995).</rawText>\n  </citation>\n  <citation>\n    <rawText>[35] M.A. Ramos et al., Phys. Rev. Lett. 78, 82 (1997).</rawText>\n  </citation>\n  <citation>\n    <rawText>[36] G. Monaco et al., Phys. Rev. Lett. 80, 2161 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[37] A. T\250olle, Rep. Prog. Phys. 64, 1473 (2001).</rawText>\n  </citation>\n  <citation>\n    <rawText>[38] As the straight lines do not cross the origin, this does not 2 imply \1623 \21035 \1651 .</rawText>\n  </citation>\n  <citation>\n    <rawText>[39] A. Matic et al., Europhys. Lett. 54, 77 (2001).</rawText>\n  </citation>\n  <citation>\n    <rawText>[3] S. Hunklinger and W. Arnold, in Physical Acoustics, Vol. XII, W.P. Mason and R.N. Thurston Eds. (Academic Press, N.Y. 1976), p. 155.</rawText>\n  </citation>\n  <citation>\n    <rawText>[40] IXS data are usually not available below \1651co, mostly for experimental reasons. E.g., that the rapid onset was not evidenced in vitreous silica [27], is not indicative of its absence but rather of a low qco \21074 1 nm\210221.</rawText>\n  </citation>\n  <citation>\n    <rawText>[41] G. Ruocco et al., Phys. Rev. Lett. 83, 5583 (1999).</rawText>\n  </citation>\n  <citation>\n    <rawText>[42] D. C\1307 iplys et al., J. Physique (Paris) 42, C6-184 (1981).</rawText>\n  </citation>\n  <citation>\n    <rawText>[43] R. Vacher et al., Rev. Sci. Instrum. 51, 288 (1980).</rawText>\n  </citation>\n  <citation>\n    <rawText>[44] R. Vacher et al., arXiv:cond-mat/0505560, 23 May 2005.</rawText>\n  </citation>\n  <citation>\n    <rawText>[45] T.N. Claytor et al., Phys. Rev. B 18, 5842 (1978).</rawText>\n  </citation>\n  <citation>\n    <rawText>[46] M. Arai et al., Physica B 263-264, 268 (1999).</rawText>\n  </citation>\n  <citation>\n    <rawText>[4] R. Vacher et al., J. Non-Cryst. Solids 45, 397 (1981); T.C. Zhu et al., Phys. Rev. B 44, 4281 (1991).</rawText>\n  </citation>\n  <citation>\n    <rawText>[5] J.E. Graebner et al., Phys. Rev. B 34, 5696 (1986).</rawText>\n  </citation>\n  <citation>\n    <rawText>[6] E. Duval and A. Mermet, Phys. Rev. B 58, 8159 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[7] A. Matic et al., Phys. Rev. Lett. 93, 145502 (2004).</rawText>\n  </citation>\n  <citation>\n    <rawText>[8] Often alluded to, e.g. in the Encyclopedia of Materials: Science and Technology, K.H.J. Buschow et al., Eds., Vol. 1 (Elsevier, Oxford, 2001), articles by S.R. Elliott on pp. 171-174 and U. Buchenau on pp. 212-215.</rawText>\n  </citation>\n  <citation>\n    <rawText>[9] E. Rat et al., Phys. Rev. Lett. 83, 1355 (1999).</rawText>\n  </citation>\n</citations>";
+	public static final String STATISTICS_JSON =
+			"[{ \"citationsPerYear\": \"many\", \"anotherCoolStatistic\": \"WoW\", \"nestedStat\": { \"firstNestedStat\" : \"value 1\", \"secondNestedStat\" : \"value 2\"}, \"listingStat\" : [ \"one\", \"two\" ] }]";
+    private static final Log log = LogFactory.getLog(DNGFTest.class);
+    private static String basePathProfiles = "/eu/dnetlib/test/profiles/OntologyDSResources/OntologyDSResourceType";
+
+	public static StructuredProperty.Builder getStructuredproperty(final String value, final String classname, final String schemename) {
+		return getStructuredproperty(value, classname, schemename, null);
+	}
+
+	public static StructuredProperty.Builder getStructuredproperty(final String value, final String classname, final String schemename, final DataInfo dataInfo) {
+		final Builder sp = StructuredProperty.newBuilder().setValue(value).setQualifier(getQualifier(classname, schemename));
+		if (dataInfo != null) {
+			sp.setDataInfo(dataInfo);
+		}
+		return sp;
+	}
+
+	public static Qualifier.Builder getQualifier(final String classname, final String schemename) {
+		return Qualifier.newBuilder().setClassid(classname).setClassname(classname).setSchemeid(schemename).setSchemename(schemename);
+	}
+
+	public static KeyValue getKV(final String id, final String name) {
+		return KeyValue.newBuilder().setKey(id).setValue(name).build();
+	}
+
+	public static DNGFEntity getDatasource(final String datasourceId) {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.datasource)
+				.setId(datasourceId)
+				.setDatasource(
+						Datasource.newBuilder().setMetadata(
+								Datasource.Metadata.newBuilder().setOfficialname(sf("officialname")).setEnglishname(sf("englishname"))
+										.setWebsiteurl(sf("websiteurl")).setContactemail(sf("contactemail")).addAccessinfopackage(sf("accessinforpackage"))
+										.setNamespaceprefix(sf("namespaceprofix")).setDescription(sf("description")).setOdnumberofitems(sf("numberofitems"))
+										.setOdnumberofitemsdate(sf("numberofitems date"))
+										// .addOdsubjects("subjects")
+										.setOdpolicies(sf("policies")).addOdlanguages(sf("languages")).addOdcontenttypes(sf("contenttypes"))
+										.setDatasourcetype(getQualifier("type class", "type scheme")))).build();
+	}
+
+	public static DNGFEntity getResult(final String id) {
+		return getResultBuilder(id).build();
+	}
+
+	public static DNGFEntity.Builder getResultBuilder(final String id) {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.publication)
+				.setId(id)
+				.setPublication(
+						Publication.newBuilder()
+								.setMetadata(
+										Publication.Metadata
+												.newBuilder()
+												.addTitle(
+														getStructuredproperty(
+																"Analysis of cell viability in intervertebral disc: Effect of endplate permeability on cell population",
+																"main title", "dnet:result_titles", getDataInfo()))
+												.addTitle(getStructuredproperty("Another title", "alternative title", "dnet:result_titles", getDataInfo()))
+												.addSubject(getStructuredproperty("Biophysics", "subject", "dnet:result_sujects"))
+												.setDateofacceptance(sf("2010-01-01")).addSource(sf("sourceA")).addSource(sf("sourceB"))
+												.addContext(Context.newBuilder().setId("egi::virtual::970"))
+												.addContext(Context.newBuilder().setId("egi::classification::natsc::math::applied"))
+												.addContext(Context.newBuilder().setId("egi::classification::natsc::math"))
+												.addContext(Context.newBuilder().setId("egi::classification::natsc"))
+												.addContext(Context.newBuilder().setId("egi::classification")).addContext(Context.newBuilder().setId("egi"))
+												.addDescription(sf("Responsible for making and maintaining the extracellular matrix ..."))
+												.addDescription(sf("Another description ...")).setPublisher(sf("ELSEVIER SCI LTD"))
+												.setResulttype(getQualifier("publication", "dnet:result_types"))
+												.setLanguage(getQualifier("eng", "dnet:languages"))).addInstance(getInstance("10|od__10", "Uk pubmed"))
+								.addInstance(getInstance("10|od__10", "arxiv")))
+				.addCollectedfrom(getKV("opendoar____::1064", "Oxford University Research Archive"))
+				.addPid(getStructuredproperty("doi:74293", "doi", "dnet:pids")).addPid(getStructuredproperty("oai:74295", "oai", "dnet:pids"))
+				.setDateofcollection("");
+	}
+
+	public static DataInfo getDataInfo() {
+		return getDataInfo("0.4");
+	}
+
+	public static DataInfo getDataInfo(final String trust) {
+		return DataInfo.newBuilder().setDeletedbyinference(false).setTrust("0.4").setInferenceprovenance("algo").setProvenanceaction(getQualifier("xx", "yy"))
+				.build();
+	}
+
+	public static Instance.Builder getInstance(final String hostedbyId, final String hostedbyName) {
+		return Instance.newBuilder().setHostedby(getKV(hostedbyId, hostedbyName)).setLicence(getQualifier("OpenAccess", "dnet:access_modes"))
+				.setInstancetype(getQualifier("publication", "dnet:result_typologies")).addUrl("webresource url");
+
+	}
+
+	public static DNGFRel getDedupRel(final String source, final String target) {
+		return DNGFRel.newBuilder().setSource(source).setTarget(target).setRelType(getQualifier("dedup", "dedupScheme"))
+				.setChild(false).setCachedTarget(getResult(target)).build();
+	}
+
+
+	public static DNGFEntity getPerson() {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.person)
+				.setId("WOS:000277866500014_A._Shirazi-Adl")
+				.setPerson(
+						Person.newBuilder().setMetadata(
+								Person.Metadata.newBuilder().addSecondnames(sf("Shirazi-Adl")).setFullname(sf("A. Shirazi-Adl"))
+										.setEmail(sf("name.surname@gmail.com")).setPhone(sf("12345")).setNationality(getQualifier("EN", "dnet:countries"))))
+				.build();
+	}
+
+
+
+	public static DNGFEntity getOrganization(final String orgId) {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.organization)
+				.setId(orgId)
+				.addCollectedfrom(getKV("opendoar_1234", "UK pubmed"))
+				.setOrganization(
+						Organization.newBuilder().setMetadata(
+								Organization.Metadata.newBuilder().setLegalname(sf("CENTRE D'APPUI A LA RECHERCHE ET A LA FORMATION GIE"))
+										.setLegalshortname(sf("CAREF")).setWebsiteurl(sf("www.caref-mali.org"))
+										.setCountry(getQualifier("ML", "dnet:countries")))).build();
+	}
+
+	public static DNGFEntity getProjectFP7(final String projectId, final String fundingProgram) throws InvalidProtocolBufferException {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.project)
+				.setId(projectId)
+				.addCollectedfrom(getKV("opendoar_1234", "UK pubmed"))
+				.setProject(
+						Project.newBuilder()
+								.setMetadata(
+										Project.Metadata
+												.newBuilder()
+												.setAcronym(sf("5CYRQOL"))
+												.setTitle(sf("Cypriot Researchers Contribute to our Quality of Life"))
+												.setStartdate(sf("2007-05-01"))
+												.setEnddate(sf("2007-10-31"))
+												.setEcsc39(sf("false"))
+												.setContracttype(getQualifier("CSA", "ec:FP7contractTypes"))
+												.addFundingtree(
+														sf("<fundingtree><funder><id>ec__________::EC</id><shortname>EC</shortname><name>European Commission</name></funder><funding_level_2><id>ec__________::EC::FP7::"
+																+ fundingProgram
+																+ "::PEOPLE</id><description>Marie-Curie Actions</description><name>PEOPLE</name><class>ec:program</class><parent><funding_level_1><id>ec__________::EC::FP7::"
+																+ fundingProgram
+																+ "</id><description>"
+																+ fundingProgram
+																+ "-People</description><name>"
+																+ fundingProgram
+																+ "</name><class>ec:specificprogram</class><parent><funding_level_0><id>ec__________::EC::FP7</id><description>SEVENTH FRAMEWORK PROGRAMME</description><name>FP7</name><parent/><class>ec:frameworkprogram</class></funding_level_0></parent></funding_level_1></parent></funding_level_2></fundingtree>"))))
+				.build();
+	}
+
+	public static DNGFEntity getProjectWT() throws InvalidProtocolBufferException {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.project)
+				.setId("project|wt::087536")
+				.addCollectedfrom(getKV("wellcomeTrust", "wellcome trust"))
+				.setProject(
+						Project.newBuilder()
+								.setMetadata(
+										Project.Metadata
+												.newBuilder()
+												.setAcronym(sf("UNKNOWN"))
+												.setTitle(sf("Research Institute for Infectious Diseases of Poverty (IIDP)."))
+												.setStartdate(sf("2007-05-01"))
+												.setEnddate(sf("2007-10-31"))
+												.setEcsc39(sf("false"))
+												.setContracttype(getQualifier("UNKNOWN", "wt:contractTypes"))
+												.addFundingtree(
+														sf("<fundingtree><funder><id>wt__________::WT</id><shortname>WT</shortname><name>Wellcome Trust</name></funder><funding_level_0><id>wt__________::WT::UNKNOWN</id><description>UNKNOWN</description><name>UNKNOWN</name><class>wt:fundingStream</class><parent/></funding_level_0></fundingtree>"))
+												.addFundingtree(
+														sf("<fundingtree><funder><id>wt__________::WT</id><shortname>WT</shortname><name>Wellcome Trust</name></funder><funding_level_0><id>wt__________::WT::Technology Transfer</id><description>Technology Transfer</description><name>Technology Transfer</name><class>wt:fundingStream</class><parent/></funding_level_0></fundingtree>"))))
+				.build();
+	}
+
+	public static ExtraInfo extraInfo(final String name, final String provenance, final String trust, final String typology, final String value) {
+		final ExtraInfo.Builder e = ExtraInfo.newBuilder().setName(name).setProvenance(provenance).setTrust(trust).setTypology(typology).setValue(value);
+		return e.build();
+	}
+
+	public static StringField sf(final String s) {
+		return sf(s, null);
+	}
+
+	public static StringField sf(final String s, final DataInfo dataInfo) {
+		final StringField.Builder sf = StringField.newBuilder().setValue(s);
+		if (dataInfo != null) {
+			sf.setDataInfo(dataInfo);
+		}
+		return sf.build();
+	}
+
+	public static DNGFDecoder embed(final GeneratedMessage msg,
+			final Kind kind,
+			final boolean deletedByInference,
+			final boolean inferred,
+			final String provenance,
+			final String action) {
+
+		final DNGF.Builder dngf = DNGF.newBuilder()
+				.setKind(kind)
+				.setLastupdatetimestamp(System.currentTimeMillis())
+				.setDataInfo(
+						DataInfo.newBuilder().setDeletedbyinference(deletedByInference).setInferred(inferred).setTrust("0.5")
+								.setInferenceprovenance(provenance).setProvenanceaction(getQualifier(action, action)));
+		switch (kind) {
+		case entity:
+			dngf.setEntity((DNGFEntity) msg);
+			break;
+		case relation:
+			dngf.setRel((DNGFRel) msg);
+			break;
+		default:
+			break;
+		}
+
+		return DNGFDecoder.decode(dngf.build());
+	}
+
+	public static DNGFDecoder embed(final GeneratedMessage msg, final Kind kind) {
+		return embed(msg, kind, false, false, "inference_provenance", "provenance_action");
+	}
+
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/AbstractProtoPaceTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/AbstractProtoPaceTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/AbstractProtoPaceTest.java	(revision 51225)
@@ -0,0 +1,208 @@
+package eu.dnetlib.pace;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.google.common.collect.Lists;
+import com.google.gson.Gson;
+import eu.dnetlib.data.mapreduce.util.DNGFTest;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty.Builder;
+import eu.dnetlib.data.proto.OrganizationProtos.Organization;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.PublicationProtos.Publication;
+import eu.dnetlib.data.proto.TypeProtos;
+import eu.dnetlib.pace.config.Config;
+import eu.dnetlib.pace.config.DedupConfig;
+import eu.dnetlib.pace.config.Type;
+import eu.dnetlib.pace.model.Field;
+import eu.dnetlib.pace.model.FieldValueImpl;
+import eu.dnetlib.pace.model.MapDocument;
+import eu.dnetlib.pace.model.ProtoDocumentBuilder;
+import eu.dnetlib.pace.model.gt.GTAuthor;
+import eu.dnetlib.pace.model.gt.GTAuthorMapper;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.StringUtils;
+
+public abstract class AbstractProtoPaceTest extends DNGFTest {
+
+	protected DedupConfig getResultFullConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.full.pace.conf"));
+	}
+
+	protected DedupConfig getResultSimpleConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.simple.pace.conf"));
+	}
+
+	protected DedupConfig getResultConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.pace.conf"));
+	}
+
+	protected DedupConfig getOrganizationSimpleConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/organization.pace.conf"));
+	}
+
+	protected DedupConfig getResultAuthorsConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.authors.pace.conf"));
+	}
+
+	protected DedupConfig getPersonConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/person.pace.conf"));
+	}
+
+	protected DedupConfig getResultProdConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.prod.pace.conf"));
+	}
+
+	protected MapDocument person(final Config conf, final String id, final DNGF oaf) {
+		return ProtoDocumentBuilder.newInstance(id, oaf.getEntity(), conf.model());
+	}
+
+	protected DNGF getPersonGT(final String path) {
+		return new GTAuthorMapper().map(getGTAuthor(path));
+	}
+
+	protected GTAuthor getGTAuthor(final String path) {
+
+		final Gson gson = new Gson();
+
+		final String json = readFromClasspath(path);
+
+		final GTAuthor gta = gson.fromJson(json, GTAuthor.class);
+
+		return gta;
+	}
+
+	private String readFromClasspath(final String filename) {
+		final StringWriter sw = new StringWriter();
+		try {
+			IOUtils.copy(getClass().getResourceAsStream(filename), sw);
+			return sw.toString();
+		} catch (final IOException e) {
+			throw new RuntimeException("cannot load resource from classpath: " + filename);
+		}
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title) {
+		return result(config, id, title, null, new ArrayList<String>(), null);
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title, final String date) {
+		return result(config, id, title, date, new ArrayList<String>(), null);
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title, final String date, final List<String> pid) {
+		return result(config, id, title, date, pid, null);
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title, final String date, final String pid) {
+		return result(config, id, title, date, pid, null);
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title, final String date, final String pid, final List<String> authors) {
+		return result(config, id, title, date, Lists.newArrayList(pid), authors);
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title, final String date, final List<String> pid, final List<String> authors) {
+		final Publication.Metadata.Builder metadata = Publication.Metadata.newBuilder();
+		if (!StringUtils.isBlank(title)) {
+			metadata.addTitle(getStruct(title, getQualifier("main title", "dnet:titles")));
+			metadata.addTitle(getStruct(RandomStringUtils.randomAlphabetic(10), getQualifier("alternative title", "dnet:titles")));
+		}
+		if (!StringUtils.isBlank(date)) {
+			metadata.setDateofacceptance(sf(date));
+		}
+
+		final DNGFEntity.Builder entity = dngfEntity(id, TypeProtos.Type.publication);
+		final Publication.Builder result = Publication.newBuilder().setMetadata(metadata);
+
+		if (authors != null) {
+			for (final String author : authors) {
+				result.addAuthor(person(author));
+			}
+		}
+
+		entity.setPublication(result);
+
+		if (pid != null) {
+			for(String p : pid) {
+				if (!StringUtils.isBlank(p)) {
+					entity.addPid(sp(p, "doi"));
+					//entity.addPid(sp(RandomStringUtils.randomAlphabetic(10), "oai"));
+				}
+			}
+		}
+
+		final DNGFEntity build = entity.build();
+		return ProtoDocumentBuilder.newInstance(id, build, config.model());
+	}
+
+	private Person.Builder person(final String author) {
+		final Person.Builder person = Person.newBuilder();
+
+		final eu.dnetlib.pace.model.Person p = new eu.dnetlib.pace.model.Person(author, false);
+		final Person.Metadata.Builder metadata = Person.Metadata.newBuilder();
+		if (p.isAccurate()) {
+			metadata.setFirstname(sf(p.getNormalisedFirstName()));
+			metadata.addSecondnames(sf(p.getNormalisedSurname()));
+			metadata.setFullname(sf(p.getNormalisedFullname()));
+		} else {
+			metadata.setFullname(sf(p.getOriginal()));
+		}
+
+		return person.setMetadata(metadata);
+	}
+
+	private DNGFEntity.Builder dngfEntity(final String id, final eu.dnetlib.data.proto.TypeProtos.Type type) {
+		final DNGFEntity.Builder entity = DNGFEntity.newBuilder().setId(id).setType(type);
+		return entity;
+	}
+
+	protected MapDocument organization(final Config config, final String id, final String legalName) {
+		return organization(config, id, legalName, null);
+	}
+
+	protected MapDocument organization(final Config config, final String id, final String legalName, final String legalShortName) {
+		final Organization.Metadata.Builder metadata = Organization.Metadata.newBuilder();
+		if (legalName != null) {
+			metadata.setLegalname(sf(legalName));
+		}
+		if (legalShortName != null) {
+			metadata.setLegalshortname(sf(legalShortName));
+		}
+
+		final DNGFEntity.Builder entity = dngfEntity(id, TypeProtos.Type.publication);
+		entity.setOrganization(Organization.newBuilder().setMetadata(metadata));
+
+		return ProtoDocumentBuilder.newInstance(id, entity.build(), config.model());
+	}
+
+	private StructuredProperty sp(final String pid, final String type) {
+		final Builder pidSp =
+				StructuredProperty.newBuilder().setValue(pid)
+						.setQualifier(Qualifier.newBuilder().setClassid(type).setClassname(type).setSchemeid("dnet:pid_types").setSchemename("dnet:pid_types"));
+		return pidSp.build();
+	}
+
+	protected Field title(final String s) {
+		return new FieldValueImpl(Type.String, "title", s);
+	}
+
+	protected static StructuredProperty.Builder getStruct(final String value, final Qualifier.Builder qualifier) {
+		return StructuredProperty.newBuilder().setValue(value).setQualifier(qualifier);
+	}
+
+	/*
+	 * protected static StringField.Builder sf(final String s) { return StringField.newBuilder().setValue(s); }
+	 * 
+	 * protected static Qualifier.Builder getQualifier(final String classname, final String schemename) { return
+	 * Qualifier.newBuilder().setClassid(classname).setClassname(classname).setSchemeid(schemename).setSchemename(schemename); }
+	 */
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/transform/OntologyLoaderTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/transform/OntologyLoaderTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/transform/OntologyLoaderTest.java	(revision 51225)
@@ -0,0 +1,75 @@
+package eu.dnetlib.data.transform;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.commons.lang3.StringUtils;
+import org.junit.Assert;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+/**
+ * Created by claudio on 12/12/2016.
+ */
+public class OntologyLoaderTest {
+
+	private String basePath = "/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/";
+
+	@Test
+	public void testLoadOntologyFromCp() {
+
+		final InputStream i = getClass().getResourceAsStream(basePath + "publication_publication_relations.xml");
+
+        Ontology o = OntologyLoader.loadOntologyFromCp(i);
+        checkOntology(o);
+
+        String providedBy = o.inverseOf("isSupplementedBy");
+        assertEquals(providedBy, "isSupplementTo");
+
+        String provides = o.inverseOf("isPartOf");
+        assertEquals(provides, "hasPart");
+    }
+
+	@Test
+	public void testLoadOntologiesFromCp() throws IOException {
+
+		OntologyLoader.loadOntologiesFromCp().values().forEach(o -> checkOntology(o));
+	}
+
+	@Test
+	public void testLoadOntologiesSerialization() throws IOException {
+
+		final Ontologies o = OntologyLoader.loadOntologiesFromCp();
+		assertNotNull(o);
+		final String json = o.toJson(true);
+
+		System.out.println(json);
+
+		assertTrue(StringUtils.isNoneBlank(json));
+
+		final Ontologies o1 = OntologyLoader.loadOntologies(json);
+
+		assertNotNull(o1);
+
+		o1.entrySet().forEach(e -> checkOntology(e.getValue()));
+	}
+
+	private void checkOntology(Ontology o) {
+		Assert.assertNotNull(o);
+		Assert.assertTrue(StringUtils.isNotBlank(o.getCode()));
+		Assert.assertTrue(StringUtils.isNotBlank(o.getDescription()));
+		Assert.assertNotNull(o.getTerms().values());
+
+		o.getTerms().values().forEach(it -> {
+			Assert.assertTrue(StringUtils.isNotBlank(it.getCode()));
+			Assert.assertTrue(StringUtils.isNotBlank(it.getEncoding()));
+			Assert.assertTrue(StringUtils.isNotBlank(it.getEnglishName()));
+			Assert.assertTrue(StringUtils.isNotBlank(it.getNativeName()));
+			Assert.assertTrue(StringUtils.isNotBlank(it.getInverseCode()));
+			Assert.assertNotNull(o.getTerms().get(it.getInverseCode()));
+		});
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/model/ProtoDocumentBuilderTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/model/ProtoDocumentBuilderTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/model/ProtoDocumentBuilderTest.java	(revision 51225)
@@ -0,0 +1,90 @@
+package eu.dnetlib.pace.model;
+
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Sets;
+import com.google.common.collect.Sets.SetView;
+import com.googlecode.protobuf.format.JsonFormat;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
+import eu.dnetlib.pace.AbstractProtoPaceTest;
+import eu.dnetlib.pace.config.Config;
+import eu.dnetlib.pace.model.adaptor.Pid;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class ProtoDocumentBuilderTest extends AbstractProtoPaceTest {
+
+	@Test
+	public void test_serialise1() {
+
+		final String id = "12345";
+
+		final Config config = getResultFullConf();
+
+		final MapDocument document = ProtoDocumentBuilder.newInstance(id, getResult(id), config.model());
+
+		assertFalse(document.fieldNames().isEmpty());
+		assertFalse(Iterables.isEmpty(document.fields()));
+
+		System.out.println("original:\n" + document);
+
+		final String stringDoc = MapDocumentSerializer.toString(document);
+
+		System.out.println("srialization:\n" + stringDoc);
+
+		final MapDocument decoded = MapDocumentSerializer.decode(stringDoc.getBytes());
+
+		final SetView<String> diff = Sets.difference(document.fieldNames(), decoded.fieldNames());
+
+		assertTrue(diff.isEmpty());
+
+		System.out.println("decoded:\n" + decoded);
+	}
+
+	@Test
+	public void test_serialise2() {
+
+		final String id = "12345";
+		final String path = "/eu/dnetlib/pace/model/gt.author.manghi1.json";
+
+		final Config config = getPersonConf();
+
+		final MapDocument document = ProtoDocumentBuilder.newInstance(id, getPersonGT(path).getEntity(), config.model());
+
+		assertFalse(document.fieldNames().isEmpty());
+		assertFalse(Iterables.isEmpty(document.fields()));
+
+		System.out.println("original:\n" + document);
+
+		final String stringDoc = MapDocumentSerializer.toString(document);
+
+		System.out.println("srialization:\n" + stringDoc);
+
+		final MapDocument decoded = MapDocumentSerializer.decode(stringDoc.getBytes());
+
+		final SetView<String> diff = Sets.difference(document.fieldNames(), decoded.fieldNames());
+
+		assertTrue(diff.isEmpty());
+
+		System.out.println("decoded:\n" + decoded);
+	}
+
+
+	@Test
+	public void testPidSerialization() {
+
+		final StructuredProperty sp = StructuredProperty.newBuilder().setValue("1234").setQualifier(
+				Qualifier.newBuilder().setClassid("doi").setClassname("doi").setSchemeid("dnet:pid_types").setSchemename("dnet:pid_types")).build();
+
+		final String json = JsonFormat.printToString(sp);
+
+		final Pid pid = Pid.fromOafJson(json);
+
+
+
+
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRelDecoderTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRelDecoderTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFRelDecoderTest.java	(revision 51225)
@@ -0,0 +1,28 @@
+package eu.dnetlib.data.mapreduce.util;
+
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+
+@Ignore
+public class DNGFRelDecoderTest {
+
+	private DNGFRel dngfRel;
+
+	@Before
+	public void setUp() {
+		//dngfRel = DNGFTest.getPersonPublication("ID_1", "ID_2", "1", "isAuthor");
+	}
+
+	@Test
+	public void testSetClass() {
+
+	}
+
+	@Test
+	public void testGetCF() {
+
+    }
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/transform/simpleRecord.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/transform/simpleRecord.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/transform/simpleRecord.xml	(revision 51225)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<record>
+  <metadata>
+    <a>A text value</a>
+    <b attr="attribute value"/>
+  </metadata>
+</record>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/clustering/ClusteringCombinerTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/clustering/ClusteringCombinerTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/clustering/ClusteringCombinerTest.java	(revision 51225)
@@ -0,0 +1,35 @@
+package eu.dnetlib.pace.clustering;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import eu.dnetlib.pace.AbstractProtoPaceTest;
+import eu.dnetlib.pace.config.Config;
+import eu.dnetlib.pace.config.Type;
+import eu.dnetlib.pace.model.FieldListImpl;
+import eu.dnetlib.pace.model.FieldValueImpl;
+import eu.dnetlib.pace.model.MapDocument;
+
+public class ClusteringCombinerTest extends AbstractProtoPaceTest {
+
+	private Config config;
+
+	@Before
+	public void setUp() {
+		config = getResultFullConf();
+	}
+
+	@Test
+	public void testCombine() {
+		String title = "Dipping in Cygnus X-2 in a multi-wavelength campaign due to absorption of extended ADC emission";
+		MapDocument result = result(config, "A", title, "2013");
+
+		FieldListImpl fl = new FieldListImpl();
+		fl.add(new FieldValueImpl(Type.String, "desc", "lorem ipsum cabalie qwerty"));
+
+		result.getFieldMap().put("desc", fl);
+		System.out.println(title);
+		System.out.println(ClusteringCombiner.combine(result, config));
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/actionmanager/actions/ActionFactoryTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/actionmanager/actions/ActionFactoryTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/actionmanager/actions/ActionFactoryTest.java	(revision 51225)
@@ -0,0 +1,188 @@
+package eu.dnetlib.data.actionmanager.actions;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.xml.transform.TransformerException;
+
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.ActionManagerException;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.Agent;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.Operation;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.Provenance;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.ActionFactory;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.AtomicAction;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.XsltInfoPackageAction;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.io.SAXReader;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.springframework.core.io.Resource;
+
+import static org.junit.Assert.*;
+
+@RunWith(MockitoJUnitRunner.class)
+public class ActionFactoryTest {
+
+	private static final Log log = LogFactory.getLog(ActionFactoryTest.class);
+	private static String basePathProfiles = "/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/";
+	private final static Agent agent = new Agent("agentId", "agentName", Agent.AGENT_TYPE.algo);
+	private final static String trust = "0.9";
+	private final InputStream recordOdfInputStream = getClass().getResourceAsStream("recordOdf.xml");
+	private final InputStream recordOafInputStream = getClass().getResourceAsStream("recordOaf.xml");
+
+	private ActionFactory actionFactory;
+	private Map<String, Resource> xslts = new HashMap<>();
+
+	@Mock
+	private Resource pmf2insertActions;
+	@Mock
+	private Resource pmf2updateActions;
+	@Mock
+	private Resource dmf2insertActions;
+	@Mock
+	private Resource dmf2updateActions;
+	@Mock
+	private Resource rels2actions;
+
+	@Before
+	public void setUp() throws Exception {
+		actionFactory = new ActionFactory();
+
+		xslts.put("pmf2insertActions", pmf2insertActions);
+		xslts.put("pmf2updateActions", pmf2updateActions);
+		xslts.put("dmf2insertActions", dmf2insertActions);
+		xslts.put("dmf2updateActions", dmf2updateActions);
+		xslts.put("rels2actions", rels2actions);
+
+		Mockito.when(pmf2insertActions.getInputStream()).thenReturn(loadFromTransformationProfile("pmf2insertActions.xml"));
+		Mockito.when(pmf2updateActions.getInputStream()).thenReturn(loadFromTransformationProfile("pmf2updateActions.xml"));
+		Mockito.when(dmf2insertActions.getInputStream()).thenReturn(loadFromTransformationProfile("dmf2insertActions.xml"));
+		Mockito.when(dmf2updateActions.getInputStream()).thenReturn(loadFromTransformationProfile("dmf2updateActions.xml"));
+
+		actionFactory.setXslts(xslts);
+	}
+
+	@Test
+	public void testBeans() {
+		assertNotNull(actionFactory);
+		assertNotNull(actionFactory.getXslts());
+		assertFalse(actionFactory.getXslts().isEmpty());
+	}
+
+	@Test
+	public void testDatasetInsert() throws ActionManagerException, IOException, TransformerException, DocumentException {
+
+		XsltInfoPackageAction action =
+				actionFactory.generateInfoPackageAction("dmf2insertActions", "rawSet", agent, Operation.INSERT, asString(recordOdfInputStream),
+						Provenance.sysimport_crosswalk_datasetarchive, "datacite____", trust);
+
+		checkActions(action, action.asAtomicActions());
+	}
+
+	@Test
+	public void testDatasetUpdate() throws ActionManagerException, IOException, TransformerException, DocumentException {
+
+		XsltInfoPackageAction action =
+				actionFactory.generateInfoPackageAction("dmf2updateActions", "rawSet", agent, Operation.UPDATE, asString(recordOdfInputStream),
+						Provenance.sysimport_crosswalk_datasetarchive, "datacite____", trust);
+
+		checkActions(action, action.asAtomicActions());
+	}
+
+	@Test
+	public void testPublicationInsert() throws ActionManagerException, IOException, TransformerException, DocumentException {
+
+		XsltInfoPackageAction action =
+				actionFactory.generateInfoPackageAction("pmf2insertActions", "rawSet", agent, Operation.INSERT, asString(recordOafInputStream),
+						Provenance.sysimport_crosswalk_datasetarchive, "od_______296", trust);
+
+		checkActions(action, action.asAtomicActions());
+	}
+
+	@Test
+	public void testPublicationUpdate() throws ActionManagerException, IOException, TransformerException, DocumentException {
+
+		XsltInfoPackageAction action =
+				actionFactory.generateInfoPackageAction("pmf2updateActions", "rawSet", agent, Operation.INSERT, asString(recordOafInputStream),
+						Provenance.sysimport_crosswalk_datasetarchive, "od_______296", trust);
+		checkActions(action, action.asAtomicActions());
+	}
+
+	private void checkActions(final XsltInfoPackageAction action, final List<AtomicAction> atomicActionList)
+			throws TransformerException, DocumentException, com.google.protobuf.InvalidProtocolBufferException {
+		for (AtomicAction a : action.calculateAtomicActions()) {
+			assertNotNull(a.getTargetValue());
+
+			String actionJSON = AtomicActionSerialiser.toJSON(a);
+
+			log.info(actionJSON);
+
+			final AtomicAction aa = AtomicActionDeserialiser.fromJSON(actionJSON);
+
+			assertEquals(a.getRawSet(), aa.getRawSet());
+			assertEquals(a.getTargetColumn(), aa.getTargetColumn());
+			assertEquals(a.getTargetColumnFamily(), aa.getTargetColumnFamily());
+			assertEquals(a.getTargetRowKey(), aa.getTargetRowKey());
+			assertEquals(a.getActionType(), aa.getActionType());
+			assertEquals(a.getRowKey(), aa.getRowKey());
+
+			assertEquals(a.getAgent().getId(), aa.getAgent().getId());
+			assertEquals(a.getAgent().getName(), aa.getAgent().getName());
+			assertEquals(a.getAgent().getType(), aa.getAgent().getType());
+
+			assertTrue(Arrays.equals(a.getTargetValue(), aa.getTargetValue()));
+
+			System.out.println(DNGF.parseFrom(aa.getTargetValue()));
+		}
+
+		for (AtomicAction aa : atomicActionList) {
+			assertNotNull(aa);
+		}
+		log.info("N. puts: " + atomicActionList.size());
+	}
+
+	private String asString(final InputStream i) throws IOException {
+		StringWriter writer = new StringWriter();
+		IOUtils.copy(i, writer);
+		return writer.toString();
+	}
+
+	private InputStream loadFromTransformationProfile(final String profilePath) {
+		log.info("Loading xslt from: " + basePathProfiles + profilePath);
+		InputStream profile = getClass().getResourceAsStream(basePathProfiles + profilePath);
+		final String s;
+		try {
+			s = IOUtils.toString(profile);
+			log.debug("profile: " + s);
+		} catch (IOException e) {
+			e.printStackTrace();
+			throw new RuntimeException(e);
+		}
+
+		final SAXReader saxReader = new SAXReader();
+		Document doc = null;
+
+		try {
+			doc = saxReader.read(new StringReader(s));
+		} catch (DocumentException e) {
+			e.printStackTrace();
+			throw new RuntimeException(e);
+		}
+		String xslt = doc.selectSingleNode("//SCRIPT/CODE/*[local-name()='stylesheet']").asXML();
+		return IOUtils.toInputStream(xslt);
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/log4j.properties
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/log4j.properties	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/log4j.properties	(revision 51225)
@@ -0,0 +1,15 @@
+### Root Level ###
+log4j.rootLogger=WARN, CONSOLE
+
+### Configuration for the CONSOLE appender ###
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d %c - %m%n
+
+org.apache.cxf.Logger=org.apache.cxf.common.logging.Log4jLogger
+
+### Application Level ###
+log4j.logger.eu.dnetlib=INFO
+log4j.logger.eu.dnetlib.pace=DEBUG
+log4j.logger.eu.dnetlib.rmi.data.hadoop.actionmanager.actions.ActionFactory=INFO
+log4j.logger.eu.dnetlib.data.actionmanager.actions.ActionFactoryTest=INFO
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.fo.json
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.fo.json	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.fo.json	(revision 51225)
@@ -0,0 +1,443 @@
+{
+  "id": "30|dedup_wf_001::e78059705c3885a10440c8021afbdd4a",
+  "author": {
+    "frequency": 6,
+    "id": "30|od______2294::9897283f935d7c2f4c11cebf65ae3098",
+    "fullname": "Manghi, Paolo",
+    "firstname": "Paolo",
+    "secondnames": "Manghi"
+  },
+  "merged": [
+    {
+      "id": "30|od______2294::9897283f935d7c2f4c11cebf65ae3098",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "id": "30|doaj10829873::6cff63f7eafbb51fd6a1c268f4f0227f",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "id": "30|od______2367::9897283f935d7c2f4c11cebf65ae3098",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "id": "30|doaj10829873::f67c45f3bd4e4e4c4942a373799e0457",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "id": "30|doaj10829873::39a29e7c15e04cdef8aecaa062b4f000",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "id": "30|doaj10829873::f9b4de41343d956271d88f93ba68c31d",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    }
+  ],
+  "coAuthors": [
+    {
+      "anchorId": "30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b",
+      "id": "30|od_______307::e0c601b1613eec62abb99e2591168fba",
+      "fullname": "Rodrigues, Eloy",
+      "firstname": "Eloy",
+      "secondnames": "Rodrigues"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::73aac4e0ca21747def81773cdf242152",
+      "id": "30|od______2367::069aab4b3defa55d5fb573838e54ed10",
+      "fullname": "Werf, Titia",
+      "firstname": "Titia",
+      "secondnames": "Werf"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::cd493693f2e04159d419cfbea6042944",
+      "id": "30|doaj10829873::0acf7cdc45040bd02482b94760af9db5",
+      "fullname": "Smith, Tim",
+      "firstname": "Tim",
+      "secondnames": "Smith"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::4867c41ae4006a89a4e00fa5b2ace526",
+      "id": "30|od______2294::717184cb6436add31e3ce0ba86ba2476",
+      "fullname": "Katifori, Akrivi",
+      "firstname": "Akrivi",
+      "secondnames": "Katifori"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d17df318b8ab8b17ac2b016767e183b4",
+      "id": "30|od______2367::d24f772460583eb514d0465f77f15030",
+      "fullname": "Rettberg, Najla",
+      "firstname": "Najla",
+      "secondnames": "Rettberg"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d",
+      "id": "30|od______2367::ef2914f870d83e32764f2e0db122d0c4",
+      "fullname": "Houssos, Nikos",
+      "firstname": "Nikos",
+      "secondnames": "Houssos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::ce0c9316f1d270fe7c021ac010378189",
+      "id": "30|od______2294::ef2914f870d83e32764f2e0db122d0c4",
+      "fullname": "Houssos, Nikos",
+      "firstname": "Nikos",
+      "secondnames": "Houssos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::271f098792b54069a4d77b4fee16b354",
+      "id": "30|od______2294::217bb36de851aacdeae92250959e5af9",
+      "fullname": "Schmidt, Birgit",
+      "firstname": "Birgit",
+      "secondnames": "Schmidt"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::19651c25c06f8ddbf8fb582efa51bb10",
+      "id": "30|od______2367::c48a8036130fc6f9a73348ba3be40041",
+      "fullname": "Biagini, Federico",
+      "firstname": "Federico",
+      "secondnames": "Biagini"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774",
+      "id": "30|od______2367::44afefb40235eadaa9424f735dc569ad",
+      "fullname": "Schirrwagen, Jochen",
+      "firstname": "Jochen",
+      "secondnames": "Schirrwagen"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
+      "id": "30|doaj10829873::269dbf736b973d298160217072f127bd",
+      "fullname": "Candela, Leonardo",
+      "firstname": "Leonardo",
+      "secondnames": "Candela"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999",
+      "id": "30|od______2367::a93eb6a6cbfce5bcdf86cb743f788077",
+      "fullname": "Castelli, Donatella",
+      "firstname": "Donatella",
+      "secondnames": "Castelli"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::731b5090d3f9c6dac58ad770b1a29e13",
+      "id": "30|doaj10829873::c6cc48d8aa310a1d2c87f5df7c5576bb",
+      "fullname": "Bardi, Alessia",
+      "firstname": "Alessia",
+      "secondnames": "Bardi"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a",
+      "id": "30|od______2367::9c743b25e78b06608d4214ba18f92690",
+      "fullname": "Bolikowski, Lukasz",
+      "firstname": "Lukasz",
+      "secondnames": "Bolikowski"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d71c73319eda487f9b56e860e2c1794f",
+      "id": "30|od______2367::c11bdd64efcd19316ef10c1967392565",
+      "fullname": "Peters, Dale",
+      "firstname": "Dale",
+      "secondnames": "Peters"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::2c561a4cbd689f4729324744fb046995",
+      "id": "30|doaj10829873::80724b7b737d6c51b3733eaf9da4b605",
+      "fullname": "Mikulicic, Marko",
+      "firstname": "Marko",
+      "secondnames": "Mikulicic"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::cd493693f2e04159d419cfbea6042944",
+      "id": "30|od______2367::b340050a287b2601d330547261fe82bc",
+      "fullname": "Smith, Tim",
+      "firstname": "Tim",
+      "secondnames": "Smith"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774",
+      "id": "30|od______2294::44afefb40235eadaa9424f735dc569ad",
+      "fullname": "Schirrwagen, Jochen",
+      "firstname": "Jochen",
+      "secondnames": "Schirrwagen"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::f41b3d7b95be894f9bd7a30b08f50313",
+      "id": "30|od______2294::45f6127ede0d24d16a5007ceff0a2d4b",
+      "fullname": "Horstmann, Wolfram",
+      "firstname": "Wolfram",
+      "secondnames": "Horstmann"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19",
+      "id": "30|od______2367::08fc98b1a1e2e2de97e3ecdd1b8174d0",
+      "fullname": "Pagano, Pasquale",
+      "firstname": "Pasquale",
+      "secondnames": "Pagano"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5",
+      "id": "30|od______2367::c68257b7b29d6c1b372856f371e3ba24",
+      "fullname": "Manola, Natalia",
+      "firstname": "Natalia",
+      "secondnames": "Manola"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
+      "id": "30|od______2367::8fd116733ee055e8bee96e422b4142ca",
+      "fullname": "Candela, Leonardo",
+      "firstname": "Leonardo",
+      "secondnames": "Candela"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::4867c41ae4006a89a4e00fa5b2ace526",
+      "id": "30|od______2367::717184cb6436add31e3ce0ba86ba2476",
+      "fullname": "Katifori, Akrivi",
+      "firstname": "Akrivi",
+      "secondnames": "Katifori"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::2c561a4cbd689f4729324744fb046995",
+      "id": "30|od______2367::fe0e336ba013e433486e92b8e30435c1",
+      "fullname": "Mikulicic, Marko",
+      "firstname": "Marko",
+      "secondnames": "Mikulicic"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
+      "id": "30|od______2294::8fd116733ee055e8bee96e422b4142ca",
+      "fullname": "Candela, Leonardo",
+      "firstname": "Leonardo",
+      "secondnames": "Candela"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::ef5fbc9697bc7bf23f9cedc92f855466",
+      "id": "30|od______2367::7aab6e55da61a2f412b9764e3554154a",
+      "fullname": "Assante, Massimiliano",
+      "firstname": "Massimiliano",
+      "secondnames": "Assante"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774",
+      "id": "30|doaj10829873::6bb80887219a5ea64915d84d373e3eb5",
+      "fullname": "Schirrwagen, Jochen",
+      "firstname": "Jochen",
+      "secondnames": "Schirrwagen"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::ca57380f88fb4920d67e024c0af0c715",
+      "id": "30|od______2294::2ca703acc4dd66064135c1afc5e976b8",
+      "fullname": "Horst, Marek",
+      "firstname": "Marek",
+      "secondnames": "Horst"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::2317e62318581e89976523d2553977e2",
+      "id": "30|od______2367::545b78ed508339ab728beee05f312db1",
+      "fullname": "Zoppi, Franco",
+      "firstname": "Franco",
+      "secondnames": "Zoppi"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::152c124f2f79b57d16500a3b8a63b93c",
+      "id": "30|od______2367::ee0556ce5974761280b8be0812a586b3",
+      "fullname": "Bolikowski, Å<U+0081>ukasz",
+      "firstname": "Å<U+0081>ukasz",
+      "secondnames": "Bolikowski"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999",
+      "id": "30|doaj10829873::a3c59fe161823ef7fadbd1bb216c34bb",
+      "fullname": "Castelli, Donatella",
+      "firstname": "Donatella",
+      "secondnames": "Castelli"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::731b5090d3f9c6dac58ad770b1a29e13",
+      "id": "30|od______2367::3fbd0b3533bd0e6089c1fe68b115f772",
+      "fullname": "Bardi, Alessia",
+      "firstname": "Alessia",
+      "secondnames": "Bardi"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19",
+      "id": "30|doaj10829873::9e7037bbf8b59564442aa12b6b424747",
+      "fullname": "Pagano, Pasquale",
+      "firstname": "Pasquale",
+      "secondnames": "Pagano"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::eacced7c9132e343948bf51698a1c927",
+      "id": "30|od______2367::22272e3e38161be671abad3f27c68e36",
+      "fullname": "Mikulic, Marko",
+      "firstname": "Marko",
+      "secondnames": "Mikulic"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5",
+      "id": "30|od______2294::c68257b7b29d6c1b372856f371e3ba24",
+      "fullname": "Manola, Natalia",
+      "firstname": "Natalia",
+      "secondnames": "Manola"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::f41b3d7b95be894f9bd7a30b08f50313",
+      "id": "30|od______2367::45f6127ede0d24d16a5007ceff0a2d4b",
+      "fullname": "Horstmann, Wolfram",
+      "firstname": "Wolfram",
+      "secondnames": "Horstmann"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::ca57380f88fb4920d67e024c0af0c715",
+      "id": "30|od______2367::2ca703acc4dd66064135c1afc5e976b8",
+      "fullname": "Horst, Marek",
+      "firstname": "Marek",
+      "secondnames": "Horst"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::7b1fe51141418a62b56f9c3bd5bccaa7",
+      "id": "30|od______2367::2638f44b18089930e67bbd5633f9b103",
+      "fullname": "Debole, Franca",
+      "firstname": "Franca",
+      "secondnames": "Debole"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d17df318b8ab8b17ac2b016767e183b4",
+      "id": "30|od______2294::d24f772460583eb514d0465f77f15030",
+      "fullname": "Rettberg, Najla",
+      "firstname": "Najla",
+      "secondnames": "Rettberg"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19",
+      "id": "30|doaj10829873::b3795485a89b87aabeff16b81f2ff24d",
+      "fullname": "Pagano, Pasquale",
+      "firstname": "Pasquale",
+      "secondnames": "Pagano"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d71c73319eda487f9b56e860e2c1794f",
+      "id": "30|od______2294::c11bdd64efcd19316ef10c1967392565",
+      "fullname": "Peters, Dale",
+      "firstname": "Dale",
+      "secondnames": "Peters"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::9bfaee15b25e210ab56dfa6f57c6417e",
+      "id": "30|od______2367::81d934153eb100552ef4b398e243dd45",
+      "fullname": "La Bruzzo, Sandro",
+      "firstname": "Sandro",
+      "secondnames": "La Bruzzo"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a",
+      "id": "30|doaj10829873::2abbf092ab99aaaf0a52969141fc0070",
+      "fullname": "Bolikowski, Lukasz",
+      "firstname": "Lukasz",
+      "secondnames": "Bolikowski"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::cd493693f2e04159d419cfbea6042944",
+      "id": "30|od______2294::b340050a287b2601d330547261fe82bc",
+      "fullname": "Smith, Tim",
+      "firstname": "Tim",
+      "secondnames": "Smith"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::2d413333206599ee864738c521dbe5b3",
+      "id": "30|od______2367::39c67e010b85a6a79e54e94b2a789221",
+      "fullname": "Savino, Pasquale",
+      "firstname": "Pasquale",
+      "secondnames": "Savino"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
+      "id": "30|doaj10829873::515b938f185f85e1a91849337310c4b7",
+      "fullname": "Candela, Leonardo",
+      "firstname": "Leonardo",
+      "secondnames": "Candela"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::c4d99fedf82781b5cae2225cf8049426",
+      "id": "30|od______2294::e931b1326351ef5b3bb2b89f3fc4244c",
+      "fullname": "Kobos, Mateusz",
+      "firstname": "Mateusz",
+      "secondnames": "Kobos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5",
+      "id": "30|doaj10829873::d4df586c008bca6df713f84070d3e1c3",
+      "fullname": "Manola, Natalia",
+      "firstname": "Natalia",
+      "secondnames": "Manola"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::152c124f2f79b57d16500a3b8a63b93c",
+      "id": "30|od______2294::029cfdbbd0fcb888f4efbfe1dde81721",
+      "fullname": "Bolikowski, Łukasz",
+      "firstname": "Łukasz",
+      "secondnames": "Bolikowski"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::7b9bd8e96778de90c911e0fcc8821bcc",
+      "id": "30|od______2367::c96e9db5145834320c37332ef96802f6",
+      "fullname": "Artini, Michele",
+      "firstname": "Michele",
+      "secondnames": "Artini"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a",
+      "id": "30|od______2294::9c743b25e78b06608d4214ba18f92690",
+      "fullname": "Bolikowski, Lukasz",
+      "firstname": "Lukasz",
+      "secondnames": "Bolikowski"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999",
+      "id": "30|doaj10829873::347ee2414e420e4aec5395146956d8c0",
+      "fullname": "Castelli, Donatella",
+      "firstname": "Donatella",
+      "secondnames": "Castelli"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::5850f94defb717ab4e7be63e6d4d2d12",
+      "id": "30|od______2367::de34cde81e9e864703f58d615ea0cf69",
+      "fullname": "Siebinga, Sjoerd",
+      "firstname": "Sjoerd",
+      "secondnames": "Siebinga"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::271f098792b54069a4d77b4fee16b354",
+      "id": "30|od______2367::217bb36de851aacdeae92250959e5af9",
+      "fullname": "Schmidt, Birgit",
+      "firstname": "Birgit",
+      "secondnames": "Schmidt"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::ca57ee88d3a6d5e2908b09c5aae07f97",
+      "id": "30|od______2367::ddd745ebf411904db3cd353539f6e079",
+      "fullname": "Mieldijk, Mario",
+      "firstname": "Mario",
+      "secondnames": "Mieldijk"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::c4d99fedf82781b5cae2225cf8049426",
+      "id": "30|od______2367::e931b1326351ef5b3bb2b89f3fc4244c",
+      "fullname": "Kobos, Mateusz",
+      "firstname": "Mateusz",
+      "secondnames": "Kobos"
+    }
+  ],
+  "anchor": true
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.full.pace.conf
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.full.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.full.pace.conf	(revision 51225)
@@ -0,0 +1,51 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "result", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "result" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {		
+		"clustering" : [
+			{ "name" : "acronyms", "fields" : [ "title" ], "params" : { "max" : "1", "minLen" : "2", "maxLen" : "4"} },
+			{ "name" : "ngrampairs", "fields" : [ "title" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+			{ "name" : "suffixprefix", "fields" : [ "title" ], "params" : { "max" : "1", "len" : "3" } } 
+		],		
+		"conditions" : [
+  			{ "name" : "yearMatch", "fields" : [ "dateofacceptance" ] },
+  			{ "name" : "titleVersionMatch", "fields" : [ "title" ] },
+  			{ "name" : "sizeMatch", "fields" : [ "authors" ] } ,
+				{ "name" : "pidMatch", "fields" : [ "pid" ] }
+  		],		
+		"model" : [
+			{ "name" : "pid", "algo" : "Null", "type" : "JSON", "weight" : "0.0", "ignoreMissing" : "true", "path" : "pid", "overrideMatch" : "true" },
+			{ "name" : "title", "algo" : "JaroWinkler", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "publication/metadata/title[qualifier#classid = {main title}]/value" },
+			{ "name" : "dateofacceptance", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "publication/metadata/dateofacceptance/value" } ,
+			{ "name" : "authors", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "publication/author/metadata/fullname/value" }
+		],
+		"blacklists" : {
+			"title" : [
+				"^(Corpus Oral Dialectal \\(COD\\)\\.).*$",
+				"^(Kiri Karl Morgensternile).*$",
+				"^(\\[Eksliibris Aleksandr).*\\]$",
+				"^(\\[Eksliibris Aleksandr).*$",
+				"^(Eksliibris Aleksandr).*$",
+				"^(Kiri A\\. de Vignolles).*$",
+				"^(2 kirja Karl Morgensternile).*$",
+				"^(Pirita kloostri idaosa arheoloogilised).*$",
+				"^(Kiri tundmatule).*$",
+				"^(Kiri Jenaer Allgemeine Literaturzeitung toimetusele).*$",
+				"^(Eksliibris Nikolai Birukovile).*$",
+				"^(Eksliibris Nikolai Issakovile).*$",
+				"^(WHP Cruise Summary Information of section).*$",
+				"^(Measurement of the top quark\\-pair production cross section with ATLAS in pp collisions at).*$",
+				"^(Measurement of the spin\\-dependent structure function).*"
+			] } 		
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/person.pace.conf
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/person.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/person.pace.conf	(revision 51225)
@@ -0,0 +1,50 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "person", 
+        "orderField" : "person", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "person" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {
+	  		"conditions" : [
+  		 ],		
+		"model" : [	
+			{ "name" : "fullname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person/metadata/fullname/value", "params" : { } },
+			{ "name" : "coanchors", "algo" : "PersonCoAnchorsDistance", "type" : "JSON", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person", "params" : { "common.anchors" : "1" } },
+			{ "name" : "coauthorsurnames", "algo" : "PersonCoAuthorSurnamesDistance", "type" : "JSON", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person", "params" : { "common.surnames" : "4" } },
+			{ "name" : "lastname", "algo" : "Null", "type" : "String", "weight" : "0", "ignoreMissing" : "true", "path" : "person/metadata/secondnames/value" }
+		],
+		"blacklists" : { 
+			"lastname" : [
+				"(?i)^wang$",
+				"(?i)^~wang$",
+				"(?i)^zhang$",
+				"(?i)^zhou$",
+				"(?i)^zhao$",				
+				"(?i)^li$",
+				"(?i)^~li$",
+				"(?i)^liu$",
+				"(?i)^chen$",
+				"(?i)^yang$",
+				"(?i)^kim$",
+				"(?i)^xu$",
+				"(?i)^huang$",
+				"(?i)^sun$",
+				"(?i)^lee$",
+				"(?i)^ma$",
+				"(?i)^kim$",
+				"(?i)^hu$",
+				"(?i)^wu$",				
+				"(?i)^zhu$",
+				"(?i)^lu$"
+			]
+		
+		} 		
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/WebInterfaceLayoutResources/WebInterfaceLayoutResourceType/4352524d-4083-409d-929a-fa3269affbc6.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/WebInterfaceLayoutResources/WebInterfaceLayoutResourceType/4352524d-4083-409d-929a-fa3269affbc6.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/WebInterfaceLayoutResources/WebInterfaceLayoutResourceType/4352524d-4083-409d-929a-fa3269affbc6.xml	(revision 51225)
@@ -0,0 +1,882 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4352524d-4083-409d-929a-fa3269affbc6_V2ViSW50ZXJmYWNlTGF5b3V0UmVzb3VyY2VzL1dlYkludGVyZmFjZUxheW91dFJlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="WebInterfaceLayoutResourceType"/>
+        <RESOURCE_KIND value="WebInterfaceLayoutResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2010-11-30T17:54:35+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <NAME>openaire</NAME>
+            <MDFORMAT_NAME>DMF</MDFORMAT_NAME>
+            <INDEX_LAYOUT_NAME>index</INDEX_LAYOUT_NAME>
+        </CONFIGURATION>
+        <CSS_FILE>driver_search.css</CSS_FILE>
+        <SUPPORTED_LOCALES>
+            <SUPPORTED_LOCALE DEFAULT="true">
+                <LOCALE>en_GB</LOCALE>
+            </SUPPORTED_LOCALE>
+        </SUPPORTED_LOCALES>
+        <SEARCHABLES>
+            <SEARCHABLE hidden="false">
+                <NAME>author</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>creator</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Author</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">author</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>title</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>title</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Title</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">title</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>2</SEARCH_RANK>
+                <REFINE_RANK>2</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>subject</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>subject</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Subject</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">subject</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>3</SEARCH_RANK>
+                <REFINE_RANK>3</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>publisher</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>publisher</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Publisher</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">publisher</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>5</SEARCH_RANK>
+                <REFINE_RANK>5</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>dateAccept</NAME>
+                <TYPE>date</TYPE>
+                <INDEX_TYPE>publicationdate</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Publication Date</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">published</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>8</SEARCH_RANK>
+                <REFINE_RANK>-1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+                <FROM_YEAR>1980</FROM_YEAR>
+                <TO_YEAR>-1</TO_YEAR>
+                <PERIOD_BACK_MAP>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">0</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the specified date range</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">1</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last one month</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">2</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 2 months</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">3</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 3 months</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">6</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 6 months</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">12</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 12 months</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">24</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 2 years</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">36</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 3 years</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">60</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 5 years</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">120</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 10 years</value>
+                        </value>
+                    </mapEntry>
+                </PERIOD_BACK_MAP>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>lang</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>language</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Document Language</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">language</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>true</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>9</SEARCH_RANK>
+                <REFINE_RANK>7</REFINE_RANK>
+                <BROWSE_RANK>1</BROWSE_RANK>
+                <SEARCH_VOCABULARY>Short list of language names</SEARCH_VOCABULARY>
+                <BROWSE_VOCABULARY>Names of languages</BROWSE_VOCABULARY>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="true">
+                <NAME>project</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>projectname</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Project</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">project</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>true</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>areaid</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>subdivisionid</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Scientific Areas</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">area</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>true</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>11</SEARCH_RANK>
+                <REFINE_RANK>9</REFINE_RANK>
+                <BROWSE_RANK>3</BROWSE_RANK>
+                <SEARCH_VOCABULARY>subdivisionNames</SEARCH_VOCABULARY>
+                <BROWSE_VOCABULARY>subdivisionNames</BROWSE_VOCABULARY>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="true">
+                <NAME>area</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>subdivisionname</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Scientific Area</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">area</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>country</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>countryaffiliation</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Country</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">country</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>true</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+                <SEARCH_VOCABULARY>Names of Countries</SEARCH_VOCABULARY>
+                <BROWSE_VOCABULARY>Names of Countries</BROWSE_VOCABULARY>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>programmeid</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>specificprogrammeid</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Programmes</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">programmes</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>true</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>11</SEARCH_RANK>
+                <REFINE_RANK>9</REFINE_RANK>
+                <BROWSE_RANK>3</BROWSE_RANK>
+                <SEARCH_VOCABULARY>programmeNames</SEARCH_VOCABULARY>
+                <BROWSE_VOCABULARY>programmeNames</BROWSE_VOCABULARY>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="true">
+                <NAME>programme</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>specificprogrammename</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Programmes</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">programmes</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>repName</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>datasourcename</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Repositories</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">repositories</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>11</SEARCH_RANK>
+                <REFINE_RANK>9</REFINE_RANK>
+                <BROWSE_RANK>3</BROWSE_RANK>
+                <SEARCH_VOCABULARY>Names of Repositories</SEARCH_VOCABULARY>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="true">
+                <NAME>year</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>publicationyear</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Publication Year</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">year</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>11</SEARCH_RANK>
+                <REFINE_RANK>9</REFINE_RANK>
+                <BROWSE_RANK>3</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="true">
+                <NAME>accessmode</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>accessmode</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Access Mode</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">access</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+        </SEARCHABLES>
+        <DOCUMENT_DESCRIPTIONS>
+            <entry>
+                <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">summaryView</key>
+                <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="DocumentDescriptionType">
+                    <view>summaryView</view>
+                    <documentFields>
+                        <documentField>
+                            <switch conditionField="CobjTypology">
+                                <documentFieldMap>
+                                    <entry>
+                                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Compound Object</key>
+                                        <value xsi:type="DocumentFieldType">
+                                            <name>identifier</name>
+                                            <descriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                </entry>
+                                            </descriptionMap>
+                                            <forceDescription>true</forceDescription>
+                                            <multipleValuesDescriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">You can also visit...</value>
+                                                </entry>
+                                            </multipleValuesDescriptionMap>
+                                            <displays>
+                                                <display>
+                                                    <displayType>internalUrl</displayType>
+                                                    <action>showEPublication</action>
+                                                    <parameter>epId</parameter>
+                                                    <descriptionMap>
+                                                        <entry>
+                                                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                        </entry>
+                                                    </descriptionMap>
+                                                </display>
+                                            </displays>
+                                            <maxCharacters>1</maxCharacters>
+                                            <cutpoint>value</cutpoint>
+                                            <cssClass>document_ep</cssClass>
+                                        </value>
+                                    </entry>
+                                    <entry>
+                                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Textual</key>
+                                        <value xsi:type="DocumentFieldType">
+                                            <name>identifier</name>
+                                            <descriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                </entry>
+                                            </descriptionMap>
+                                            <forceDescription>true</forceDescription>
+                                            <multipleValuesDescriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">You can also visit...</value>
+                                                </entry>
+                                            </multipleValuesDescriptionMap>
+                                            <displays>
+                                                <display>
+                                                    <displayType>documentExternalUrl</displayType>
+                                                    <descriptionMap>
+                                                        <entry>
+                                                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                        </entry>
+                                                    </descriptionMap>
+                                                </display>
+                                            </displays>
+                                            <maxCharacters>1</maxCharacters>
+                                            <cutpoint>value</cutpoint>
+                                            <cssClass>document_text</cssClass>
+                                        </value>
+                                    </entry>
+                                </documentFieldMap>
+                            </switch>
+                            <cutpoint>line</cutpoint>
+                        </documentField>
+                        <documentField>
+                            <name>creator</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Author(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>search</displayType>
+                                    <label>author</label>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>100</maxCharacters>
+                            <cutpoint>value</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>projectname</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Project(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>300</maxCharacters>
+                            <cutpoint>part</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                    </documentFields>
+                </value>
+            </entry>
+            <entry>
+                <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">detailedView</key>
+                <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="DocumentDescriptionType">
+                    <view>detailedView</view>
+                    <documentFields>
+                        <documentField>
+                            <switch conditionField="CobjTypology">
+                                <documentFieldMap>
+                                    <entry>
+                                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Compound Object</key>
+                                        <value xsi:type="DocumentFieldType">
+                                            <name>identifier</name>
+                                            <descriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                </entry>
+                                            </descriptionMap>
+                                            <forceDescription>true</forceDescription>
+                                            <multipleValuesDescriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">You can also visit...</value>
+                                                </entry>
+                                            </multipleValuesDescriptionMap>
+                                            <displays>
+                                                <display>
+                                                    <displayType>internalUrl</displayType>
+                                                    <action>showEPublication</action>
+                                                    <parameter>epId</parameter>
+                                                    <descriptionMap>
+                                                        <entry>
+                                                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                        </entry>
+                                                    </descriptionMap>
+                                                </display>
+                                            </displays>
+                                            <maxCharacters>1</maxCharacters>
+                                            <cutpoint>value</cutpoint>
+                                            <cssClass>document_ep</cssClass>
+                                        </value>
+                                    </entry>
+                                    <entry>
+                                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Textual</key>
+                                        <value xsi:type="DocumentFieldType">
+                                            <name>identifier</name>
+                                            <descriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                </entry>
+                                            </descriptionMap>
+                                            <forceDescription>true</forceDescription>
+                                            <multipleValuesDescriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">You can also visit...</value>
+                                                </entry>
+                                            </multipleValuesDescriptionMap>
+                                            <displays>
+                                                <display>
+                                                    <displayType>documentExternalUrl</displayType>
+                                                    <descriptionMap>
+                                                        <entry>
+                                                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                        </entry>
+                                                    </descriptionMap>
+                                                </display>
+                                            </displays>
+                                            <maxCharacters>1</maxCharacters>
+                                            <cutpoint>value</cutpoint>
+                                            <cssClass>document_text</cssClass>
+                                        </value>
+                                    </entry>
+                                </documentFieldMap>
+                            </switch>
+                            <cutpoint>line</cutpoint>
+                        </documentField>
+                        <documentField>
+                            <name>creator</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Author(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>search</displayType>
+                                    <label>author</label>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>100</maxCharacters>
+                            <cutpoint>value</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>projectname</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Project(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>300</maxCharacters>
+                            <cutpoint>part</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>description</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Description</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>300</maxCharacters>
+                            <cutpoint>part</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>specificprogrammedescription</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Programme(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>300</maxCharacters>
+                            <cutpoint>part</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>subdivisionname</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Scientific Area(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>subject</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Subject(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>datasourcename</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Repository</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>300</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>language</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Language(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <vocabulary>Names of Languages</vocabulary>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>100</maxCharacters>
+                            <cutpoint>value</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>publisher</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Publisher(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>publicationdate</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Publication Date(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>embargoenddate</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Embargo End Date</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>accessmode</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Access Mode</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                    </documentFields>
+                </value>
+            </entry>
+        </DOCUMENT_DESCRIPTIONS>
+        <VIEW_COMMUNITIES>false</VIEW_COMMUNITIES>
+        <VIEW_COLLECTIONS>false</VIEW_COLLECTIONS>
+        <VIEW_REPOSITORIES>true</VIEW_REPOSITORIES>
+        <VIEW_ANNOUNCEMENTS>true</VIEW_ANNOUNCEMENTS>
+        <VIEW_USER_PROFILE>true</VIEW_USER_PROFILE>
+        <VIEW_SIMILAR_DOCUMENTS>false</VIEW_SIMILAR_DOCUMENTS>
+        <VIEW_EPUBLICATIONS>false</VIEW_EPUBLICATIONS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/OntologyLoader.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/OntologyLoader.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/OntologyLoader.java	(revision 51225)
@@ -0,0 +1,140 @@
+package eu.dnetlib.data.transform;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import javax.annotation.PostConstruct;
+
+import com.google.common.collect.Maps;
+import com.google.gson.Gson;
+import eu.dnetlib.enabling.locators.UniqueServiceLocator;
+import eu.dnetlib.rmi.enabling.ISLookUpException;
+import eu.dnetlib.rmi.enabling.ISLookUpService;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.Element;
+import org.dom4j.Node;
+import org.dom4j.io.SAXReader;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by claudio on 12/12/2016.
+ */
+@Component
+public class OntologyLoader {
+
+	private static final Log log = LogFactory.getLog(OntologyLoader.class);
+
+	private static final String PATTERN = "classpath*:/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/*.xml";
+
+    private static UniqueServiceLocator staticServiceLocator;
+
+    @Autowired
+    private UniqueServiceLocator serviceLocator;
+
+	public static Ontology loadOntologyFromCp(final InputStream profile) {
+        return loadOntologyProfilefromPath(profile);
+    }
+
+    public static Ontologies loadOntologiesFromCp() throws IOException {
+	    final PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
+	    final List<InputStream> files = Arrays.asList(resolver.getResources(PATTERN)).stream().map(r -> {
+		    try {
+			    return r.getInputStream();
+		    } catch (IOException e) {
+			    throw new RuntimeException(e);
+		    }
+	    }).collect(Collectors.toList());
+
+        return createOntologies(files);
+    }
+
+    public static Ontologies createOntologies(List<InputStream> files) {
+        final Ontologies ontologies = new Ontologies();
+        files.stream().map(
+                s -> loadOntologyProfilefromPath(s))
+                .collect(Collectors.toMap(Ontology::getCode, Function.identity()))
+                .entrySet()
+                .forEach(it -> ontologies.put(it.getKey(), it.getValue()));
+        return ontologies;
+    }
+
+    public static Ontologies loadOntologiesFromIS() throws ISLookUpException {
+        final ISLookUpService lookUpService = staticServiceLocator.getService(ISLookUpService.class);
+        List<String> files = lookUpService.quickSearchProfile("for $x in collection('/db/DRIVER/OntologyDSResources/OntologyDSResourceType') return $x");
+        final Ontologies ontologies = new Ontologies();
+        files.stream().map
+                (OntologyLoader::getOntologyFromProfile)
+                .collect(Collectors.toMap(Ontology::getCode, Function.identity()))
+                .entrySet()
+                .forEach(it -> ontologies.put(it.getKey(), it.getValue()));
+        return ontologies;
+    }
+
+	public static Ontologies loadOntologies(final String json) throws IOException {
+		return new Gson().fromJson(json, Ontologies.class);
+	}
+
+    private static Ontology loadOntologyProfilefromPath(final InputStream profile) {
+        final String profileXML;
+        try {
+            profileXML = IOUtils.toString(profile);
+        } catch (IOException e) {
+            log.error(e);
+            return null;
+        }
+        return getOntologyFromProfile(profileXML);
+    }
+
+    private static Ontology getOntologyFromProfile(final String profile) {
+        SAXReader saxReader = new SAXReader();
+        Document doc = null;
+        StringReader reader = new StringReader(profile);
+
+        try {
+            doc = saxReader.read(reader);
+        } catch (DocumentException e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+        return new Ontology()
+                .setCode(doc.valueOf("//ONTOLOGY_NAME/@code"))
+                .setDescription(doc.valueOf("//ONTOLOGY_DESCRIPTION/text()"))
+                .setTerms(asTerms(doc.selectNodes("//TERMS/TERM")));
+    }
+
+	private static Map<String,OntologyTerm> asTerms(final List list) {
+		final Map<String, OntologyTerm> terms = Maps.newHashMap();
+		if (list != null) {
+			list.forEach(o -> {
+				final Element e = (Element) o;
+				final OntologyTerm ot = OntologyTerm.newInstance()
+						.setCode(e.attributeValue("code"))
+						.setEncoding(e.attributeValue("encoding"))
+						.setEnglishName(e.attributeValue("english_name"))
+						.setNativeName(e.attributeValue("native_name"))
+						.setInverseCode(((Node) o).valueOf("./RELATIONS/RELATION[@type = 'inverseOf']/@code"));
+
+				terms.put(ot.getCode(), ot);
+			});
+		}
+		return terms;
+	}
+
+    @PostConstruct
+    public void init() {
+        OntologyLoader.staticServiceLocator = serviceLocator;
+    }
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Publication.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Publication.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Publication.proto	(revision 51225)
@@ -0,0 +1,50 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+import "Person.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "PublicationProtos";
+
+message Publication {
+
+	optional Metadata metadata = 2;
+	
+	repeated Instance instance = 6;
+	
+	repeated ExternalReference externalReference = 7;
+
+	repeated Person author = 8;
+
+	message Metadata {
+
+		extensions 100 to 199;
+
+		// resulttype allows subclassing results into publications or datasets
+		optional Qualifier resulttype = 8;
+
+		// common fields
+		optional Qualifier language = 12;
+		repeated Qualifier country = 33;
+
+		repeated StructuredProperty subject = 1;
+		repeated StructuredProperty title = 2;
+		repeated StructuredProperty relevantdate = 3;
+
+		repeated StringField description = 25;
+		optional StringField dateofacceptance = 4;
+		optional StringField publisher = 5;
+		optional StringField embargoenddate = 6;
+		repeated StringField source = 27;
+		repeated StringField fulltext = 29; // remove candidate
+		repeated StringField format = 21;
+		repeated StringField contributor = 30;
+
+		repeated Context context = 28;
+
+		// publication specific
+		optional Journal journal = 18;
+
+	}
+	
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Ontology.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Ontology.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Ontology.java	(revision 51225)
@@ -0,0 +1,69 @@
+package eu.dnetlib.data.transform;
+
+import java.util.Map;
+
+import com.google.gson.Gson;
+import eu.dnetlib.data.graph.utils.RelDescriptor;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Created by claudio on 12/12/2016.
+ */
+public class Ontology {
+
+	private static final Log log = LogFactory.getLog(Ontology.class);
+
+	private String code;
+	private String description;
+
+	private Map<String, OntologyTerm> terms;
+
+	public String getCode() {
+		return code;
+	}
+
+	public Ontology setCode(final String code) {
+		this.code = code;
+		return this;
+	}
+
+    public String getDescription() {
+        return description;
+    }
+
+	public Ontology setDescription(final String description) {
+		this.description = description;
+		return this;
+	}
+
+    public Map<String, OntologyTerm> getTerms() {
+        return terms;
+    }
+
+	public Ontology setTerms(final Map<String, OntologyTerm> terms) {
+		this.terms = terms;
+		return this;
+	}
+
+    public String inverseOf(final String termCode) {
+        if (getTerms() == null || !getTerms().containsKey(termCode)) {
+	        log.warn(String.format("unable to find inverse for term %s, terms: %s", termCode, getTerms()));
+            return null;
+        }
+        return getTerms().get(termCode).getInverseCode();
+    }
+
+    public String inverseOf(final RelDescriptor rd) {
+        if (getTerms() == null || !getTerms().containsKey(rd.getTermCode())) {
+            return null;
+        }
+        return getTerms().get(rd.getTermCode()).getInverseCode();
+    }
+
+	@Override
+	public String toString() {
+		return new Gson().toJson(this);
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Type.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Type.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Type.proto	(revision 51225)
@@ -0,0 +1,15 @@
+package eu.dnetlib.data.proto;
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "TypeProtos";
+
+// entity tags are used as rowkey prefixes on hbase
+enum Type {
+	datasource = 10;
+	organization = 20;
+	person = 30;
+	project = 40;
+	publication = 50;
+	dataset = 60;
+	unknown = 70;
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Project.proto
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Project.proto	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/Project.proto	(revision 51225)
@@ -0,0 +1,33 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "ProjectProtos";
+
+message Project {
+
+	optional Metadata metadata = 2;
+
+	message Metadata {
+
+		optional StringField websiteurl = 1;
+		optional StringField code = 2;
+		optional StringField acronym = 3;
+		optional StringField title = 4;
+		optional StringField startdate = 5;
+		optional StringField enddate = 6;
+		optional StringField callidentifier = 7;
+		optional StringField keywords = 8;
+		optional StringField duration = 9;
+		optional StringField ecsc39 = 10;
+		optional StringField oamandatepublications = 11;
+		optional StringField ecarticle29_3 = 12;
+		repeated StructuredProperty subjects = 14; 
+		
+		repeated StringField fundingtree = 15;
+
+		optional Qualifier contracttype = 13;
+	}
+	
+}
Index: modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/xsd/oafProtoSchema.xsd
===================================================================
--- modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/xsd/oafProtoSchema.xsd	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/main/resources/eu/dnetlib/data/proto/xsd/oafProtoSchema.xsd	(revision 51225)
@@ -0,0 +1,309 @@
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+	<xs:element name="Oaf">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="kind" type="kindType" minOccurs="1"/>
+				<xs:choice>
+					<xs:element ref="entity"/>
+					<xs:element ref="rel"/>
+				</xs:choice>
+				<xs:element name="dataInfo" type="dataInfoType"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	<xs:simpleType name="kindType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="relation"/>
+			<xs:enumeration value="entity"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:element name="entity">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="type" type="entityType" minOccurs="1"/>
+				<xs:choice>
+					<xs:element ref="person"/>
+					<xs:element ref="result"/>
+					<!-- ... other entities ... -->
+				</xs:choice>
+				<xs:element name="originalId" type="xs:string" maxOccurs="unbounded" />
+				<xs:element name="collectedfrom" type="keyValueType" maxOccurs="unbounded" />
+				<xs:element name="pid" type="structuredPropertyType" minOccurs="0" maxOccurs="unbounded" />
+				<xs:element name="dateofcollection" type="xs:string"/> <!-- replace with xs:date or xs:datetime ?? -->
+				<xs:element name="id" type="xs:string" minOccurs="1"/>
+				<xs:element name="dateoftransformation" type="xs:string" minOccurs="0"/> <!-- replace with xs:date or xs:datetime ?? -->
+				<xs:element name="oaiprovenance" type="OAIProvenanceType" minOccurs="0"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+
+	<xs:simpleType name="entityType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="result"/>
+			<xs:enumeration value="person"/>
+			<xs:enumeration value="datasource"/>
+			<xs:enumeration value="project"/>
+			<xs:enumeration value="organization"/>
+		</xs:restriction>
+	</xs:simpleType>
+
+	<!-- RESULT -->
+	<xs:element name="result">
+		<xs:complexType>
+			<xs:all>
+				<xs:element name="metadata" type="resultMetadataType"/>
+				<xs:element name="instance" type="instanceType"/>
+				<xs:element name="externalReference" type="externalReferenceType"/>
+				<!-- <xs:element ref="author"/> -->
+			</xs:all>
+		</xs:complexType>
+	</xs:element>
+	<xs:complexType name="instanceType">
+		<xs:sequence>
+			<xs:element name="licence" type="qualifierType"/>
+			<xs:element name="instancetype" type="qualifierType"/>
+			<xs:element name="hostedby" type="keyValueType"/>
+			<xs:element name="url" type="xs:anyURI" maxOccurs="unbounded" />
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="externalReferenceType">
+		<xs:all>
+			<xs:element name="sitename" type="xs:string" minOccurs="0" />
+			<xs:element name="label" type="xs:string" minOccurs="0" />
+			<xs:element name="url" type="xs:string" minOccurs="0" />
+			<xs:element name="description" type="xs:string" minOccurs="0" />
+			<xs:element name="qualifier" type="qualifierType" minOccurs="0" />
+			<xs:element name="refidentifier" type="xs:string" minOccurs="0" />
+			<xs:element name="query" type="xs:string" minOccurs="0" />
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0" />
+		</xs:all>
+	</xs:complexType>
+	<xs:complexType name="resultMetadataType">
+		<xs:sequence>
+			<xs:element name="subject" type="structuredPropertyType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="title" type="structuredPropertyType" maxOccurs="unbounded"/>
+			<xs:element name="dateofacceptance" type="stringFieldType" minOccurs="0" />
+			<xs:element name="publisher" type="stringFieldType" minOccurs="0" />
+			<xs:element name="embargoenddate" type="stringFieldType" minOccurs="0" />
+			<xs:element name="resulttype" type="qualifierType"/> <!-- resulttype allows subclassing results into publications or datasets -->
+			<xs:element name="language" type="qualifierType" minOccurs="0"/>
+			<xs:element name="journal" type="journalType" minOccurs="0" />
+			<xs:element name="description" type="stringFieldType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="source" type="stringFieldType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="context" type="contextType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="contributor" type="stringFieldType" minOccurs="0" maxOccurs="unbounded"/>
+
+
+			<xs:element name="country" type="qualifierType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="relevantdate" type="structuredPropertyType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="fulltext" type="stringFieldType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="format" type="stringFieldType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="storagedate" type="stringFieldType" minOccurs="0" />
+			<xs:element name="resourcetype" type="qualifierType" minOccurs="0"  />
+			<xs:element name="device" type="stringFieldType" minOccurs="0" />
+			<xs:element name="size" type="stringFieldType" minOccurs="0" />
+			<xs:element name="version" type="stringFieldType" minOccurs="0" />
+			<xs:element name="lastmetadataupdate" type="stringFieldType" minOccurs="0" />
+			<xs:element name="metadataversionnumber" type="stringFieldType" minOccurs="0" />
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="contextType">
+		<xs:all>
+			<xs:element name="id" type="xs:string" minOccurs="1"/>
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0" />
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="journalType">
+		<xs:all>
+			<xs:element name="name" type="xs:string"/>
+			<xs:element name="issnPrinted" type="xs:string" minOccurs="0" />
+			<xs:element name="issnOnline" type="xs:string" minOccurs="0" />
+			<xs:element name="issnLinking" type="xs:string" minOccurs="0" />
+			<xs:element name="datInfo" type="dataInfoType" minOccurs="0" />
+		</xs:all>
+	</xs:complexType>
+
+
+	<!-- END OF RESULT -->
+
+	<!-- PERSON -->
+	<xs:element name="person">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="metadata" type="personMetadataType"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+
+	<xs:complexType name="personMetadataType">
+		<xs:sequence>
+			<xs:element name="firstname" type="stringFieldType" minOccurs="0" />
+			<xs:element name="secondnames" type="stringFieldType" minOccurs="0" maxOccurs="unbounded" />
+			<xs:element name="fullname" type="stringFieldType" />
+			<xs:element name="fax" type="stringFieldType" minOccurs="0"/>
+			<xs:element name="email" type="stringFieldType" minOccurs="0" />
+			<xs:element name="phone" type="stringFieldType" minOccurs="0" />
+			<xs:element name="nationality" type="qualifierType" minOccurs="0" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<!-- END OF PERSON -->
+
+
+
+
+
+
+	<!-- RELATIONSHIPS -->
+
+	<xs:element name="rel">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="relType" type="relationshipType" minOccurs="1"/>
+
+				<xs:element name="source" type="xs:string"/>
+				<xs:element name="target" type="xs:string"/>
+				<xs:element name="child" type="xs:boolean"/>
+
+				<xs:choice>
+					<xs:element name="personResult" type="personResultType"/>
+					<xs:element name="resultProject" type="resultProjectType"/>
+					<!-- ... -->
+				</xs:choice>
+
+				<xs:element name="subRelType" type="subRelationshipType" minOccurs="1"/>
+				<xs:element name="relClass" type="xs:string"/> <!-- we need to restrict the possible values here -->
+
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+
+	<xs:simpleType name="relationshipType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="datasourceOrganization"/>
+			<xs:enumeration value="personResult"/>
+			<xs:enumeration value="projectOrganization"/>
+			<xs:enumeration value="projectPerson"/>
+			<xs:enumeration value="resultOrganization"/>
+			<xs:enumeration value="resultProject"/>
+			<xs:enumeration value="resultResult"/>
+			<xs:enumeration value="personPerson"/>
+			<xs:enumeration value="organizationOrganization"/>
+		</xs:restriction>
+	</xs:simpleType>
+
+	<xs:simpleType name="subRelationshipType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="provision"/>
+			<xs:enumeration value="coauthorship"/>
+			<xs:enumeration value="authorship"/>
+			<xs:enumeration value="participation"/>
+			<xs:enumeration value="contactPerson"/>
+			<xs:enumeration value="outcome"/>
+			<xs:enumeration value="similarity"/>
+			<xs:enumeration value="publicationDataset"/>
+			<xs:enumeration value="affiliation"/>
+			<xs:enumeration value="dedup"/>
+			<xs:enumeration value="dedupSimilarity"/>
+			<xs:enumeration value="supplement"/>
+			<xs:enumeration value="part"/>
+		</xs:restriction>
+	</xs:simpleType>
+
+	<xs:complexType name="personResultType">
+		<xs:all>
+			<xs:element name="authorship">
+				<xs:complexType>
+					<xs:all>
+						<xs:element name="relMetadata" type="relMetadataType" minOccurs="1" />
+						<xs:element name="ranking" type="xs:string"/> <!-- use numeric value here -->
+						<xs:element name="affiliation" type="xs:string" minOccurs="0"/>
+					</xs:all>
+				</xs:complexType>
+			</xs:element>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="resultProjectType">
+		<xs:all>
+			<xs:element name="outcome">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="relMetadata" type="relMetadataType" minOccurs="1" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+		</xs:all>
+	</xs:complexType>
+
+	<!-- BASIC TYPES -->
+	<xs:complexType name="dataInfoType">
+		<xs:all>
+			<xs:element name="inferred" type="xs:boolean"/>
+			<xs:element name="deletedbyinference" type="xs:boolean"/>
+			<xs:element name="trust" type="xs:string"/>
+			<xs:element name="provenanceaction" type="qualifierType" minOccurs="1"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="qualifierType">
+		<xs:all>
+			<xs:element name="classid" type="xs:string"/>
+			<xs:element name="classname" type="xs:string"/>
+			<xs:element name="schemeid" type="xs:string"/>
+			<xs:element name="schemename" type="xs:string"/>
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="keyValueType">
+		<xs:all>
+			<xs:element name="key" type="xs:string" minOccurs="1"/>
+			<xs:element name="value" type="xs:string"/>
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="structuredPropertyType">
+		<xs:all>
+			<xs:element name="value" type="xs:string" minOccurs="1"/>
+			<xs:element name="qualifier" type="qualifierType"/>
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="stringFieldType">
+		<xs:all>
+			<xs:element name="value" type="xs:string" minOccurs="1"/>
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="relMetadataType">
+		<xs:all>
+			<xs:element name="semantics" type="qualifierType"/>
+			<xs:element name="startdate" type="xs:string" minOccurs="0"/>
+			<xs:element name="enddate" type="xs:string" minOccurs="0"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="OAIProvenanceType">
+		<xs:sequence>
+			<xs:element name="originDescription" type="originDescriptionType" minOccurs="0"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="originDescriptionType">
+		<xs:sequence>
+			<xs:element name="harvestDate" type="xs:string" minOccurs="0"/>
+			<xs:element name="altered" type="xs:boolean" minOccurs="0"/>
+			<xs:element name="baseURL" type="xs:string" minOccurs="0"/>
+			<xs:element name="identifier" type="xs:string" minOccurs="0"/>
+			<xs:element name="datestamp" type="xs:string" minOccurs="0"/>
+			<xs:element name="metadataNamespace" type="xs:string" minOccurs="0"/>
+			<xs:element name="originDescription" type="originDescriptionType" minOccurs="0"/>
+
+		</xs:sequence>
+	</xs:complexType>
+
+</xs:schema>
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFDecoderTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFDecoderTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFDecoderTest.java	(revision 51225)
@@ -0,0 +1,37 @@
+package eu.dnetlib.data.mapreduce.util;
+
+import java.util.List;
+
+import eu.dnetlib.data.graph.model.DNGFDecoder;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+public class DNGFDecoderTest {
+
+	@Test
+	public void testAsXml() {
+
+		final DNGFDecoder decoder = DNGFTest.embed(DNGFTest.getResult("50|id_1"), Kind.entity);
+
+		assertNotNull(decoder);
+
+		assertNotNull(decoder.asXml());
+
+		System.out.println(decoder.asXml());
+
+	}
+
+	@Test
+	public void testGetFieldValues() {
+		final DNGFDecoder decoder = DNGFTest.embed(DNGFTest.getResult("50|id_1"), Kind.entity);
+
+		final String path = "publication/metadata/title/value";
+		final List<String> titles = decoder.decodeEntity().getFieldValues(path);
+
+		assertNotNull(titles);
+		assertFalse(titles.isEmpty());
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/DbmfToHbaseXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/DbmfToHbaseXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/DbmfToHbaseXsltFunctions.java	(revision 51225)
@@ -0,0 +1,202 @@
+package eu.dnetlib.data.transform.xml;
+
+import com.google.common.collect.Lists;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.Message.Builder;
+import eu.dnetlib.data.graph.model.DNGFRowKeyDecoder;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.DatasetProtos.Dataset;
+import eu.dnetlib.data.proto.DatasourceProtos.Datasource;
+import eu.dnetlib.data.proto.FieldTypeProtos.DataInfo;
+import eu.dnetlib.data.proto.FieldTypeProtos.Instance;
+import eu.dnetlib.data.proto.FieldTypeProtos.KeyValue;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.OrganizationProtos.Organization;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.ProjectProtos.Project;
+import eu.dnetlib.data.proto.PublicationProtos.Publication;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.lang3.StringUtils;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class DbmfToHbaseXsltFunctions extends CommonDNetXsltFunctions {
+
+	public static String oafEntity(
+			final String id,
+			final String collectedFromId,
+			final String collectedFromName,
+			final String originalId,
+			final String dateOfCollection,
+			final String dateOfTransformation,
+			final NodeList nodeList) {
+
+		final DNGFRowKeyDecoder d = DNGFRowKeyDecoder.decode(id);
+		final String entityId = d.getKey();
+		switch (d.getType()) {
+		case datasource:
+			return serializeOafEntity(nodeList, Type.datasource, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Datasource.newBuilder());
+		case organization:
+			return serializeOafEntity(nodeList, Type.organization, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Organization.newBuilder());
+		case person:
+			return serializeOafEntity(nodeList, Type.person, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Person.newBuilder());
+		case project:
+			return serializeOafEntity(nodeList, Type.project, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Project.newBuilder());
+		case publication:
+			return serializeOafEntity(nodeList, Type.publication, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Publication.newBuilder());
+		case dataset:
+			return serializeOafEntity(nodeList, Type.dataset, entityId, getKV(collectedFromId, collectedFromName), originalId, dateOfCollection,
+					dateOfTransformation, Dataset.newBuilder());
+		default:
+			throw new IllegalArgumentException("Invalid entity type: " + d.getType());
+		}
+	}
+
+	public static String rel(
+			final String source,
+			final String target,
+			final String relClass,
+			final String relScheme) {
+		return rel(source, target, null, relClass, relScheme);
+	}
+
+	public static String rel(
+			final String source,
+			final String target,
+			final NodeList nodeList,
+			final String relClass,
+			final String relScheme) {
+
+		final DNGFRowKeyDecoder sd = DNGFRowKeyDecoder.decode(source);
+		final DNGFRowKeyDecoder td = DNGFRowKeyDecoder.decode(target);
+		final Qualifier relType = getSimpleQualifier(relClass, relScheme).build();
+
+		return serializeOafRel(nodeList, sd.getKey(), sd.getType(), td.getKey(), td.getType(), relType, false);
+	}
+
+	// ////////////////////////////////////////////////////////
+
+	protected static String serializeOafEntity(final NodeList nodelist,
+			final Type type,
+			final String id,
+			final KeyValue collectedFrom,
+			final String originalId,
+			final String dateOfCollection,
+			final String dateOfTransformation,
+			final Builder entity) {
+		try {
+			final FieldDescriptor md = entity.getDescriptorForType().findFieldByName("metadata");
+
+			final DNGFEntity.Builder parent = getEntity(type, id, collectedFrom, Lists.newArrayList(originalId), dateOfCollection, dateOfTransformation, null);
+			final Builder metadata = entity.newBuilderForField(md);
+			final DataInfo.Builder dataInfo = DataInfo.newBuilder();
+
+			if (type.equals(Type.publication)) {
+				final Instance.Builder instance = Instance.newBuilder();
+				parseNodelist(nodelist, instance);
+				FieldDescriptor instanceDescriptor = Publication.getDescriptor().findFieldByName(Instance.getDescriptor().getName());
+				if (instanceDescriptor != null) {
+					entity.setField(instanceDescriptor, instance);
+				}
+			}
+			if (type.equals(Type.dataset)) {
+				final Instance.Builder instance = Instance.newBuilder();
+				parseNodelist(nodelist, instance);
+				FieldDescriptor instanceDescriptor = Dataset.getDescriptor().findFieldByName(Instance.getDescriptor().getName());
+				if (instanceDescriptor != null) {
+					entity.setField(instanceDescriptor, instance);
+				}
+			}
+			parseNodelist(nodelist, parent, entity, metadata, dataInfo);
+
+			final FieldDescriptor entityDescriptor = DNGFEntity.getDescriptor().findFieldByName(type.toString());
+
+			final DNGF build = getOaf(parent.setField(entityDescriptor, entity.setField(md, metadata.build()).build()), dataInfo);
+
+			return base64(build.toByteArray());
+		} catch (Exception e) {
+			e.printStackTrace(System.err);
+			throw new RuntimeException(e);
+		}
+	}
+
+	protected static String serializeOafRel(
+			final NodeList nodeList,
+			final String sourceId,
+			final Type sourceType,
+			final String targetId,
+			final Type targetType,
+			final Qualifier relType,
+			final boolean isChild) {
+		try {
+			final DataInfo.Builder dataInfo = DataInfo.newBuilder();
+
+			parseNodelist(nodeList, dataInfo);
+
+			DNGFRel.Builder builder = getRel(sourceId, sourceType, targetId, targetType, relType, isChild);
+
+			DNGF build = getOaf(builder, dataInfo);
+			return base64(build.toByteArray());
+		} catch (Exception e) {
+			e.printStackTrace(System.err);
+			throw new RuntimeException(e);
+		}
+	}
+
+	private static void parseNodelist(final NodeList nodeList, final Builder... builders) {
+
+		if (nodeList == null) return;
+
+		for (int i = 0; i < nodeList.getLength(); i++) {
+
+			final Node fieldNode = nodeList.item(i);
+			final Node attr = fieldNode.getAttributes().getNamedItem("name");
+
+			final String fieldName = attr.getNodeValue();
+			final NodeList chilidren = fieldNode.getChildNodes();
+
+			for (int j = 0; j < chilidren.getLength(); j++) {
+
+				final Node child = chilidren.item(j);
+				final String childName = child.getLocalName();
+				if ("ITEM".equals(childName) || StringUtils.isBlank(childName)) {
+					for (Builder builder : builders) {
+						FieldDescriptor desc = builder.getDescriptorForType().findFieldByName(fieldName);
+						if (desc != null) {
+							String text = getText((StringUtils.isBlank(childName)) ? fieldNode : child);
+							if (!StringUtils.isBlank(text)) {
+								addField(builder, desc, text);
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+
+	private static String getText(final Node node) {
+		StringBuffer result = new StringBuffer();
+		if (!node.hasChildNodes()) { return ""; }
+
+		NodeList list = node.getChildNodes();
+		for (int i = 0; i < list.getLength(); i++) {
+			Node subnode = list.item(i);
+			if (subnode.getNodeType() == Node.TEXT_NODE) {
+				result.append(subnode.getNodeValue());
+			} else if (subnode.getNodeType() == Node.CDATA_SECTION_NODE) {
+				result.append(subnode.getNodeValue());
+			} else if (subnode.getNodeType() == Node.ENTITY_REFERENCE_NODE) {
+				result.append(getText(subnode));
+			}
+		}
+		return result.toString().trim();
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOaf.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOaf.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOaf.xml	(revision 51225)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<record xmlns:dc="http://purl.org/dc/elements/1.1/"
+        xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+        xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+        xmlns:oaf="http://namespace.openaire.eu/oaf"
+        >
+    <header xmlns="http://namespace.openaire.eu/">
+        <dri:objIdentifier>od_______296::74732b873f881d9bff67c2a11b6a66d6</dri:objIdentifier>
+        <dri:recordIdentifier>ebfb74b7-3087-4da0-aaab-917121e40028_TURTdG9yZURTUmVzb3VyY2VzL01EU3RvcmVEU1Jlc291cmNlVHlwZQ==::oai:www.tdx.cat:10803/32188
+        </dri:recordIdentifier>
+        <dri:dateOfCollection/>
+        <dri:mdFormat/>
+        <dri:mdFormatInterpretation/>
+        <dri:repositoryId>1d3fe9bd-a21d-4bba-9238-dc6259ee1424_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=</dri:repositoryId>
+        <dr:objectIdentifier/>
+        <dr:dateOfCollection>2014-07-12T06:03:38Z</dr:dateOfCollection>
+        <oaf:datasourceprefix>od_______296</oaf:datasourceprefix>
+    </header>
+    <metadata xmlns="http://namespace.openaire.eu/">
+        <dc:contributor>Riera Guilera, Carme</dc:contributor>
+        <dc:contributor>Universitat Autònoma de Barcelona. Departament de Filologia Espanyola</dc:contributor>
+        <dc:creator>Torras Francés, Meri</dc:creator>
+        <dc:creator>Moreno-Noguer, Francese</dc:creator>
+        <dc:dateAccepted>1998-10-26</dc:dateAccepted>
+        <dc:description>La tesi parteix d’una reflexió des de la teoria a propòsit de l’estatut de l’autobiografia (i del gènere epistolar en particular),
+            preguntant-se a propòsit d’aspectes com són ara la construcció del subjecte en el discurs o el valor de l’experiència com a categoria de diferència.
+            Per tal de aprofundir en aquesta aproximació, el segon capítol realitza un alectura crítica de dues cartes autobiogràfiques escrites per dones: la
+            Carta a Sor Filotea de la Cruz, escrita per Sor Juana i l’ Autobiografía epistolar de Gertrudis Góme de Avellaneda. El capítol central analitza el
+            binomi gènere femení-gènere epistolar per demostrar de quina manera va establir-se a la modernitat (la França dels segles XVII i XVIII) i per què la
+            carta privada acaba definint-se com un gènere (genre) de gènere (gender) femení, sobre quins condicionaments socials va succeir i quin va ser el
+            paper de les dones en tot això. En el darrer capítol s’aborda el seguiment del binomi a l’Espanya dels segles XVIII, XIX i XX, fent paleses les
+            aplicacions particulars que va patir en aquest altre context historico-cultural. Tot això fent ús d’un plantejament i un enfocament propis de la
+            filologia, la teoria de la literatura i la literatura comparada que, a l’apèndix, abraça altres arts, ja que s’hi recullen mostres de la pintura
+            holandesa del xvii on el motiu de la carta femenina té un tractament plenament en consonància amb els paràmetres que van constituir l’assimmilació
+            de gèneres (gènere femení-gènere epistolar) a la França dels salons.
+        </dc:description>
+        <dc:description>La tesis parte de una reflexión desde la teoría a propósito del estatuto de la autobiografía (y del género epistolar en particular),
+            preguntándose sobre aspectos como la construcción del sujeto en el discurso o el valor de la experiencia como categoría de diferencia. En aras de
+            ahondar en esta aproximación, el segundo capítulo realiza una lectura crítica de dos cartas autobiográficas escritas por mujeres: la Carta a Sor
+            Filotea de la Cruz, escrita por Sor Juana y la Autobiografía epistolar de Gertrudis Gómez de Avellaneda. El capítulo central está destinado a
+            analizar el binomio género femenino-género epistolar para demostrar de qué modo se estableció en la modernidad (en la Francia de los siglos XVII y
+            XVIII) y por qué la carta privada terminó definiéndose como un género (genre) de género (gender) femenino, sobre qué condicionamientos sociales
+            aconteció y cuál fue el papel de las mujeres en ello. En el capítulo posterior se acomete el seguimiento del binomio en la España de los siglos
+            XVIII, XIX y XX, dando cuenta de las aplicaciones particulares que sufrió en este otro contexto histórico-cultural. Todo ello haciendo uso de un
+            planteamiento y un enfoque propios de la filología, la teoría de la literatura y la literatura comparada que, en el apéndice, abraza otras artes,
+            puesto que en él se recogen muestras de la pintura holandesa del XVII donde el motivo de la carta femenina observa un tratamiento plenamente en
+            consonancia con los parámetros que constituyeron la asimilación de los géneros (género femenino-género epistolar) en la Francia de los salones.
+        </dc:description>
+        <dc:description>The thesis departs from a theoretic reflection on the status of autobiography in general —and of epistolary genre in particular—
+            inquiring about aspects like the construction of the subject in the discourse or the value of experience as a category of difference. In order to
+            examine in depth this approach, the second chapter performs a critical reading of two autobiographic letters written by women: the Carta a Sor
+            Filotea de la Cruz by Sor Juana and the epistolary Autobiografía of Gertrudis Gómez de Avellaneda. The central chapter is devoted to analyze the
+            epistolary genre—feminine gender relationship to show how it was established in Modernity (in France, XVII and XVIII centuries) and why the personal
+            letter finished defined as a genre of feminine gender, on what social factors happened and what was the woman’s role in all that. The following
+            chapter shows the relationship in Spain, XVIII, XIX and XX centuries, giving an account of particular applications that it suffered in this
+            historical and cultural context. All this using approaches of Philology, Literary Theory and Comparative. The appendix considers some samples of the
+            Dutch painting of the xvii where the motive of the feminine letter observes a treatment fully accordance with the parameters that constituted the
+            assimilation of gender/genre (feminine gender/epistolary genre) in the French salons.
+        </dc:description>
+        <dc:identifier>http://hdl.handle.net/10803/32188</dc:identifier>
+        <oaf:identifier identifierType="doi">10803/32188</oaf:identifier>
+        <oaf:identifier identifierType="orcidworkid">1234-1234-1234-1111</oaf:identifier>
+        <dc:language>esl/spa</dc:language>
+        <dc:publisher>Universitat Autònoma de Barcelona</dc:publisher>
+        <dc:title>La epistola privada como género: estrategias de construcción</dc:title>
+        <dc:source>TDX (Tesis Doctorals en Xarxa)</dc:source>
+        <dc:subject>Ciències Humanes</dc:subject>
+        <dc:subject>82 - Literatura</dc:subject>
+        <dr:CobjCategory>0006</dr:CobjCategory>
+        <dr:CobjCategory>0000</dr:CobjCategory>
+        <dr:CobjIdentifier>urn:isbn:9788469416310</dr:CobjIdentifier>
+        <oaf:projectid>corda_______::295128</oaf:projectid>
+        <oaf:collectedDatasourceid>opendoar____::296</oaf:collectedDatasourceid>
+        <oaf:accessrights>OPEN</oaf:accessrights>
+        <oaf:reference
+                identifier="CHEMBL1658379"
+                query="http://www.ebi.ac.uk/europepmc/webservices/rest/PMC/PMC2934972/databaseLinks/ChEMBL/2/json"
+                source="CHEMBL"
+                title="Antifungal activity against Candida albicans isolate 108 harboring erg11 and erg5 double mutant after 48 hrs by Etest"
+                type="dataset">https://www.ebi.ac.uk/chembldb/assay/inspect/CHEMBL1658379
+        </oaf:reference>
+        <oaf:hostedBy id="opendoar____::296" name="Tesis Doctorals en Xarxa"/>
+        <oaf:collectedFrom id="opendoar____::296" name="Tesis Doctorals en Xarxa"/>
+    </metadata>
+</record>
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/graph/utils/RelDescriptorTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/graph/utils/RelDescriptorTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/data/graph/utils/RelDescriptorTest.java	(revision 51225)
@@ -0,0 +1,48 @@
+package eu.dnetlib.data.graph.utils;
+
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Created by claudio on 02/02/2017.
+ */
+public class RelDescriptorTest {
+
+	@Test
+	public void testRelDesriptor() {
+
+		final RelDescriptor rd = new RelDescriptor("publication_publication_isMergedIn");
+
+		assertEquals("publication_publication", rd.getOntologyCode());
+		assertEquals("publication_publication", rd.asQualifier().getSchemeid());
+		assertEquals("isMergedIn", rd.getTermCode());
+		assertEquals("isMergedIn", rd.asQualifier().getClassid());
+
+		//assertEquals(rd.getTargetId(), "50|dedup_wf_001::01d734887f7e33fc754b22de0940c4ab");
+	}
+
+	@Test
+	public void testRelDesriptorFull() {
+
+		final RelDescriptor rd = new RelDescriptor("publication_publication_isMergedIn:50|dedup_wf_001::01d734887f7e33fc754b22de0940c4ab");
+
+		assertEquals("publication_publication", rd.getOntologyCode());
+		assertEquals("publication_publication", rd.asQualifier().getSchemeid());
+		assertEquals("isMergedIn", rd.getTermCode());
+		assertEquals("isMergedIn", rd.asQualifier().getClassid());
+		assertEquals("50|dedup_wf_001::01d734887f7e33fc754b22de0940c4ab", rd.getTargetId());
+	}
+
+	@Test(expected = IllegalArgumentException.class)
+	public void testRelDesriptorMalformed() {
+
+		new RelDescriptor("asd");
+	}
+
+	@Test(expected = IllegalArgumentException.class)
+	public void testRelDesriptorEmpty() {
+
+		new RelDescriptor("");
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.json
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.json	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.json	(revision 51225)
@@ -0,0 +1 @@
+{"id":"30|dedup_wf_001::9044d2ebdd6112d84e5ff279ae3d0a26","author":{"frequency":2,"id":"30|od______1457::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},"merged":[{"id":"30|od______1457::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"score":1.0,"id":"30|od_______307::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"}],"coAuthors":[{"anchorId":"30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b","id":"30|od_______307::e0c601b1613eec62abb99e2591168fba","fullname":"Rodrigues, Eloy","firstname":"Eloy","secondnames":"Rodrigues"},{"anchorId":"30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d","id":"30|od_______307::ef2914f870d83e32764f2e0db122d0c4","fullname":"Houssos, Nikos","firstname":"Nikos","secondnames":"Houssos"},{"anchorId":"30|dedup_wf_001::958d36ee987d35f7d0a4f74a7ad10680","id":"30|od______1457::980daed35d7008f6f4de325f235fde65","fullname":"Príncipe, Pedro","firstname":"Pedro","secondnames":"Príncipe"},{"anchorId":"30|dedup_wf_001::4fe9f7dd4a96f983dcc8f17436238ba6","id":"30|od_______307::ae2f5173f1f1745e8521107ffd9e37ae","fullname":"Dvořák, Jan","firstname":"Jan","secondnames":"Dvořák"},{"anchorId":"30|dedup_wf_001::d09e46b26192d335be7aef7ddcbc9c0c","id":"30|od_______307::56bbbdcfbdda05ec257fabc0c7a596cc","fullname":"Elbæk, Mikael Karstensen","firstname":"Mikael Karstensen","secondnames":"Elbæk"},{"anchorId":"30|dedup_wf_001::d09e46b26192d335be7aef7ddcbc9c0c","id":"30|od______1457::56bbbdcfbdda05ec257fabc0c7a596cc","fullname":"Elbæk, Mikael Karstensen","firstname":"Mikael Karstensen","secondnames":"Elbæk"},{"anchorId":"30|dedup_wf_001::958d36ee987d35f7d0a4f74a7ad10680","id":"30|od_______307::980daed35d7008f6f4de325f235fde65","fullname":"Príncipe, Pedro","firstname":"Pedro","secondnames":"Príncipe"},{"anchorId":"30|dedup_wf_001::29611ace913f53e57c9201010b24434b","id":"30|od______1457::99d2bbd6eb21de2603f2d355875fe7b2","fullname":"Jörg, Brigitte","firstname":"Brigitte","secondnames":"Jörg"},{"anchorId":"30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d","id":"30|od______1457::ef2914f870d83e32764f2e0db122d0c4","fullname":"Houssos, Nikos","firstname":"Nikos","secondnames":"Houssos"},{"anchorId":"30|dedup_wf_001::29611ace913f53e57c9201010b24434b","id":"30|od_______307::99d2bbd6eb21de2603f2d355875fe7b2","fullname":"Jörg, Brigitte","firstname":"Brigitte","secondnames":"Jörg"},{"anchorId":"30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b","id":"30|od______1457::e0c601b1613eec62abb99e2591168fba","fullname":"Rodrigues, Eloy","firstname":"Eloy","secondnames":"Rodrigues"},{"anchorId":"30|dedup_wf_001::4fe9f7dd4a96f983dcc8f17436238ba6","id":"30|od______1457::ae2f5173f1f1745e8521107ffd9e37ae","fullname":"Dvořák, Jan","firstname":"Jan","secondnames":"Dvořák"}],"anchor":true}
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.pace.conf
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.pace.conf	(revision 51225)
@@ -0,0 +1,29 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "result", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "result" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {
+		"strictConditions" : [
+  			{ "name" : "pidMatch", "fields" : [ "pid" ] }
+  		],	
+		"conditions" : [
+  			{ "name" : "yearMatch", "fields" : [ "dateofacceptance" ] },
+  			{ "name" : "titleVersionMatch", "fields" : [ "title" ] }		
+  		 ],		
+		"model" : [
+			{ "name" : "pid", "algo" : "Null", "type" : "JSON", "weight" : "0.0", "ignoreMissing" : "true", "path" : "pid", "overrideMatch" : "true" },
+			{ "name" : "title", "algo" : "JaroWinkler", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "publication/metadata/title[qualifier#classid = {main title}]/value" },
+			{ "name" : "dateofacceptance", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "publication/metadata/dateofacceptance/value" }
+		],
+		"blacklists" : { } 		
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/Element.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/Element.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/Element.java	(revision 51225)
@@ -0,0 +1,61 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+import com.google.common.collect.Maps;
+
+public class Element {
+
+	private String text;
+	private Map<String, String> attributes;
+
+	public Element(final String text, final Map<String, String> attributes) {
+		this.text = text;
+		this.attributes = attributes;
+	}
+
+	public Element(final String text) {
+		this.text = text;
+		this.attributes = Maps.newHashMap();
+	}
+
+	public Element() {
+		this.text = "";
+		this.attributes = Maps.newHashMap();
+	}
+
+	public String getText() {
+		return text;
+	}
+
+	public void setText(final String text) {
+		this.text = text;
+	}
+
+	public Map<String, String> getAttributes() {
+		return attributes;
+	}
+
+	public void setAttributes(final Map<String, String> attributes) {
+		this.attributes = attributes;
+	}
+
+	public boolean isEmpty() {
+		return !(hasText() || hasAttributes());
+	}
+
+	private boolean hasAttributes() {
+		return (getAttributes() != null) && !getAttributes().isEmpty();
+	}
+
+	public boolean hasText() {
+		return (getText() != null) && !getText().isEmpty();
+	}
+
+	@Override
+	public String toString() {
+		return "{ " + StringUtils.left(text, 20) + attributes.toString() + " }";
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/organization.pace.conf
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/organization.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/organization.pace.conf	(revision 51225)
@@ -0,0 +1,21 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "organization", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "organization" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {		
+  		"conditions" : [ ],		
+		"model" : [
+			{ "name" : "legalname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.6", "ignoreMissing" : "false", "path" : "organization/metadata/legalname/value" },
+			{ "name" : "legalshortname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.4", "ignoreMissing" : "true", "path" : "organization/metadata/legalshortname/value" }
+		],
+		"blacklists" : { } 		
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Row.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Row.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Row.java	(revision 51225)
@@ -0,0 +1,76 @@
+package eu.dnetlib.data.transform;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Maps;
+
+public class Row implements Iterable<Column<String, byte[]>> {
+
+	private String columnFamily;
+
+	private String key;
+
+	private Map<String, Column<String, byte[]>> columns;
+
+	public Row(final Row row) {
+		this.columnFamily = row.getColumnFamily();
+		this.key = row.getKey();
+		this.columns = row.columns;
+	}
+
+	public Row(final String columnFamily, final String key) {
+		this.columnFamily = columnFamily;
+		this.key = key;
+		this.columns = Maps.newHashMap();
+	}
+
+	public Row(final String columnFamily, final String key, final List<Column<String, byte[]>> columns) {
+		this(columnFamily, key);
+		this.setColumns(columns);
+	}
+
+	public void addColumn(final Column<String, byte[]> column) {
+		getColumns().add(column);
+	}
+
+	public String getKey() {
+		return key;
+	}
+
+	public Collection<Column<String, byte[]>> getColumns() {
+		return columns.values();
+	}
+
+	public Column<String, byte[]> getColumn(final String name) {
+		return columns.get(name);
+	}
+
+	public void setColumn(final String name, final Column<String, byte[]> newColumn) {
+		columns.put(name, newColumn);
+	}
+
+	public void setColumns(final List<Column<String, byte[]>> columns) {
+		this.columns.clear();
+		for (final Column<String, byte[]> col : columns) {
+			this.columns.put(col.getName(), col);
+		}
+	}
+
+	public String getColumnFamily() {
+		return columnFamily;
+	}
+
+	@Override
+	public Iterator<Column<String, byte[]>> iterator() {
+		return getColumns().iterator();
+	}
+
+	@Override
+	public String toString() {
+		return "\nRow [ KEY: " + key + ",\n\tCF: " + columnFamily + "\n\tCOLS: {" + columns + "}]";
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/XsltRowTransformerFactory.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/XsltRowTransformerFactory.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/XsltRowTransformerFactory.java	(revision 51225)
@@ -0,0 +1,55 @@
+package eu.dnetlib.data.transform;
+
+import java.io.StringReader;
+import java.util.Map;
+import java.util.Map.Entry;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.dom4j.io.DocumentSource;
+import org.dom4j.io.SAXReader;
+
+public class XsltRowTransformerFactory {
+
+	private static final Log log = LogFactory.getLog(XsltRowTransformerFactory.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	public XsltRowTransformer getTransformer(final String xslt, final TransformerFactory transformerFactory) {
+		return doGetTransformer(xslt, null, transformerFactory);
+	}
+
+	public XsltRowTransformer getTransformer(final String xslt, final Map<String, Object> params, final TransformerFactory transformerFactory) {
+		return doGetTransformer(xslt, params, transformerFactory);
+	}
+
+	private XsltRowTransformer doGetTransformer(final String xslt, final Map<String, Object> params, final TransformerFactory transformerFactory) {
+		try {
+			if ((xslt == null) || xslt.isEmpty()) return new XsltRowTransformer(null);
+
+			if (log.isDebugEnabled()) {
+				log.debug("using transformer factory: '" + transformerFactory.getClass().getCanonicalName() + "'");
+			}
+
+			final Transformer t = transformerFactory.newTransformer(new DocumentSource(new SAXReader().read(new StringReader(xslt))));
+			if (params != null && !params.isEmpty()) {
+				for (final Entry<String, Object> e : params.entrySet()) {
+					log.debug(String.format("using xslt param: %s - %s", e.getKey(), e.getValue()));
+					t.setParameter(e.getKey(), e.getValue());
+				}
+			}
+			return new XsltRowTransformer(t);
+		} catch (final Exception e) {
+			throw new RuntimeException("Error generating transformer from xslt:\n" + xslt, e);
+		}
+	}
+
+	public static XsltRowTransformer newInstance(final String xslt, final TransformerFactory transformerFactory) {
+		return new XsltRowTransformerFactory().getTransformer(xslt, transformerFactory);
+	}
+
+	public static XsltRowTransformer newInstance(final String xslt, final Map<String, Object> params, final TransformerFactory transformerFactory) {
+		return new XsltRowTransformerFactory().getTransformer(xslt, params, transformerFactory);
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/transform/record.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/transform/record.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/transform/record.xml	(revision 51225)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<record xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:prov="http://www.openarchives.org/OAI/2.0/provenance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:dr="http://www.driver-repository.eu/namespace/dr" xmlns:oaf="http://namespace.openaire.eu/oaf">
+  <header xmlns="http://namespace.openaire.eu/">
+    <dri:objIdentifier>od______1064::fe947e59cf7db2f039b4c8cc25693fb0</dri:objIdentifier>
+    <dri:recordIdentifier>95168db1-d57e-4b99-855b-993cf91d1283_TURTdG9yZURTUmVzb3VyY2VzL01EU3RvcmVEU1Jlc291cmNlVHlwZQ==::oai:ora.ouls.ox.ac.uk:uuid:5d8f6cbb-1283-4957-8c55-48a4024bed76</dri:recordIdentifier>
+    <dri:dateOfCollection/>
+    <dri:mdFormat/>
+    <dri:mdFormatInterpretation/>
+    <dri:repositoryId>2a02b271-0756-453c-b2f0-8c472a8806a5_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=</dri:repositoryId>
+    <dr:objectIdentifier/>
+    <dr:dateOfCollection>2013-05-10T16:04:02Z</dr:dateOfCollection>
+    <oaf:datasourceprefix>od______1064</oaf:datasourceprefix>
+  </header>
+  <metadata xmlns="http://namespace.openaire.eu/">
+    <dc:creator>Uphoff, S</dc:creator>
+    <dc:creator>Holden, SJ</dc:creator>
+    <dc:dateAccepted>2011-01-01</dc:dateAccepted>
+    <dc:description>The analysis of structure and dynamics of biomolecules is important for understanding their function. Toward this aim, we introduce a method called 'switchable FRET', which combines single-molecule fluorescence resonance energy transfer (FRET) with reversible photoswitching of fluorophores. Typically, single-molecule FRET is measured within a single donor-acceptor pair and reports on only one distance. Although multipair FRET approaches that monitor multiple distances have been developed, they are technically challenging and difficult to extend, mainly because of their reliance on spectrally distinct acceptors. In contrast, switchable FRET sequentially probes FRET between a single donor and spectrally identical photoswitchable acceptors, dramatically reducing the experimental and analytical complexity and enabling direct monitoring of multiple distances. Our experiments on DNA molecules, a protein-DNA complex and dynamic Holliday junctions demonstrate the potential of switchable FRET for studying dynamic, multicomponent biomolecules.          </dc:description>
+    <dc:identifier>http://pub.uni-bielefeld.de/publication/2303387</dc:identifier>
+    <dc:language>eng</dc:language>
+    <dc:title>Monitoring multiple distances within a single molecule using switchable FRET.</dc:title>
+    <dc:source>Symplectic Elements at Oxford</dc:source>
+    <dc:source>PubMed (http://www.ncbi.nlm.nih.gov/pubmed/)</dc:source>
+    <dc:source>Web of Science (Lite) (http://apps.webofknowledge.com/summary.do)</dc:source>
+    <dc:subject>Biotinylation</dc:subject>
+    <dc:subject>Computer Simulation</dc:subject>
+    <dr:CobjCategory>0001</dr:CobjCategory>
+    <dr:CobjIdentifier>urn:uuid:5d8f6cbb-1283-4957-8c55-48a4024bed76</dr:CobjIdentifier>
+    <dr:CobjIdentifier>pii:nmeth.1502</dr:CobjIdentifier>
+    <dr:CobjIdentifier>local:71163</dr:CobjIdentifier>
+    <dr:CobjIdentifier>eissn:1548-7105</dr:CobjIdentifier>
+    <dr:CobjIdentifier>doi:10.1038/nmeth.1502</dr:CobjIdentifier>
+    <dr:CobjIdentifier>issn:1548-7091</dr:CobjIdentifier>
+    <oaf:accessrights>EMBARGO</oaf:accessrights>
+    <oaf:collectedDatasourceid>issn____::12345678</oaf:collectedDatasourceid>
+	<oaf:hostedBy name="DOAJ" id="doaj____::1234"/>
+    <oaf:collectedFrom name="My favourite journal" id="issn____::12345678"/>
+    <oaf:fulltext>http://xyz</oaf:fulltext>
+    <oaf:journal issn="12345678" eissn="e1234567" lissn="l1234567">My favourite journal</oaf:journal>
+    <oaf:journal issn="12345678" eissn="e1234567">My second favourite journal</oaf:journal>  
+    <oaf:identifier identifierType="doi">10.1038/nmeth.1502</oaf:identifier>
+    <oaf:reference identifier="IPR004915" query="http://www.ebi.ac.uk/europepmc/webservices/rest/PMC/PMC155133/databaseLinks/INTERPRO/1/json" source="INTERPRO" title="Nonstructural protein NS-S, bunyaviral" type="dataset">http://www.ebi.ac.uk/interpro/entry/IPR004915</oaf:reference>
+	<oaf:reference identifier="IPRXXXXXX" query="http://www.ebi.ac.uk/europepmc/webservices/rest/PMC/PMCYYYYYY/databaseLinks/INTERPRO/2/json" source="INTERPRO" title="Nonstructural protein XY-S, bunyaviral" type="dataset">http://www.ebi.ac.uk/interpro/entry/TTTTTTTTT</oaf:reference>  
+  </metadata>
+</record>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Ontologies.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Ontologies.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Ontologies.java	(revision 51225)
@@ -0,0 +1,69 @@
+package eu.dnetlib.data.transform;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Maps;
+import com.google.gson.GsonBuilder;
+import eu.dnetlib.data.graph.utils.RelDescriptor;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Created by sandro on 12/13/16.
+ */
+public class Ontologies extends HashMap<String, Ontology> {
+
+	private static final Log log = LogFactory.getLog(Ontologies.class);
+
+	private Map<String, List<OntologyTerm>> inverse = Maps.newHashMap();
+
+	public String inverseOf(final RelDescriptor rd) {
+
+        if (!containsKey(rd.getOntologyCode())) {
+        	log.warn(String.format("unable to find ontology %s", rd.getOntologyCode()));
+	        return null;
+        }
+        return get(rd.getOntologyCode()).inverseOf(rd.getTermCode());
+    }
+
+    public List<OntologyTerm> getTerms(final String termCode) {
+		if (inverse.isEmpty()) {
+			initInverse();
+		}
+		return inverse.get(termCode);
+    }
+
+	private void initInverse() {
+		log.info("initialising inverse Ontology terms");
+		values().forEach(o -> o.getTerms().values().forEach(t -> {
+				if (!inverse.containsKey(t.getCode())) {
+				inverse.put(t.getCode(), new ArrayList<>());
+			}
+			inverse.get(t.getCode()).add(t);
+		}));
+
+	}
+
+	public String toJson() {
+        return toJson(false);
+    }
+
+	public String toJson(boolean pretty) {
+
+		final GsonBuilder gson = new GsonBuilder();
+		if (pretty) {
+			gson.setPrettyPrinting();
+		}
+
+		return gson.create().toJson(this);
+	}
+
+	@Override
+	public String toString() {
+		return toJson();
+	}
+
+}
Index: modules/dnet-graph-domain/trunk/src/test/resources/META-inf.services/javax.xml.transform.TransformerFactory
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/META-inf.services/javax.xml.transform.TransformerFactory	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/META-inf.services/javax.xml.transform.TransformerFactory	(revision 51225)
@@ -0,0 +1 @@
+net.sf.saxon.TransformerFactoryImpl
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFEntityDecoder.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFEntityDecoder.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFEntityDecoder.java	(revision 51225)
@@ -0,0 +1,67 @@
+package eu.dnetlib.data.graph.model;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.GeneratedMessage;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import eu.dnetlib.data.transform.AbstractProtoMapper;
+
+public class DNGFEntityDecoder extends AbstractProtoMapper {
+
+	private final DNGFEntity dngfEntity;
+
+	private DNGFEntityDecoder(final DNGFEntity oafEntity) {
+		this.dngfEntity = oafEntity;
+	}
+
+	public static DNGFEntityDecoder decode(final DNGFEntity oafEntity) {
+		return new DNGFEntityDecoder(oafEntity);
+	}
+
+	public Type getType() {
+		return dngfEntity.getType();
+	}
+
+	public String getId() {
+		return dngfEntity.getId();
+	}
+
+	public GeneratedMessage getDNGFEntity() {
+		return dngfEntity;
+	}
+
+	public GeneratedMessage getEntity() {
+		final FieldDescriptor fd = dngfEntity.getDescriptorForType().findFieldByName(typeName());
+		return (GeneratedMessage) dngfEntity.getField(fd);
+	}
+
+	public String typeName() {
+		return dngfEntity.getType().toString();
+	}
+
+	public GeneratedMessage getMetadata() {
+		final GeneratedMessage entity = getEntity();
+		final FieldDescriptor fd = entity.getDescriptorForType().findFieldByName("metadata");
+		final GeneratedMessage field = (GeneratedMessage) entity.getField(fd);
+		return field;
+	}
+
+	public List<String> getFieldValues(final String path) {
+		return processPath(getDNGFEntity(), path, eu.dnetlib.pace.config.Type.String)
+				.stream()
+				.map(o -> o.toString())
+				.collect(Collectors.toCollection(() -> new LinkedList<>()));
+	}
+
+	public String getDateOfCollection() {
+		return dngfEntity.getDateofcollection();
+	}
+
+	public String getDateOfTransformation() {
+		return dngfEntity.getDateoftransformation();
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/pom.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/pom.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/pom.xml	(revision 51225)
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<parent>
+		<groupId>eu.dnetlib</groupId>
+		<artifactId>dnet-parent</artifactId>
+		<version>2.0.0-SNAPSHOT</version>
+		<relativePath />
+	</parent>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>eu.dnetlib</groupId>
+	<artifactId>dnet-graph-domain</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0.0-SAXONHE-SNAPSHOT</version>
+	<scm>
+		<developerConnection>scm:svn:https://svn.driver.research-infrastructures.eu/driver/dnet50/modules/dnet-graph-domain/trunk</developerConnection>
+	</scm>
+
+	<properties>
+		<!-- defined also in dnet-parent, here in case we need to override -->
+		<google.protobuf.version>2.4.1</google.protobuf.version>
+		<dnet.graph.domain.generated.sources>src/gen/java</dnet.graph.domain.generated.sources>
+	</properties>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>eu.dnetlib</groupId>
+				<artifactId>protoc-jar-maven-plugin</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+				<executions>
+					<execution>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>run</goal>
+						</goals>
+						<configuration>
+							<protocVersion>${google.protobuf.version}</protocVersion>
+							<inputDirectories>
+								<include>src/main/resources</include>
+							</inputDirectories>
+							<outputDirectory>${dnet.graph.domain.generated.sources}</outputDirectory>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<artifactId>maven-clean-plugin</artifactId>
+				<version>3.0.0</version>
+				<configuration>
+					<filesets>
+						<fileset>
+							<directory>${dnet.graph.domain.generated.sources}</directory>
+							<includes>
+								<include>**/*.java</include>
+							</includes>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+	<pluginRepositories>
+		<pluginRepository>
+			<id>dnet5-bootstrap-snapshot</id>
+			<url>http://maven.research-infrastructures.eu/nexus/content/repositories/dnet5-bootstrap-snapshot/</url>
+		</pluginRepository>
+	</pluginRepositories>
+
+	<dependencies>
+
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>dnet-pace-core</artifactId>
+			<version>2.5.0-SNAPSHOT</version>
+		</dependency>
+
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>dnet-core-components</artifactId>
+			<version>2.0.0-SAXONHE-SNAPSHOT</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.solr</groupId>
+			<artifactId>solr-solrj</artifactId>
+			<version>${apache.solr.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>wstx-asl</artifactId>
+					<groupId>org.codehaus.woodstox</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>jcl-over-slf4j</artifactId>
+					<groupId>org.slf4j</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>slf4j-api</artifactId>
+					<groupId>org.slf4j</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>dom4j</groupId>
+			<artifactId>dom4j</artifactId>
+			<version>${dom4j.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>xml-apis</artifactId>
+					<groupId>xml-apis</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>jaxen</groupId>
+			<artifactId>jaxen</artifactId>
+			<version>1.1.6</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.commons</groupId>
+			<artifactId>commons-lang3</artifactId>
+			<version>${commons.lang.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-codec</groupId>
+			<artifactId>commons-codec</artifactId>
+			<version>1.8</version>
+		</dependency>
+		<dependency>
+			<groupId>com.google.protobuf</groupId>
+			<artifactId>protobuf-java</artifactId>
+			<version>${google.protobuf.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-context</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.mockito</groupId>
+			<artifactId>mockito-core</artifactId>
+			<version>${mockito.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-test</artifactId>
+			<version>${spring.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>${junit.version}</version>
+			<scope>test</scope>
+        </dependency>
+	</dependencies>
+</project>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/clustering/BlacklistAwareClusteringCombinerTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/clustering/BlacklistAwareClusteringCombinerTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/clustering/BlacklistAwareClusteringCombinerTest.java	(revision 51225)
@@ -0,0 +1,38 @@
+package eu.dnetlib.pace.clustering;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import eu.dnetlib.pace.AbstractProtoPaceTest;
+import eu.dnetlib.pace.config.Config;
+import eu.dnetlib.pace.config.Type;
+import eu.dnetlib.pace.model.FieldListImpl;
+import eu.dnetlib.pace.model.FieldValueImpl;
+import eu.dnetlib.pace.model.MapDocument;
+
+public class BlacklistAwareClusteringCombinerTest extends AbstractProtoPaceTest {
+
+	private Config config;
+
+	@Before
+	public void setUp() {
+		config = getResultFullConf();
+	}
+
+	@Test
+	public void testCombine() {
+		final MapDocument result =
+				result(config, "A", "Dipping in Cygnus X-2 in a multi-wavelength campaign due to absorption of extended ADC emission", "2013");
+		final FieldListImpl fl = new FieldListImpl();
+		fl.add(new FieldValueImpl(Type.String, "desc", "hello world description pipeline"));
+
+		result.getFieldMap().put("desc", fl);
+
+		fl.clear();
+		fl.add(new FieldValueImpl(Type.String, "title", "lorem ipsum cabalie qwerty"));
+		final FieldListImpl field = (FieldListImpl) result.getFieldMap().get("title");
+		field.add(fl);
+
+		System.out.println(BlacklistAwareClusteringCombiner.filterAndCombine(result, config, config.blacklists()));
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/OdfToHbaseXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/OdfToHbaseXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/OdfToHbaseXsltFunctions.java	(revision 51225)
@@ -0,0 +1,229 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import eu.dnetlib.data.graph.model.DNGFRowKeyDecoder;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DatasetProtos.Dataset;
+import eu.dnetlib.data.proto.FieldTypeProtos.Instance;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class OdfToHbaseXsltFunctions extends CommonDNetXsltFunctions {
+
+	private static Map<String, String> mappingAccess = Maps.newHashMap();
+
+	static {
+
+		mappingAccess.put("info:eu-repo/semantics/openAccess", "OPEN");
+		mappingAccess.put("info:eu-repo/semantics/closedAccess", "CLOSED");
+		mappingAccess.put("info:eu-repo/semantics/restrictedAccess", "RESTRICTED");
+		mappingAccess.put("info:eu-repo/semantics/embargoedAccess", "EMBARGO");
+
+		// Transformator now maps the access rights into proper values, not sure if it does for all datasets.
+		mappingAccess.put("OPEN", "OPEN");
+		mappingAccess.put("CLOSED", "CLOSED");
+		mappingAccess.put("RESTRICTED", "RESTRICTED");
+		mappingAccess.put("EMBARGO", "EMBARGO");
+
+	}
+
+	protected static DNGFEntity.Builder odfDatasetProto(
+			final String resultId,
+			final NodeList about,
+			final NodeList titles,
+			final NodeList subjects,
+			final NodeList publisher,
+			final NodeList descriptions,
+			final NodeList dates,
+			final NodeList dateaccepted,
+			final NodeList resourceTypes,
+			final NodeList formats,
+			final NodeList sizes,
+			final NodeList languages,
+			final NodeList cobjcategory,
+			final NodeList contributors,
+			final NodeList rights,
+			final NodeList version,
+			final NodeList pidList,
+			final String hostedbyId,
+			final String hostedbyName,
+			final String collectedfromId,
+			final String collectedfromName,
+			final NodeList originalIds,
+			final String instanceUri,
+			final String dateOfCollection,
+			final String dateOfTransformation) {
+
+		final String entityId = DNGFRowKeyDecoder.decode(resultId).getKey();
+
+		final Dataset.Builder dataset = Dataset.newBuilder();
+		Dataset.Metadata.Builder metadataProto = Dataset.Metadata.newBuilder();
+
+		// subject
+		for (int i = 0; i < subjects.getLength(); i++) {
+			Node currentNode = subjects.item(i);
+			NodeList childNodes = currentNode.getChildNodes();
+			if (childNodes.getLength() > 0) {
+				String subjectValue = childNodes.item(0).getNodeValue();
+				addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("subject"),
+						getStructuredProperty(subjectValue, "keyword", "keyword", "dnet:result_subject", "dnet:result_subject"));
+			}
+		}
+
+		// title
+        manageTitle(titles, metadataProto);
+
+		// description
+		for (int i = 0; i < descriptions.getLength(); i++) {
+			Node currentNode = descriptions.item(i);
+			if (currentNode != null && currentNode.hasChildNodes()) {
+				String descriptionValue = currentNode.getChildNodes().item(0).getNodeValue();
+				addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("description"), descriptionValue);
+			}
+		}
+
+		// contributors
+		for (int i = 0; i < contributors.getLength(); i++) {
+			Node currentNode = contributors.item(i);
+			if (currentNode != null && currentNode.hasChildNodes()) {
+				String contributorValue = currentNode.getChildNodes().item(0).getNodeValue();
+				addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("contributor"), contributorValue);
+			}
+		}
+
+		// publisher
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("publisher"), getFirstItem(publisher));
+
+		// dates
+        manageDate(dates, metadataProto);
+
+
+		// dateofacceptance
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("dateofacceptance"), getFirstItem(dateaccepted));
+
+		// size
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("size"), getFirstItem(sizes));
+
+		// format
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("format"), getFirstItem(formats));
+
+		// version
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("version"), getFirstItem(version));
+
+		// language
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("language"),
+				setQualifier(getDefaultQualifier("dnet:languages"), Lists.newArrayList(getFirstItem(languages))));
+
+		//resource type
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("resourcetype"),
+				setQualifier(getDefaultQualifier("dnet:dataCite_resource"), Lists.newArrayList(getFirstItem(resourceTypes))));
+
+		// resultType
+		addField(metadataProto, Dataset.Metadata.getDescriptor().findFieldByName("resulttype"), getSimpleQualifier("dataset", "dnet:result_typologies"));
+
+		String tmpID;
+		String TmpName;
+
+		if (hostedbyId == null && hostedbyName == null) {
+			tmpID = collectedfromId;
+			TmpName = collectedfromName;
+		} else {
+			tmpID = hostedbyId;
+			TmpName = hostedbyName;
+		}
+
+		final Instance.Builder instance = Instance.newBuilder().setHostedby(getKV(tmpID, TmpName));
+
+		String tmpRigths = "UNKNOWN";
+		final String firstRight = getFirstItem(rights);
+		if (mappingAccess.containsKey(firstRight)) {
+			tmpRigths = mappingAccess.get(firstRight);
+		}
+
+		addField(instance, Instance.getDescriptor().findFieldByName("licence"),
+				setQualifier(getDefaultQualifier("dnet:access_modes"), Lists.newArrayList(tmpRigths)));
+
+		addField(instance, Instance.getDescriptor().findFieldByName("instancetype"),
+				setQualifier(getDefaultQualifier("dnet:dataCite_resource"), Lists.newArrayList(getFirstItem(cobjcategory))));
+
+		addField(instance, Instance.getDescriptor().findFieldByName("url"), instanceUri);
+
+		dataset.addInstance(instance);
+
+		List<StructuredProperty> pids = parsePids(pidList);
+
+		// original ids
+		final List<String> originalIdList = Lists.newArrayList();
+		for (int i = 0; i < originalIds.getLength(); i++) {
+			Node currentNode = originalIds.item(i);
+			if (currentNode != null && currentNode.hasChildNodes()) {
+				originalIdList.add(currentNode.getChildNodes().item(0).getNodeValue());
+			}
+		}
+
+		DNGFEntity.Builder entity =
+				getEntity(Type.dataset, entityId, getKV(collectedfromId, collectedfromName), originalIdList, dateOfCollection, dateOfTransformation, pids).setDataset(
+						dataset.setMetadata(metadataProto));
+
+		entity.setOaiprovenance(getOAIProvenance(about));
+
+		return entity;
+	}
+
+
+    public static String odfDataset(
+			final String resultId,
+			final NodeList about,
+			final NodeList metadata,
+			final NodeList titles,
+			final NodeList subjects,
+			final NodeList publisher,
+			final NodeList descriptions,
+			final NodeList dates,
+			final NodeList dateaccepted,
+			final NodeList resourceTypes,
+			final NodeList formats,
+			final NodeList sizes,
+			final NodeList languages,
+			final NodeList cobjcategory,
+			final NodeList contributors,
+			final NodeList rights,
+			final NodeList version,
+			final NodeList pidList,
+			final String provenance,
+			final String trust,
+			final String hostedbyId,
+			final String hostedbyName,
+			final String collectedfromId,
+			final String collectedfromName,
+			final NodeList originalIds,
+			final String instanceUri,
+			final String dateOfCollection,
+			final String dateOfTransformation) {
+
+		try {
+			final DNGFEntity.Builder entity = odfDatasetProto(
+					resultId, about, titles, subjects, publisher, descriptions, dates, dateaccepted,
+					resourceTypes, formats, sizes, languages, cobjcategory, contributors, rights, version,
+					pidList, hostedbyId, hostedbyName, collectedfromId, collectedfromName,
+					originalIds, instanceUri, dateOfCollection, dateOfTransformation);
+
+			final DNGF dngf = getOaf(entity, getDataInfo(about, provenance, trust, false, false));
+			return base64(dngf.toByteArray());
+		} catch (Throwable e) {
+			e.printStackTrace(System.err);
+			throw new RuntimeException(e);
+		}
+
+	}
+
+
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFRowKeyDecoder.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFRowKeyDecoder.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFRowKeyDecoder.java	(revision 51225)
@@ -0,0 +1,57 @@
+package eu.dnetlib.data.graph.model;
+
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class DNGFRowKeyDecoder {
+
+	public final static String ID_REGEX = "^[0-9][0-9]\\|.{12}::[a-zA-Z0-9]{32}$";
+	/**
+	 * logger.
+	 */
+	private static final Log log = LogFactory.getLog(DNGFRowKeyDecoder.class); // NOPMD by marko on 11/24/08 5:02 PM
+	private static final String SEPARATOR = "|";
+	private String key;
+
+	private Type type = null;
+
+	private String id = null;
+
+	private DNGFRowKeyDecoder(final String key) throws IllegalArgumentException {
+		this.key = key;
+
+		if (!key.matches(ID_REGEX)) {
+			String msg = "invalid key: '" + key + "'";
+			log.error(msg);
+			throw new IllegalArgumentException(msg);
+		}
+
+		int tag = Integer.parseInt(StringUtils.substringBefore(key, SEPARATOR));
+		this.type = Type.valueOf(tag);
+		this.id = StringUtils.substringAfter(key, SEPARATOR);
+
+		// System.out.println(OafRowTypeDecoder.class.getName() +" decoded key: " + split);
+	}
+
+	public static DNGFRowKeyDecoder decode(final byte[] key) throws IllegalArgumentException {
+		return new DNGFRowKeyDecoder(new String(key));
+	}
+
+	public static DNGFRowKeyDecoder decode(final String key) throws IllegalArgumentException {
+		return new DNGFRowKeyDecoder(key);
+	}
+
+	public String getKey() {
+		return key;
+	}
+
+	public Type getType() {
+		return type;
+	}
+
+	public String getId() {
+		return id;
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctions.java	(revision 51225)
@@ -0,0 +1,66 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.lang.reflect.Type;
+import java.util.List;
+
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * * <xsl:stylesheet ... xmlns:openTrials="eu.dnetlib.miscutils.functional.xml.OpenTrialsFunctions"> ... </xsl:stylesheet>
+ * Created by alessia on 13/05/16.
+ */
+public class OpenTrialsXsltFunctions {
+
+	/**
+	 * Parses a json to get the first url item.
+	 *
+	 * @param jsonProvList A json string in the following format: [{"url" : "theUrl", "sourceID" : "theSourceId", "sourceName" : "theSourceName"}]
+	 * @return the url value in the first object in the list
+	 */
+	public static String getMainIdentifierURL(String jsonProvList) {
+		List<JsonProv> provs = getProvs(jsonProvList);
+		for (JsonProv prov : provs) {
+			if (StringUtils.isNotBlank(prov.getUrl())) return prov.getUrl();
+		}
+		return "";
+	}
+
+
+	public static List<JsonProv> getProvs(String jsonProvList) {
+		Gson gson = new Gson();
+		Type type = new TypeToken<List<JsonProv>>() {
+		}.getType();
+		return gson.fromJson(jsonProvList, type);
+	}
+
+	static class JsonProv {
+
+		String url, sourceId, sourceName;
+
+		public String getUrl() {
+			return url;
+		}
+
+		public void setUrl(final String url) {
+			this.url = url;
+		}
+
+		public String getSourceId() {
+			return sourceId;
+		}
+
+		public void setSourceId(final String sourceId) {
+			this.sourceId = sourceId;
+		}
+
+		public String getSourceName() {
+			return sourceName;
+		}
+
+		public void setSourceName(final String sourceName) {
+			this.sourceName = sourceName;
+		}
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/transform/SolrProtoMapperTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/transform/SolrProtoMapperTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/transform/SolrProtoMapperTest.java	(revision 51225)
@@ -0,0 +1,102 @@
+package eu.dnetlib.data.transform;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Arrays;
+import java.util.List;
+
+import com.google.protobuf.InvalidProtocolBufferException;
+import com.googlecode.protobuf.format.JsonFormat;
+import eu.dnetlib.data.mapreduce.util.DNGFTest;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.common.SolrInputField;
+import org.dom4j.DocumentException;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+public class SolrProtoMapperTest {
+
+	private static final Log log = LogFactory.getLog(SolrProtoMapper.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	private static final String outFormat = new String("yyyy-MM-dd'T'hh:mm:ss'Z'");
+
+	private final static List<String> dateFormats = Arrays.asList("yyyy-MM-dd'T'hh:mm:ss", "yyyy-MM-dd", "dd-MM-yyyy", "dd/MM/yyyy", "yyyy");
+
+	private final static String dataset = "{\"kind\": \"entity\",\"entity\": {\"type\": \"dataset\",\"originalId\": [\"http://esipfed.org/ns/fedsearch/1.1/data#\",\"C1293870510-PODAAC\",\"C1293870494-PODAAC\",\"C1293870514-PODAAC\",\"C1293870523-PODAAC\",\"http://esipfed.org/ns/fedsearch/1.1/metadata#\"],\"collectedfrom\": [{\"key\": \"10|wds_________::827fac6a4d016d53b6874573cf37fc05\",\"value\": \"Common Metadata Repository (CMR)\"}],\"pid\": [{\"value\": \"C1293870510-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}},{\"value\": \"C1293870494-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}},{\"value\": \"C1293870514-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}},{\"value\": \"C1293870523-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}}],\"dateofcollection\": \"2016-08-29T14:39:03.816+02:00\",\"id\": \"60|dedup_wf_001::002a1f239e51f7b92df75b7f8902c117\",\"dateoftransformation\": \"\",\"dataset\": {\"metadata\": {\"title\": [{\"value\": \"PODAAC-SEABY-ANILT\",\"qualifier\": {\"classid\": \"main title\",\"classname\": \"main title\",\"schemeid\": \"dnet:dataCite_title\",\"schemename\": \"dnet:dataCite_title\"}}],\"relevantdate\": [{\"value\": \"2003-04-10T00:08:15.000Z\",\"qualifier\": {\"classid\": \"UNKNOWN\",\"classname\": \"UNKNOWN\",\"schemeid\": \"dnet:dataCite_date\",\"schemename\": \"dnet:dataCite_date\"}}],\"dateofacceptance\": {\"value\": \"\"},\"publisher\": {\"value\": \"PO.DAAC\"},\"resulttype\": {\"classid\": \"dataset\",\"classname\": \"dataset\",\"schemeid\": \"dnet:result_typologies\",\"schemename\": \"dnet:result_typologies\"},\"language\": {\"classid\": \"und\",\"classname\": \"Undetermined\",\"schemeid\": \"dnet:languages\",\"schemename\": \"dnet:languages\"},\"resourcetype\": {\"classid\": \"Dataset\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"size\": {\"value\": \"\"},\"format\": [{\"value\": \"ECHO10\"},{\"value\": \"ECHO10\"},{\"value\": \"ECHO10\"},{\"value\": \"ECHO10\"}],\"version\": {\"value\": \"\"},\"lastmetadataupdate\": {\"value\": \"2012-03-22T03:07:08.129Z\"},\"description\": [{\"value\": \" SeaWinds on ADEOS-II Level 3 Sigma-0 Polar-Stereographic Local-Time-of-Day Browse Images of Antarctic Region \"}]},\"instance\": [{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]},{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]},{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]},{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]}]},\"children\": [{\"type\": \"dataset\",\"originalId\": [\"C1293870514-PODAAC\",\"http://esipfed.org/ns/fedsearch/1.1/data#\",\"http://esipfed.org/ns/fedsearch/1.1/metadata#\"],\"collectedfrom\": [{\"key\": \"10|wds_________::827fac6a4d016d53b6874573cf37fc05\",\"value\": \"Common Metadata Repository (CMR)\"}],\"pid\": [{\"value\": \"C1293870514-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}}],\"dateofcollection\": \"2016-08-29T14:39:03.816+02:00\",\"id\": \"60|wds_cmr_____::ed18768335fcac40ae2cc062abc9e442\",\"dateoftransformation\": \"\",\"dataset\": {\"metadata\": {\"title\": [{\"value\": \"PODAAC-SEABY-ARBLT\",\"qualifier\": {\"classid\": \"main title\",\"classname\": \"main title\",\"schemeid\": \"dnet:dataCite_title\",\"schemename\": \"dnet:dataCite_title\"}}],\"relevantdate\": [{\"value\": \"2003-04-10T00:08:15.000Z\",\"qualifier\": {\"classid\": \"UNKNOWN\",\"classname\": \"UNKNOWN\",\"schemeid\": \"dnet:dataCite_date\",\"schemename\": \"dnet:dataCite_date\"}}],\"dateofacceptance\": {\"value\": \"\"},\"publisher\": {\"value\": \"PO.DAAC\"},\"resulttype\": {\"classid\": \"dataset\",\"classname\": \"dataset\",\"schemeid\": \"dnet:result_typologies\",\"schemename\": \"dnet:result_typologies\"},\"language\": {\"classid\": \"und\",\"classname\": \"Undetermined\",\"schemeid\": \"dnet:languages\",\"schemename\": \"dnet:languages\"},\"resourcetype\": {\"classid\": \"Dataset\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"size\": {\"value\": \"\"},\"format\": [{\"value\": \"ECHO10\"}],\"version\": {\"value\": \"\"},\"lastmetadataupdate\": {\"value\": \"2012-03-22T01:56:49.933Z\"},\"description\": [{\"value\": \" SeaWinds on ADEOS-II Level 3 Sigma-0 Polar-Stereographic Local-Time-of-Day Browse Maps of Arctic Region \"}]},\"instance\": [{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]}]},\"oaiprovenance\": {\"originDescription\": {\"harvestDate\": \"2016-08-29T14:39:03.816+02:00\",\"altered\": true,\"baseURL\": \"https%3A%2F%2Fcmr.earthdata.nasa.gov%2Fsearch%2Fcollections.json%3Fpretty%3Dtrue\",\"identifier\": \"\",\"datestamp\": \"\",\"metadataNamespace\": \"\"}}},{\"type\": \"dataset\",\"originalId\": [\"C1293870494-PODAAC\",\"http://esipfed.org/ns/fedsearch/1.1/data#\",\"http://esipfed.org/ns/fedsearch/1.1/metadata#\"],\"collectedfrom\": [{\"key\": \"10|wds_________::827fac6a4d016d53b6874573cf37fc05\",\"value\": \"Common Metadata Repository (CMR)\"}],\"pid\": [{\"value\": \"C1293870494-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}}],\"dateofcollection\": \"2016-08-29T14:39:03.816+02:00\",\"id\": \"60|wds_cmr_____::ac6f36f8c9ef39f815045eaa1182e745\",\"dateoftransformation\": \"\",\"dataset\": {\"metadata\": {\"title\": [{\"value\": \"PODAAC-SEABY-ARILT\",\"qualifier\": {\"classid\": \"main title\",\"classname\": \"main title\",\"schemeid\": \"dnet:dataCite_title\",\"schemename\": \"dnet:dataCite_title\"}}],\"relevantdate\": [{\"value\": \"2003-04-10T00:08:15.000Z\",\"qualifier\": {\"classid\": \"UNKNOWN\",\"classname\": \"UNKNOWN\",\"schemeid\": \"dnet:dataCite_date\",\"schemename\": \"dnet:dataCite_date\"}}],\"dateofacceptance\": {\"value\": \"\"},\"publisher\": {\"value\": \"PO.DAAC\"},\"resulttype\": {\"classid\": \"dataset\",\"classname\": \"dataset\",\"schemeid\": \"dnet:result_typologies\",\"schemename\": \"dnet:result_typologies\"},\"language\": {\"classid\": \"und\",\"classname\": \"Undetermined\",\"schemeid\": \"dnet:languages\",\"schemename\": \"dnet:languages\"},\"resourcetype\": {\"classid\": \"Dataset\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"size\": {\"value\": \"\"},\"format\": [{\"value\": \"ECHO10\"}],\"version\": {\"value\": \"\"},\"lastmetadataupdate\": {\"value\": \"2012-03-22T02:51:51.788Z\"},\"description\": [{\"value\": \" SeaWinds on ADEOS-II Level 3 Sigma-0 Polar-Stereographic Local-Time-of-Day Browse Images of Arctic Region \"}]},\"instance\": [{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]}]},\"oaiprovenance\": {\"originDescription\": {\"harvestDate\": \"2016-08-29T14:39:03.816+02:00\",\"altered\": true,\"baseURL\": \"https%3A%2F%2Fcmr.earthdata.nasa.gov%2Fsearch%2Fcollections.json%3Fpretty%3Dtrue\",\"identifier\": \"\",\"datestamp\": \"\",\"metadataNamespace\": \"\"}}},{\"type\": \"dataset\",\"originalId\": [\"C1293870523-PODAAC\",\"http://esipfed.org/ns/fedsearch/1.1/data#\",\"http://esipfed.org/ns/fedsearch/1.1/metadata#\"],\"collectedfrom\": [{\"key\": \"10|wds_________::827fac6a4d016d53b6874573cf37fc05\",\"value\": \"Common Metadata Repository (CMR)\"}],\"pid\": [{\"value\": \"C1293870523-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}}],\"dateofcollection\": \"2016-08-29T14:39:03.816+02:00\",\"id\": \"60|wds_cmr_____::a26b222d236fd523df9711c21a879911\",\"dateoftransformation\": \"\",\"dataset\": {\"metadata\": {\"title\": [{\"value\": \"PODAAC-SEABY-ANBLT\",\"qualifier\": {\"classid\": \"main title\",\"classname\": \"main title\",\"schemeid\": \"dnet:dataCite_title\",\"schemename\": \"dnet:dataCite_title\"}}],\"relevantdate\": [{\"value\": \"2003-04-10T00:08:15.000Z\",\"qualifier\": {\"classid\": \"UNKNOWN\",\"classname\": \"UNKNOWN\",\"schemeid\": \"dnet:dataCite_date\",\"schemename\": \"dnet:dataCite_date\"}}],\"dateofacceptance\": {\"value\": \"\"},\"publisher\": {\"value\": \"PO.DAAC\"},\"resulttype\": {\"classid\": \"dataset\",\"classname\": \"dataset\",\"schemeid\": \"dnet:result_typologies\",\"schemename\": \"dnet:result_typologies\"},\"language\": {\"classid\": \"und\",\"classname\": \"Undetermined\",\"schemeid\": \"dnet:languages\",\"schemename\": \"dnet:languages\"},\"resourcetype\": {\"classid\": \"Dataset\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"size\": {\"value\": \"\"},\"format\": [{\"value\": \"ECHO10\"}],\"version\": {\"value\": \"\"},\"lastmetadataupdate\": {\"value\": \"2012-03-22T03:01:46.198Z\"},\"description\": [{\"value\": \" SeaWinds on ADEOS-II Level 3 Sigma-0 Polar-Stereographic Local-Time-of-Day Browse Maps of Antarctic Region \"}]},\"instance\": [{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]}]},\"oaiprovenance\": {\"originDescription\": {\"harvestDate\": \"2016-08-29T14:39:03.816+02:00\",\"altered\": true,\"baseURL\": \"https%3A%2F%2Fcmr.earthdata.nasa.gov%2Fsearch%2Fcollections.json%3Fpretty%3Dtrue\",\"identifier\": \"\",\"datestamp\": \"\",\"metadataNamespace\": \"\"}}},{\"type\": \"dataset\",\"originalId\": [\"C1293870510-PODAAC\",\"http://esipfed.org/ns/fedsearch/1.1/data#\",\"http://esipfed.org/ns/fedsearch/1.1/metadata#\"],\"collectedfrom\": [{\"key\": \"10|wds_________::827fac6a4d016d53b6874573cf37fc05\",\"value\": \"Common Metadata Repository (CMR)\"}],\"pid\": [{\"value\": \"C1293870510-PODAAC\",\"qualifier\": {\"classid\": \"cmrid\",\"classname\": \"cmrid\",\"schemeid\": \"dnet:pid_types\",\"schemename\": \"dnet:pid_types\"}}],\"dateofcollection\": \"2016-08-29T14:39:03.816+02:00\",\"id\": \"60|wds_cmr_____::002a1f239e51f7b92df75b7f8902c117\",\"dateoftransformation\": \"\",\"dataset\": {\"metadata\": {\"title\": [{\"value\": \"PODAAC-SEABY-ANILT\",\"qualifier\": {\"classid\": \"main title\",\"classname\": \"main title\",\"schemeid\": \"dnet:dataCite_title\",\"schemename\": \"dnet:dataCite_title\"}}],\"relevantdate\": [{\"value\": \"2003-04-10T00:08:15.000Z\",\"qualifier\": {\"classid\": \"UNKNOWN\",\"classname\": \"UNKNOWN\",\"schemeid\": \"dnet:dataCite_date\",\"schemename\": \"dnet:dataCite_date\"}}],\"dateofacceptance\": {\"value\": \"\"},\"publisher\": {\"value\": \"PO.DAAC\"},\"resulttype\": {\"classid\": \"dataset\",\"classname\": \"dataset\",\"schemeid\": \"dnet:result_typologies\",\"schemename\": \"dnet:result_typologies\"},\"language\": {\"classid\": \"und\",\"classname\": \"Undetermined\",\"schemeid\": \"dnet:languages\",\"schemename\": \"dnet:languages\"},\"resourcetype\": {\"classid\": \"Dataset\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"size\": {\"value\": \"\"},\"format\": [{\"value\": \"ECHO10\"}],\"version\": {\"value\": \"\"},\"lastmetadataupdate\": {\"value\": \"2012-03-22T03:07:08.129Z\"},\"description\": [{\"value\": \" SeaWinds on ADEOS-II Level 3 Sigma-0 Polar-Stereographic Local-Time-of-Day Browse Images of Antarctic Region \"}]},\"instance\": [{\"licence\": {\"classid\": \"CLOSED\",\"classname\": \"Closed Access\",\"schemeid\": \"dnet:access_modes\",\"schemename\": \"dnet:access_modes\"},\"instancetype\": {\"classid\": \"0021\",\"classname\": \"Dataset\",\"schemeid\": \"dnet:dataCite_resource\",\"schemename\": \"dnet:dataCite_resource\"},\"hostedby\": {\"key\": \"10|openaire____::55045bd2a65019fd8e6741a755395c8c\",\"value\": \"Unknown Repository\"},\"url\": [\"\"]}]},\"oaiprovenance\": {\"originDescription\": {\"harvestDate\": \"2016-08-29T14:39:03.816+02:00\",\"altered\": true,\"baseURL\": \"https%3A%2F%2Fcmr.earthdata.nasa.gov%2Fsearch%2Fcollections.json%3Fpretty%3Dtrue\",\"identifier\": \"\",\"datestamp\": \"\",\"metadataNamespace\": \"\"}}}],\"oaiprovenance\": {\"originDescription\": {\"harvestDate\": \"2016-08-29T14:39:03.816+02:00\",\"altered\": true,\"baseURL\": \"https%3A%2F%2Fcmr.earthdata.nasa.gov%2Fsearch%2Fcollections.json%3Fpretty%3Dtrue\",\"identifier\": \"\",\"datestamp\": \"\",\"metadataNamespace\": \"\"}}},\"dataInfo\": {\"inferred\": true,\"deletedbyinference\": false,\"trust\": \"0.9\",\"inferenceprovenance\": \"dedup-similarity-dataset\",\"provenanceaction\": {\"classid\": \"sysimport:dedup\",\"classname\": \"sysimport:dedup\",\"schemeid\": \"dnet:provenanceActions\",\"schemename\": \"dnet:provenanceActions\"}}}";
+
+	private String fields;
+
+	@Before
+	public void setUp() throws IOException {
+		final StringWriter sw = new StringWriter();
+		IOUtils.copy(getClass().getResourceAsStream("fields.xml"), sw);
+		fields = sw.toString();
+		assertNotNull(fields);
+		assertFalse(fields.isEmpty());
+
+		log.info(fields);
+	}
+
+	@Test
+	public void testProto2SolrDocument() throws DocumentException, InvalidProtocolBufferException, JsonFormat.ParseException {
+		final SolrProtoMapper mapper = new SolrProtoMapper(fields);
+
+		assertNotNull(mapper);
+
+		DNGF.Builder builder = DNGF.newBuilder();
+		JsonFormat.merge(dataset, builder);
+
+		final DNGF oaf = builder.build();
+
+		assertNotNull(oaf.getEntity().getChildrenList());
+		assertFalse(oaf.getEntity().getChildrenList().isEmpty());
+
+		log.info("byte[] size: " + oaf.toByteArray().length);
+
+		log.info("json size:   " + JsonFormat.printToString(oaf).length());
+
+		log.info("base64 size: " + Base64.encodeBase64String(oaf.toByteArray()).length());
+
+		final byte[] decodeBase64 = Base64.decodeBase64(Base64.encodeBase64String(oaf.toByteArray()));
+
+		log.info("decoded: " + JsonFormat.printToString(DNGF.parseFrom(decodeBase64)));
+
+		final SolrInputDocument doc = mapper.map(oaf, getParsedDateField("2015-02-15"), "asd", "action-set");
+
+		assertNotNull(doc);
+
+		for (final SolrInputField f : doc.values()) {
+			log.info(f);
+		}
+	}
+
+
+	/**
+	 * method return a solr-compatible string representation of a date
+	 *
+	 * @param date
+	 * @return
+	 * @throws DocumentException
+	 * @throws ParseException
+	 */
+	public String getParsedDateField(final String date) {
+		for (String formatString : dateFormats) {
+			try {
+				return new SimpleDateFormat(outFormat).format(new SimpleDateFormat(formatString).parse(date));
+			} catch (ParseException e) {}
+		}
+		throw new IllegalStateException("unable to parse date: " + date);
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/XsltRowTransformer.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/XsltRowTransformer.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/XsltRowTransformer.java	(revision 51225)
@@ -0,0 +1,84 @@
+package eu.dnetlib.data.transform;
+
+import java.io.StringReader;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.stream.StreamSource;
+
+import com.google.common.base.Function;
+import com.ximpleware.AutoPilot;
+import com.ximpleware.VTDGen;
+import com.ximpleware.VTDNav;
+import eu.dnetlib.data.graph.model.DNGFDecoder;
+import eu.dnetlib.data.transform.VtdUtilityParser.Node;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.dom4j.io.DocumentResult;
+
+public class XsltRowTransformer implements Function<String, List<Row>> {
+
+	private static final Log log = LogFactory.getLog(XsltRowTransformer.class); // NOPMD by marko on 11/24/08 5:02 PM
+
+	public static final String DATA_XPATH = "/ROWS/ROW";
+
+	public static final List<String> ATTRS = Arrays.asList("value", "mode");
+
+	private Transformer transformer;
+
+	public XsltRowTransformer(final Transformer transformer) {
+		this.transformer = transformer;
+		log.info(String.format("using trasformer: '%s'", getTransformerClassName()));
+	}
+
+	private List<Row> transform(final String xml) {
+		final DocumentResult result = new DocumentResult();
+		try {
+			transformer.transform(new StreamSource(new StringReader(xml)), result);
+
+			final VTDGen parser = new VTDGen();
+			parser.setDoc(result.getDocument().asXML().getBytes());
+			parser.parse(true);
+
+			final VTDNav nav = parser.getNav();
+			final AutoPilot autoPilot = new AutoPilot(nav);
+			return VtdUtilityParser.getTextValuesWithAttributes(autoPilot, nav, DATA_XPATH, ATTRS)
+					.stream()
+					.map(this::asRow)
+					.collect(Collectors.toList());
+		} catch (Exception e) {
+			log.error("Error parsing xml:\n" + xml, e);
+			throw new RuntimeException("Unable to parse document:\n" + xml, e);
+		}
+	}
+
+	private Row asRow(final Node base64Node) {
+		final String base64 = base64Node.getAttributes().get("value");
+		if (StringUtils.isBlank(base64))
+			throw new IllegalArgumentException("empty protocolbuffer value, check xslt");
+
+		final DNGFDecoder d = DNGFDecoder.decode(Base64.decodeBase64(base64));
+		final String qualifier = getQualifier(base64Node, d);
+		return new Row(d.getColumnFamily(), d.getRowkey(), Arrays.asList(new Column<>(qualifier, d.getDNGF().toByteArray())));
+	}
+
+	private String getQualifier(final Node base64Node, final DNGFDecoder d) {
+		if("update".equals(base64Node.getAttributes().get("mode"))) {
+			return "update_" + System.nanoTime();
+		}
+		return d.getQualifier();
+	}
+
+	public String getTransformerClassName() {
+		return transformer != null ? transformer.getClass().getName() : "unknown";
+	}
+
+	@Override
+	public List<Row> apply(final String xml) {
+		return transform(xml);
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/TrustOrdering.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/TrustOrdering.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/TrustOrdering.java	(revision 51225)
@@ -0,0 +1,31 @@
+package eu.dnetlib.data.transform;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Ordering;
+
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.SpecialTrustProtos.SpecialTrust;
+
+public class TrustOrdering extends Ordering<DNGF> {
+
+	@Override
+	public int compare(DNGF left, DNGF right) {
+		String lTrust = left.getDataInfo().getTrust();
+		String rTrust = right.getDataInfo().getTrust();
+
+		if (lTrust.equals(rTrust)) return 0;
+
+		if (lTrust.equals(SpecialTrust.INFINITE.toString())) return 1;
+		if (rTrust.equals(SpecialTrust.INFINITE.toString())) return -1;
+
+		if (lTrust.equals(SpecialTrust.NEUTRAL.toString())) return 1;
+		if (rTrust.equals(SpecialTrust.NEUTRAL.toString())) return -1;
+
+		return Float.compare(Float.parseFloat(lTrust), Float.parseFloat(rTrust));
+	}
+
+	public static ImmutableList<DNGF> sort(Iterable<DNGF> entities) {
+		return new TrustOrdering().immutableSortedCopy(entities);
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFRelDecoder.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFRelDecoder.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFRelDecoder.java	(revision 51225)
@@ -0,0 +1,73 @@
+package eu.dnetlib.data.graph.model;
+
+import eu.dnetlib.data.graph.utils.RelDescriptor;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+
+public class DNGFRelDecoder {
+
+    private final DNGFRel dngfRel;
+
+    private DNGFRelDecoder(final DNGFRel dngfRel) {
+        this.dngfRel = dngfRel;
+    }
+
+	public static DNGFRelDecoder decode(final DNGFRel DNGFRel) {
+		return new DNGFRelDecoder(DNGFRel);
+	}
+
+	public Qualifier getRelType() {
+        return dngfRel.getRelType();
+    }
+
+
+    public RelDescriptor getRelDescriptor() {
+        return new RelDescriptor(getDngfRel().getRelType().getSchemeid(), getDngfRel().getRelType().getClassid(), getRelTargetId());
+    }
+
+	public String getRelClass() {
+        return dngfRel.getRelType().getClassid();
+    }
+
+	public String getRelScheme() {
+        return dngfRel.getRelType().getSchemeid();
+    }
+
+	public DNGFRel.Builder setClassId(final String classId) {
+        final DNGFRel.Builder relBuilder = DNGFRel.newBuilder(dngfRel);
+        relBuilder.getRelTypeBuilder().setClassid(classId);
+		return relBuilder;
+	}
+
+	public Type getTargetType() {
+        return dngfRel.getTargetType();
+    }
+
+	public Type getSourceType() {
+        return dngfRel.getSourceType();
+    }
+
+
+    public DNGFRel getDngfRel() {
+        return dngfRel;
+    }
+
+	public String getCachedTargedId() {
+
+        if (!dngfRel.hasCachedTarget()) return null;
+
+        final DNGFEntity entity = dngfRel.getCachedTarget();
+        return DNGFEntityDecoder.decode(entity).getId();
+	}
+
+	public String getRelSourceId() {
+        return dngfRel.getSource();
+    }
+
+	public String getRelTargetId() {
+        return dngfRel.getTarget();
+    }
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionSerialiser.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionSerialiser.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionSerialiser.java	(revision 51225)
@@ -0,0 +1,74 @@
+package eu.dnetlib.data.actionmanager.actions;
+
+import java.lang.reflect.Type;
+
+import com.google.gson.*;
+import com.google.protobuf.InvalidProtocolBufferException;
+import com.googlecode.protobuf.format.JsonFormat;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.Agent;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.AbstractActionSerializer;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.AtomicAction;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Created by claudio on 30/09/15.
+ */
+public class AtomicActionSerialiser extends AbstractActionSerializer implements JsonSerializer<AtomicAction> {
+
+	private static final Log log = LogFactory.getLog(AtomicActionSerialiser.class);
+
+	public static String toJSON(final AtomicAction action) {
+
+		final GsonBuilder gson = new GsonBuilder();
+
+		gson.registerTypeAdapter(AtomicAction.class, new AtomicActionSerialiser());
+
+		return gson.create().toJson(action);
+	}
+
+	@Override
+	public JsonElement serialize(final AtomicAction aa, final Type typeOfSrc, final JsonSerializationContext context) {
+
+		JsonObject json = new JsonObject();
+		json.addProperty(targetColumn, aa.getTargetColumn());
+		json.addProperty(targetColumnFamily, aa.getTargetColumnFamily());
+		json.addProperty(targetRowKey, aa.getTargetRowKey());
+		json.addProperty(rawSet, aa.getRawSet());
+		json.addProperty(rowKey, aa.getRowKey());
+		json.addProperty(actionType, aa.getActionType().toString());
+
+		json.add(agent, getAgentJSON(aa));
+
+		//json.addProperty(targetValue, getTargetValueJSON(aa));
+
+		final String base64 = new String(Base64.encodeBase64(getTargetValueJSON(aa).getBytes()));
+		json.addProperty(targetValue, base64);
+
+		return json;
+	}
+
+	private JsonElement getAgentJSON(final AtomicAction aa) {
+
+		final Agent a = aa.getAgent();
+
+		JsonObject json = new JsonObject();
+		json.addProperty(agent_id, a.getId());
+		json.addProperty(agent_name, a.getName());
+		json.addProperty(agent_type, a.getType().toString());
+
+		return json;
+	}
+
+	private String getTargetValueJSON(final AtomicAction aa) {
+		try {
+			return aa.getTargetValue() != null && aa.getTargetValue().length > 0 ? JsonFormat.printToString(DNGF.parseFrom(aa.getTargetValue())) : "";
+		} catch (InvalidProtocolBufferException e) {
+			log.error("unable to parse proto", e);
+			return null;
+		}
+	}
+}
+
Index: modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/AbstractProtoPaceTest.java
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/AbstractProtoPaceTest.java	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/java/eu/dnetlib/pace/AbstractProtoPaceTest.java	(revision 51225)
@@ -0,0 +1,208 @@
+package eu.dnetlib.pace;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.google.common.collect.Lists;
+import com.google.gson.Gson;
+import eu.dnetlib.data.mapreduce.util.DNGFTest;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty.Builder;
+import eu.dnetlib.data.proto.OrganizationProtos.Organization;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.PublicationProtos.Publication;
+import eu.dnetlib.data.proto.TypeProtos;
+import eu.dnetlib.pace.config.Config;
+import eu.dnetlib.pace.config.DedupConfig;
+import eu.dnetlib.pace.config.Type;
+import eu.dnetlib.pace.model.Field;
+import eu.dnetlib.pace.model.FieldValueImpl;
+import eu.dnetlib.pace.model.MapDocument;
+import eu.dnetlib.pace.model.ProtoDocumentBuilder;
+import eu.dnetlib.pace.model.gt.GTAuthor;
+import eu.dnetlib.pace.model.gt.GTAuthorMapper;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.RandomStringUtils;
+import org.apache.commons.lang3.StringUtils;
+
+public abstract class AbstractProtoPaceTest extends DNGFTest {
+
+	protected DedupConfig getResultFullConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.full.pace.conf"));
+	}
+
+	protected DedupConfig getResultSimpleConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.simple.pace.conf"));
+	}
+
+	protected DedupConfig getResultConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.pace.conf"));
+	}
+
+	protected DedupConfig getOrganizationSimpleConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/organization.pace.conf"));
+	}
+
+	protected DedupConfig getResultAuthorsConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.authors.pace.conf"));
+	}
+
+	protected DedupConfig getPersonConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/person.pace.conf"));
+	}
+
+	protected DedupConfig getResultProdConf() {
+		return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.prod.pace.conf"));
+	}
+
+	protected MapDocument person(final Config conf, final String id, final DNGF oaf) {
+		return ProtoDocumentBuilder.newInstance(id, oaf.getEntity(), conf.model());
+	}
+
+	protected DNGF getPersonGT(final String path) {
+		return new GTAuthorMapper().map(getGTAuthor(path));
+	}
+
+	protected GTAuthor getGTAuthor(final String path) {
+
+		final Gson gson = new Gson();
+
+		final String json = readFromClasspath(path);
+
+		final GTAuthor gta = gson.fromJson(json, GTAuthor.class);
+
+		return gta;
+	}
+
+	private String readFromClasspath(final String filename) {
+		final StringWriter sw = new StringWriter();
+		try {
+			IOUtils.copy(getClass().getResourceAsStream(filename), sw);
+			return sw.toString();
+		} catch (final IOException e) {
+			throw new RuntimeException("cannot load resource from classpath: " + filename);
+		}
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title) {
+		return result(config, id, title, null, new ArrayList<String>(), null);
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title, final String date) {
+		return result(config, id, title, date, new ArrayList<String>(), null);
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title, final String date, final List<String> pid) {
+		return result(config, id, title, date, pid, null);
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title, final String date, final String pid) {
+		return result(config, id, title, date, pid, null);
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title, final String date, final String pid, final List<String> authors) {
+		return result(config, id, title, date, Lists.newArrayList(pid), authors);
+	}
+
+	protected MapDocument result(final Config config, final String id, final String title, final String date, final List<String> pid, final List<String> authors) {
+		final Publication.Metadata.Builder metadata = Publication.Metadata.newBuilder();
+		if (!StringUtils.isBlank(title)) {
+			metadata.addTitle(getStruct(title, getQualifier("main title", "dnet:titles")));
+			metadata.addTitle(getStruct(RandomStringUtils.randomAlphabetic(10), getQualifier("alternative title", "dnet:titles")));
+		}
+		if (!StringUtils.isBlank(date)) {
+			metadata.setDateofacceptance(sf(date));
+		}
+
+		final DNGFEntity.Builder entity = dngfEntity(id, TypeProtos.Type.publication);
+		final Publication.Builder result = Publication.newBuilder().setMetadata(metadata);
+
+		if (authors != null) {
+			for (final String author : authors) {
+				result.addAuthor(person(author));
+			}
+		}
+
+		entity.setPublication(result);
+
+		if (pid != null) {
+			for(String p : pid) {
+				if (!StringUtils.isBlank(p)) {
+					entity.addPid(sp(p, "doi"));
+					//entity.addPid(sp(RandomStringUtils.randomAlphabetic(10), "oai"));
+				}
+			}
+		}
+
+		final DNGFEntity build = entity.build();
+		return ProtoDocumentBuilder.newInstance(id, build, config.model());
+	}
+
+	private Person.Builder person(final String author) {
+		final Person.Builder person = Person.newBuilder();
+
+		final eu.dnetlib.pace.model.Person p = new eu.dnetlib.pace.model.Person(author, false);
+		final Person.Metadata.Builder metadata = Person.Metadata.newBuilder();
+		if (p.isAccurate()) {
+			metadata.setFirstname(sf(p.getNormalisedFirstName()));
+			metadata.addSecondnames(sf(p.getNormalisedSurname()));
+			metadata.setFullname(sf(p.getNormalisedFullname()));
+		} else {
+			metadata.setFullname(sf(p.getOriginal()));
+		}
+
+		return person.setMetadata(metadata);
+	}
+
+	private DNGFEntity.Builder dngfEntity(final String id, final eu.dnetlib.data.proto.TypeProtos.Type type) {
+		final DNGFEntity.Builder entity = DNGFEntity.newBuilder().setId(id).setType(type);
+		return entity;
+	}
+
+	protected MapDocument organization(final Config config, final String id, final String legalName) {
+		return organization(config, id, legalName, null);
+	}
+
+	protected MapDocument organization(final Config config, final String id, final String legalName, final String legalShortName) {
+		final Organization.Metadata.Builder metadata = Organization.Metadata.newBuilder();
+		if (legalName != null) {
+			metadata.setLegalname(sf(legalName));
+		}
+		if (legalShortName != null) {
+			metadata.setLegalshortname(sf(legalShortName));
+		}
+
+		final DNGFEntity.Builder entity = dngfEntity(id, TypeProtos.Type.publication);
+		entity.setOrganization(Organization.newBuilder().setMetadata(metadata));
+
+		return ProtoDocumentBuilder.newInstance(id, entity.build(), config.model());
+	}
+
+	private StructuredProperty sp(final String pid, final String type) {
+		final Builder pidSp =
+				StructuredProperty.newBuilder().setValue(pid)
+						.setQualifier(Qualifier.newBuilder().setClassid(type).setClassname(type).setSchemeid("dnet:pid_types").setSchemename("dnet:pid_types"));
+		return pidSp.build();
+	}
+
+	protected Field title(final String s) {
+		return new FieldValueImpl(Type.String, "title", s);
+	}
+
+	protected static StructuredProperty.Builder getStruct(final String value, final Qualifier.Builder qualifier) {
+		return StructuredProperty.newBuilder().setValue(value).setQualifier(qualifier);
+	}
+
+	/*
+	 * protected static StringField.Builder sf(final String s) { return StringField.newBuilder().setValue(s); }
+	 * 
+	 * protected static Qualifier.Builder getQualifier(final String classname, final String schemename) { return
+	 * Qualifier.newBuilder().setClassid(classname).setClassname(classname).setSchemeid(schemename).setSchemename(schemename); }
+	 */
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFTest.java	(revision 51225)
@@ -0,0 +1,253 @@
+package eu.dnetlib.data.mapreduce.util;
+
+import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.InvalidProtocolBufferException;
+import eu.dnetlib.data.graph.model.DNGFDecoder;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.DatasourceProtos.Datasource;
+import eu.dnetlib.data.proto.FieldTypeProtos.*;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty.Builder;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import eu.dnetlib.data.proto.OrganizationProtos.Organization;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.ProjectProtos.Project;
+import eu.dnetlib.data.proto.PublicationProtos.Publication;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class DNGFTest {
+
+	public static final String CITATION_JSON =
+			"<citations>\n  <citation>\n    <rawText>[10] M. Foret et al., Phys. Rev. B 66, 024204 (2002).</rawText>\n  </citation>\n  <citation>\n    <rawText>[11] B. Ru\175404\264e et al., Phys. Rev. Lett. 90, 095502 (2003).</rawText>\n  </citation>\n  <citation>\n    <rawText>[12] U. Buchenau et al., Phys. Rev. B 34, 5665 (1986).</rawText>\n  </citation>\n  <citation>\n    <rawText>[13] S.N. Taraskin and S.R. Elliott, J. Phys.: Condens. Mat- ter 11, A219 (1999).</rawText>\n  </citation>\n  <citation>\n    <rawText>[14] B. Hehlen et al., Phys. Rev. Lett. 84, 5355 (2000).</rawText>\n  </citation>\n  <citation>\n    <rawText>[15] N.V. Surotsev et al., J. Phys.: Condens. Matter 10, L113 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[16] D.A. Parshin and C. Laermans, Phys. Rev. B 63, 132203 (2001).</rawText>\n  </citation>\n  <citation>\n    <rawText>[17] V.L. Gurevich et al., Phys. Rev. B 67, 094203 (2003).</rawText>\n  </citation>\n  <citation>\n    <rawText>[18] A. Matic et al., Phys. Rev. Lett. 86, 3803 (2001).</rawText>\n  </citation>\n  <citation>\n    <rawText>[19] E. Rat et al., arXiv:cond-mat/0505558, 23 May 2005.</rawText>\n  </citation>\n  <citation>\n    <rawText>[1] R.C. Zeller and R.O. Pohl, Phys. Rev. B 4, 2029 (1971).</rawText>\n  </citation>\n  <citation>\n    <rawText>[20] C.A. Angell, J. Non-Cryst. Solids 131\20023133, 13 (1991).</rawText>\n  </citation>\n  <citation>\n    <rawText>[21] A.P. Sokolov et al., Phys. Rev. Lett. 71, 2062 (1993).</rawText>\n  </citation>\n  <citation>\n    <rawText>[22] T. Matsuo et al., Solid State Ionics 154-155, 759 (2002).</rawText>\n  </citation>\n  <citation>\n    <rawText>[23] V.K. Malinovsky et al., Europhys. Lett. 11, 43 (1990).</rawText>\n  </citation>\n  <citation>\n    <rawText>[24] J. Lor\250osch et al., J. Non-Cryst. Solids 69, 1 (1984).</rawText>\n  </citation>\n  <citation>\n    <rawText>[25] U. Buchenau, Z. Phys. B 58, 181 (1985).</rawText>\n  </citation>\n  <citation>\n    <rawText>[26] A.F. Io\175400e and A.R. Regel, Prog. Semicond. 4, 237 (1960).</rawText>\n  </citation>\n  <citation>\n    <rawText>[27] R. Dell\20031Anna et al., Phys. Rev. Lett. 80, 1236 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[28] D. Fioretto et al., Phys. Rev. E 59, 4470 (1999).</rawText>\n  </citation>\n  <citation>\n    <rawText>[29] U. Buchenau et al., Phys. Rev. Lett. 77, 4035 (1996).</rawText>\n  </citation>\n  <citation>\n    <rawText>[2] M. Rothenfusser et al., Phys. Rev. B 27, 5196 (1983).</rawText>\n  </citation>\n  <citation>\n    <rawText>[30] J. Mattsson et al., J. Phys.: Condens. Matter 15, S1259 (2003).</rawText>\n  </citation>\n  <citation>\n    <rawText>[31] T. Scopigno et al., Phys. Rev. Lett. 92, 025503 (2004).</rawText>\n  </citation>\n  <citation>\n    <rawText>[32] M. Foret et al., Phys. Rev. Lett. 81, 2100 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[33] F. Sette et al., Science 280, 1550 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[34] J. Wuttke et al., Phys. Rev. E 52, 4026 (1995).</rawText>\n  </citation>\n  <citation>\n    <rawText>[35] M.A. Ramos et al., Phys. Rev. Lett. 78, 82 (1997).</rawText>\n  </citation>\n  <citation>\n    <rawText>[36] G. Monaco et al., Phys. Rev. Lett. 80, 2161 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[37] A. T\250olle, Rep. Prog. Phys. 64, 1473 (2001).</rawText>\n  </citation>\n  <citation>\n    <rawText>[38] As the straight lines do not cross the origin, this does not 2 imply \1623 \21035 \1651 .</rawText>\n  </citation>\n  <citation>\n    <rawText>[39] A. Matic et al., Europhys. Lett. 54, 77 (2001).</rawText>\n  </citation>\n  <citation>\n    <rawText>[3] S. Hunklinger and W. Arnold, in Physical Acoustics, Vol. XII, W.P. Mason and R.N. Thurston Eds. (Academic Press, N.Y. 1976), p. 155.</rawText>\n  </citation>\n  <citation>\n    <rawText>[40] IXS data are usually not available below \1651co, mostly for experimental reasons. E.g., that the rapid onset was not evidenced in vitreous silica [27], is not indicative of its absence but rather of a low qco \21074 1 nm\210221.</rawText>\n  </citation>\n  <citation>\n    <rawText>[41] G. Ruocco et al., Phys. Rev. Lett. 83, 5583 (1999).</rawText>\n  </citation>\n  <citation>\n    <rawText>[42] D. C\1307 iplys et al., J. Physique (Paris) 42, C6-184 (1981).</rawText>\n  </citation>\n  <citation>\n    <rawText>[43] R. Vacher et al., Rev. Sci. Instrum. 51, 288 (1980).</rawText>\n  </citation>\n  <citation>\n    <rawText>[44] R. Vacher et al., arXiv:cond-mat/0505560, 23 May 2005.</rawText>\n  </citation>\n  <citation>\n    <rawText>[45] T.N. Claytor et al., Phys. Rev. B 18, 5842 (1978).</rawText>\n  </citation>\n  <citation>\n    <rawText>[46] M. Arai et al., Physica B 263-264, 268 (1999).</rawText>\n  </citation>\n  <citation>\n    <rawText>[4] R. Vacher et al., J. Non-Cryst. Solids 45, 397 (1981); T.C. Zhu et al., Phys. Rev. B 44, 4281 (1991).</rawText>\n  </citation>\n  <citation>\n    <rawText>[5] J.E. Graebner et al., Phys. Rev. B 34, 5696 (1986).</rawText>\n  </citation>\n  <citation>\n    <rawText>[6] E. Duval and A. Mermet, Phys. Rev. B 58, 8159 (1998).</rawText>\n  </citation>\n  <citation>\n    <rawText>[7] A. Matic et al., Phys. Rev. Lett. 93, 145502 (2004).</rawText>\n  </citation>\n  <citation>\n    <rawText>[8] Often alluded to, e.g. in the Encyclopedia of Materials: Science and Technology, K.H.J. Buschow et al., Eds., Vol. 1 (Elsevier, Oxford, 2001), articles by S.R. Elliott on pp. 171-174 and U. Buchenau on pp. 212-215.</rawText>\n  </citation>\n  <citation>\n    <rawText>[9] E. Rat et al., Phys. Rev. Lett. 83, 1355 (1999).</rawText>\n  </citation>\n</citations>";
+	public static final String STATISTICS_JSON =
+			"[{ \"citationsPerYear\": \"many\", \"anotherCoolStatistic\": \"WoW\", \"nestedStat\": { \"firstNestedStat\" : \"value 1\", \"secondNestedStat\" : \"value 2\"}, \"listingStat\" : [ \"one\", \"two\" ] }]";
+    private static final Log log = LogFactory.getLog(DNGFTest.class);
+    private static String basePathProfiles = "/eu/dnetlib/test/profiles/OntologyDSResources/OntologyDSResourceType";
+
+	public static StructuredProperty.Builder getStructuredproperty(final String value, final String classname, final String schemename) {
+		return getStructuredproperty(value, classname, schemename, null);
+	}
+
+	public static StructuredProperty.Builder getStructuredproperty(final String value, final String classname, final String schemename, final DataInfo dataInfo) {
+		final Builder sp = StructuredProperty.newBuilder().setValue(value).setQualifier(getQualifier(classname, schemename));
+		if (dataInfo != null) {
+			sp.setDataInfo(dataInfo);
+		}
+		return sp;
+	}
+
+	public static Qualifier.Builder getQualifier(final String classname, final String schemename) {
+		return Qualifier.newBuilder().setClassid(classname).setClassname(classname).setSchemeid(schemename).setSchemename(schemename);
+	}
+
+	public static KeyValue getKV(final String id, final String name) {
+		return KeyValue.newBuilder().setKey(id).setValue(name).build();
+	}
+
+	public static DNGFEntity getDatasource(final String datasourceId) {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.datasource)
+				.setId(datasourceId)
+				.setDatasource(
+						Datasource.newBuilder().setMetadata(
+								Datasource.Metadata.newBuilder().setOfficialname(sf("officialname")).setEnglishname(sf("englishname"))
+										.setWebsiteurl(sf("websiteurl")).setContactemail(sf("contactemail")).addAccessinfopackage(sf("accessinforpackage"))
+										.setNamespaceprefix(sf("namespaceprofix")).setDescription(sf("description")).setOdnumberofitems(sf("numberofitems"))
+										.setOdnumberofitemsdate(sf("numberofitems date"))
+										// .addOdsubjects("subjects")
+										.setOdpolicies(sf("policies")).addOdlanguages(sf("languages")).addOdcontenttypes(sf("contenttypes"))
+										.setDatasourcetype(getQualifier("type class", "type scheme")))).build();
+	}
+
+	public static DNGFEntity getResult(final String id) {
+		return getResultBuilder(id).build();
+	}
+
+	public static DNGFEntity.Builder getResultBuilder(final String id) {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.publication)
+				.setId(id)
+				.setPublication(
+						Publication.newBuilder()
+								.setMetadata(
+										Publication.Metadata
+												.newBuilder()
+												.addTitle(
+														getStructuredproperty(
+																"Analysis of cell viability in intervertebral disc: Effect of endplate permeability on cell population",
+																"main title", "dnet:result_titles", getDataInfo()))
+												.addTitle(getStructuredproperty("Another title", "alternative title", "dnet:result_titles", getDataInfo()))
+												.addSubject(getStructuredproperty("Biophysics", "subject", "dnet:result_sujects"))
+												.setDateofacceptance(sf("2010-01-01")).addSource(sf("sourceA")).addSource(sf("sourceB"))
+												.addContext(Context.newBuilder().setId("egi::virtual::970"))
+												.addContext(Context.newBuilder().setId("egi::classification::natsc::math::applied"))
+												.addContext(Context.newBuilder().setId("egi::classification::natsc::math"))
+												.addContext(Context.newBuilder().setId("egi::classification::natsc"))
+												.addContext(Context.newBuilder().setId("egi::classification")).addContext(Context.newBuilder().setId("egi"))
+												.addDescription(sf("Responsible for making and maintaining the extracellular matrix ..."))
+												.addDescription(sf("Another description ...")).setPublisher(sf("ELSEVIER SCI LTD"))
+												.setResulttype(getQualifier("publication", "dnet:result_types"))
+												.setLanguage(getQualifier("eng", "dnet:languages"))).addInstance(getInstance("10|od__10", "Uk pubmed"))
+								.addInstance(getInstance("10|od__10", "arxiv")))
+				.addCollectedfrom(getKV("opendoar____::1064", "Oxford University Research Archive"))
+				.addPid(getStructuredproperty("doi:74293", "doi", "dnet:pids")).addPid(getStructuredproperty("oai:74295", "oai", "dnet:pids"))
+				.setDateofcollection("");
+	}
+
+	public static DataInfo getDataInfo() {
+		return getDataInfo("0.4");
+	}
+
+	public static DataInfo getDataInfo(final String trust) {
+		return DataInfo.newBuilder().setDeletedbyinference(false).setTrust("0.4").setInferenceprovenance("algo").setProvenanceaction(getQualifier("xx", "yy"))
+				.build();
+	}
+
+	public static Instance.Builder getInstance(final String hostedbyId, final String hostedbyName) {
+		return Instance.newBuilder().setHostedby(getKV(hostedbyId, hostedbyName)).setLicence(getQualifier("OpenAccess", "dnet:access_modes"))
+				.setInstancetype(getQualifier("publication", "dnet:result_typologies")).addUrl("webresource url");
+
+	}
+
+	public static DNGFRel getDedupRel(final String source, final String target) {
+		return DNGFRel.newBuilder().setSource(source).setTarget(target).setRelType(getQualifier("dedup", "dedupScheme"))
+				.setChild(false).setCachedTarget(getResult(target)).build();
+	}
+
+
+	public static DNGFEntity getPerson() {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.person)
+				.setId("WOS:000277866500014_A._Shirazi-Adl")
+				.setPerson(
+						Person.newBuilder().setMetadata(
+								Person.Metadata.newBuilder().addSecondnames(sf("Shirazi-Adl")).setFullname(sf("A. Shirazi-Adl"))
+										.setEmail(sf("name.surname@gmail.com")).setPhone(sf("12345")).setNationality(getQualifier("EN", "dnet:countries"))))
+				.build();
+	}
+
+
+
+	public static DNGFEntity getOrganization(final String orgId) {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.organization)
+				.setId(orgId)
+				.addCollectedfrom(getKV("opendoar_1234", "UK pubmed"))
+				.setOrganization(
+						Organization.newBuilder().setMetadata(
+								Organization.Metadata.newBuilder().setLegalname(sf("CENTRE D'APPUI A LA RECHERCHE ET A LA FORMATION GIE"))
+										.setLegalshortname(sf("CAREF")).setWebsiteurl(sf("www.caref-mali.org"))
+										.setCountry(getQualifier("ML", "dnet:countries")))).build();
+	}
+
+	public static DNGFEntity getProjectFP7(final String projectId, final String fundingProgram) throws InvalidProtocolBufferException {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.project)
+				.setId(projectId)
+				.addCollectedfrom(getKV("opendoar_1234", "UK pubmed"))
+				.setProject(
+						Project.newBuilder()
+								.setMetadata(
+										Project.Metadata
+												.newBuilder()
+												.setAcronym(sf("5CYRQOL"))
+												.setTitle(sf("Cypriot Researchers Contribute to our Quality of Life"))
+												.setStartdate(sf("2007-05-01"))
+												.setEnddate(sf("2007-10-31"))
+												.setEcsc39(sf("false"))
+												.setContracttype(getQualifier("CSA", "ec:FP7contractTypes"))
+												.addFundingtree(
+														sf("<fundingtree><funder><id>ec__________::EC</id><shortname>EC</shortname><name>European Commission</name></funder><funding_level_2><id>ec__________::EC::FP7::"
+																+ fundingProgram
+																+ "::PEOPLE</id><description>Marie-Curie Actions</description><name>PEOPLE</name><class>ec:program</class><parent><funding_level_1><id>ec__________::EC::FP7::"
+																+ fundingProgram
+																+ "</id><description>"
+																+ fundingProgram
+																+ "-People</description><name>"
+																+ fundingProgram
+																+ "</name><class>ec:specificprogram</class><parent><funding_level_0><id>ec__________::EC::FP7</id><description>SEVENTH FRAMEWORK PROGRAMME</description><name>FP7</name><parent/><class>ec:frameworkprogram</class></funding_level_0></parent></funding_level_1></parent></funding_level_2></fundingtree>"))))
+				.build();
+	}
+
+	public static DNGFEntity getProjectWT() throws InvalidProtocolBufferException {
+		return DNGFEntity
+				.newBuilder()
+				.setType(Type.project)
+				.setId("project|wt::087536")
+				.addCollectedfrom(getKV("wellcomeTrust", "wellcome trust"))
+				.setProject(
+						Project.newBuilder()
+								.setMetadata(
+										Project.Metadata
+												.newBuilder()
+												.setAcronym(sf("UNKNOWN"))
+												.setTitle(sf("Research Institute for Infectious Diseases of Poverty (IIDP)."))
+												.setStartdate(sf("2007-05-01"))
+												.setEnddate(sf("2007-10-31"))
+												.setEcsc39(sf("false"))
+												.setContracttype(getQualifier("UNKNOWN", "wt:contractTypes"))
+												.addFundingtree(
+														sf("<fundingtree><funder><id>wt__________::WT</id><shortname>WT</shortname><name>Wellcome Trust</name></funder><funding_level_0><id>wt__________::WT::UNKNOWN</id><description>UNKNOWN</description><name>UNKNOWN</name><class>wt:fundingStream</class><parent/></funding_level_0></fundingtree>"))
+												.addFundingtree(
+														sf("<fundingtree><funder><id>wt__________::WT</id><shortname>WT</shortname><name>Wellcome Trust</name></funder><funding_level_0><id>wt__________::WT::Technology Transfer</id><description>Technology Transfer</description><name>Technology Transfer</name><class>wt:fundingStream</class><parent/></funding_level_0></fundingtree>"))))
+				.build();
+	}
+
+	public static ExtraInfo extraInfo(final String name, final String provenance, final String trust, final String typology, final String value) {
+		final ExtraInfo.Builder e = ExtraInfo.newBuilder().setName(name).setProvenance(provenance).setTrust(trust).setTypology(typology).setValue(value);
+		return e.build();
+	}
+
+	public static StringField sf(final String s) {
+		return sf(s, null);
+	}
+
+	public static StringField sf(final String s, final DataInfo dataInfo) {
+		final StringField.Builder sf = StringField.newBuilder().setValue(s);
+		if (dataInfo != null) {
+			sf.setDataInfo(dataInfo);
+		}
+		return sf.build();
+	}
+
+	public static DNGFDecoder embed(final GeneratedMessage msg,
+			final Kind kind,
+			final boolean deletedByInference,
+			final boolean inferred,
+			final String provenance,
+			final String action) {
+
+		final DNGF.Builder dngf = DNGF.newBuilder()
+				.setKind(kind)
+				.setLastupdatetimestamp(System.currentTimeMillis())
+				.setDataInfo(
+						DataInfo.newBuilder().setDeletedbyinference(deletedByInference).setInferred(inferred).setTrust("0.5")
+								.setInferenceprovenance(provenance).setProvenanceaction(getQualifier(action, action)));
+		switch (kind) {
+		case entity:
+			dngf.setEntity((DNGFEntity) msg);
+			break;
+		case relation:
+			dngf.setRel((DNGFRel) msg);
+			break;
+		default:
+			break;
+		}
+
+		return DNGFDecoder.decode(dngf.build());
+	}
+
+	public static DNGFDecoder embed(final GeneratedMessage msg, final Kind kind) {
+		return embed(msg, kind, false, false, "inference_provenance", "provenance_action");
+	}
+
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/utils/HBaseTableUtils.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/utils/HBaseTableUtils.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/utils/HBaseTableUtils.java	(revision 51225)
@@ -0,0 +1,20 @@
+package eu.dnetlib.data.graph.utils;
+
+import java.util.Set;
+
+import com.google.common.collect.Sets;
+
+/**
+ * Common static utility methods to manage the hbase tables
+ *
+ * @author claudio
+ */
+public class HBaseTableUtils {
+
+	private static final Set<String> cfs = Sets.newHashSet("metadata", "rel");
+
+	public Set<String> getColumns() {
+		return cfs;
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/pace/model/gt/GTAuthorMapper.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/pace/model/gt/GTAuthorMapper.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/pace/model/gt/GTAuthorMapper.java	(revision 51225)
@@ -0,0 +1,115 @@
+package eu.dnetlib.pace.model.gt;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Iterables;
+import eu.dnetlib.data.proto.FieldTypeProtos.DataInfo;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.FieldTypeProtos.StringField;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.PersonProtos.Person.CoAuthor;
+import eu.dnetlib.data.proto.PersonProtos.Person.MergedPerson;
+import eu.dnetlib.data.proto.PersonProtos.Person.Metadata;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.lang3.StringUtils;
+
+public class GTAuthorMapper {
+
+	public DNGF map(final GTAuthor gta) {
+
+		final DNGF.Builder oaf = DNGF.newBuilder();
+
+		oaf.setDataInfo(getDataInfo());
+		oaf.setLastupdatetimestamp(System.currentTimeMillis());
+		oaf.setKind(Kind.entity);
+		oaf.setEntity(getDNGFEntity(gta));
+
+		return oaf.build();
+	}
+
+	private DNGFEntity getDNGFEntity(final GTAuthor gta) {
+		final DNGFEntity.Builder entity = DNGFEntity.newBuilder();
+		entity.setType(Type.person);
+		entity.setId(gta.getId());
+		entity.setPerson(getPerson(gta));
+		return entity.build();
+	}
+
+	private Person getPerson(final GTAuthor gta) {
+		final Person.Builder person = Person.newBuilder();
+
+		if (gta.getAuthor() != null) {
+			final Person.Metadata.Builder m = Person.Metadata.newBuilder();
+
+			if (StringUtils.isNotBlank(gta.getAuthor().getFullname())) {
+				m.setFullname(sf(gta.getAuthor().getFullname()));
+			}
+			if (StringUtils.isNotBlank(gta.getAuthor().getFirstname())) {
+				m.setFirstname(sf(gta.getAuthor().getFirstname()));
+			}
+			if (StringUtils.isNotBlank(gta.getAuthor().getSecondnames())) {
+				m.addSecondnames(sf(gta.getAuthor().getSecondnames()));
+			}
+
+			person.setMetadata(m.build());
+		}
+
+		person.setAnchor(true);
+		person.addAllMergedperson(Iterables.transform(gta.getMerged(), new Function<Author, MergedPerson>() {
+
+			@Override
+			public MergedPerson apply(final Author a) {
+				final MergedPerson.Builder mp = MergedPerson.newBuilder();
+				mp.setId(a.getId());
+				mp.setMetadata(getMetadata(a));
+				return mp.build();
+			}
+
+		}));
+
+		person.addAllCoauthor(Iterables.transform(gta.getCoAuthors(), new Function<eu.dnetlib.pace.model.gt.CoAuthor, CoAuthor>() {
+
+			@Override
+			public CoAuthor apply(final eu.dnetlib.pace.model.gt.CoAuthor ca) {
+				final CoAuthor.Builder coAuthor = CoAuthor.newBuilder();
+				coAuthor.setId(ca.getId());
+				if (StringUtils.isNotBlank(ca.getAnchorId())) {
+					coAuthor.setAnchorId(ca.getAnchorId());
+				}
+				coAuthor.setMetadata(getMetadata(ca));
+				return coAuthor.build();
+			}
+		}));
+
+		return person.build();
+	}
+
+	private Metadata getMetadata(final Author a) {
+		final Metadata.Builder m = Metadata.newBuilder();
+		m.setFullname(sf(a.getFullname()));
+		if (a.isWellFormed()) {
+			m.setFirstname(sf(a.getFirstname()));
+			m.addSecondnames(sf(a.getSecondnames()));
+		}
+		return m.build();
+	}
+
+	private DataInfo getDataInfo() {
+		final DataInfo.Builder d = DataInfo.newBuilder();
+		d.setDeletedbyinference(false);
+		d.setInferred(true);
+		d.setTrust("0.5");
+		d.setInferenceprovenance("dedup-person-groundtruth");
+		d.setProvenanceaction(Qualifier.newBuilder().setClassid("").setClassname("").setSchemeid("").setSchemename(""));
+		return d.build();
+	}
+
+	private StringField sf(final String s) {
+		final StringField.Builder sf = StringField.newBuilder();
+		sf.setValue(s);
+		return sf.build();
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/index/CloudIndexClientFactory.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/index/CloudIndexClientFactory.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/index/CloudIndexClientFactory.java	(revision 51225)
@@ -0,0 +1,43 @@
+package eu.dnetlib.data.index;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.solr.client.solrj.impl.CloudSolrServer;
+import org.apache.solr.client.solrj.response.SolrPingResponse;
+
+/**
+ * Created by michele on 11/11/15.
+ */
+public class CloudIndexClientFactory {
+
+	private static final Log log = LogFactory.getLog(CloudIndexClientFactory.class);
+
+	public static CloudIndexClient newIndexClient(final String baseURL, final String collection, final boolean parallelUpdates)
+			throws CloudIndexClientException {
+		CloudSolrServer solrServer = null;
+		try {
+
+			log.info(String.format("Initializing solr server (%s) ...", baseURL));
+			solrServer = new CloudSolrServer(baseURL);
+
+			solrServer.connect();
+
+			solrServer.setParallelUpdates(parallelUpdates);
+			solrServer.setDefaultCollection(collection);
+
+			final SolrPingResponse rsp = solrServer.ping();
+			if (rsp.getStatus() != 0) {
+				log.error("Invalid connection to solr Server (status = 0)");
+				throw new CloudIndexClientException("Invalid connection to solr Server (status = 0)");
+			}
+
+			return new CloudIndexClient(solrServer);
+		} catch (Throwable e) {
+			if (solrServer != null) {
+				solrServer.shutdown();
+			}
+			log.error("The initialization of indexClient is FAILED", e);
+			throw new CloudIndexClientException("The initialization of indexClient is FAILED", e);
+		}
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/pid.json
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/pid.json	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/pid.json	(revision 51225)
@@ -0,0 +1,3 @@
+{
+  "" :
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/prepareDLIDataJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/prepareDLIDataJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/prepareDLIDataJob.xml	(revision 51225)
@@ -0,0 +1,62 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="b67b8eef-6100-4ccb-8750-18b1bfd3112c_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="prepareDLIDataJob" type="mapreduce">
+            <DESCRIPTION>map reduce job that joins the entities on the hbase table and produces a sequence file
+                containig the json DLI records
+            </DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class"
+                          value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat"/>
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dli.PrepareIndexDataMapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+
+                <!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dli.PrepareIndexDataReducer"/>
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+
+
+                <PROPERTY key="mapred.reduce.tasks" value="10"/>
+
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+
+                <!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+                <!--  	Uncomment to override the default lib path -->
+                <!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+                <PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+                <PARAM name="mapred.output.dir" required="true" description="output directory"/>
+                <PARAM name="ontologies" required="true" description="context map (ContextDSResources)"/>
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS/>
+                <FAMILIES/>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.fo.json
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.fo.json	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.fo.json	(revision 51225)
@@ -0,0 +1,112 @@
+{
+  "id": "30|dedup_wf_001::9044d2ebdd6112d84e5ff279ae3d0a26",
+  "author": {
+    "frequency": 2,
+    "id": "30|od______1457::9897283f935d7c2f4c11cebf65ae3098",
+    "fullname": "Manghi, Paolo",
+    "firstname": "Paolo",
+    "secondnames": "Manghi"
+  },
+  "merged": [
+    {
+      "id": "30|od______1457::9897283f935d7c2f4c11cebf65ae3098",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "score": 1,
+      "id": "30|od_______307::9897283f935d7c2f4c11cebf65ae3098",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    }
+  ],
+  "coAuthors": [
+    {
+      "anchorId": "30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b",
+      "id": "30|od_______307::e0c601b1613eec62abb99e2591168fba",
+      "fullname": "Rodrigues, Eloy",
+      "firstname": "Eloy",
+      "secondnames": "Rodrigues"
+    },
+    {
+      
+      "id": "30|od______2367::e931b1326351ef5b3bb2b89f3fc4244c",
+      "fullname": "Kobos, Mateusz",
+      "firstname": "Mateusz",
+      "secondnames": "Kobos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d",
+      "id": "30|od_______307::ef2914f870d83e32764f2e0db122d0c4",
+      "fullname": "Houssos, Nikos",
+      "firstname": "Nikos",
+      "secondnames": "Houssos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::958d36ee987d35f7d0a4f74a7ad10680",
+      "id": "30|od______1457::980daed35d7008f6f4de325f235fde65",
+      "fullname": "Príncipe, Pedro",
+      "firstname": "Pedro",
+      "secondnames": "Príncipe"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::4fe9f7dd4a96f983dcc8f17436238ba6",
+      "id": "30|od_______307::ae2f5173f1f1745e8521107ffd9e37ae",
+      "fullname": "Dvořák, Jan",
+      "firstname": "Jan",
+      "secondnames": "Dvořák"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d09e46b26192d335be7aef7ddcbc9c0c",
+      "id": "30|od_______307::56bbbdcfbdda05ec257fabc0c7a596cc",
+      "fullname": "Elbæk, Mikael Karstensen",
+      "firstname": "Mikael Karstensen",
+      "secondnames": "Elbæk"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d09e46b26192d335be7aef7ddcbc9c0c",
+      "id": "30|od______1457::56bbbdcfbdda05ec257fabc0c7a596cc",
+      "fullname": "Elbæk, Mikael Karstensen",
+      "firstname": "Mikael Karstensen",
+      "secondnames": "Elbæk"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::29611ace913f53e57c9201010b24434b",
+      "id": "30|od______1457::99d2bbd6eb21de2603f2d355875fe7b2",
+      "fullname": "Jörg, Brigitte",
+      "firstname": "Brigitte",
+      "secondnames": "Jörg"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d",
+      "id": "30|od______1457::ef2914f870d83e32764f2e0db122d0c4",
+      "fullname": "Houssos, Nikos",
+      "firstname": "Nikos",
+      "secondnames": "Houssos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::29611ace913f53e57c9201010b24434b",
+      "id": "30|od_______307::99d2bbd6eb21de2603f2d355875fe7b2",
+      "fullname": "Jörg, Brigitte",
+      "firstname": "Brigitte",
+      "secondnames": "Jörg"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b",
+      "id": "30|od______1457::e0c601b1613eec62abb99e2591168fba",
+      "fullname": "Rodrigues, Eloy",
+      "firstname": "Eloy",
+      "secondnames": "Rodrigues"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::4fe9f7dd4a96f983dcc8f17436238ba6",
+      "id": "30|od______1457::ae2f5173f1f1745e8521107ffd9e37ae",
+      "fullname": "Dvořák, Jan",
+      "firstname": "Jan",
+      "secondnames": "Dvořák"
+    }
+  ],
+  "anchor": true
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFixRelationsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFixRelationsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFixRelationsJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5b99d940-7477-40db-a458-549d301419c5_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupFixRelationsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that redirects the rels to fix the graph consistency</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupFixRelationMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupFixRelationReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Writable" />				
+	
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="500" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+	
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+		        <PARAM name="ontologies" required="true" description="ontology values fetched from the information system" />
+	        </JOB_INTERFACE>
+        	<SCAN caching="10">
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES/>        		
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMarkDeletedEntityJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMarkDeletedEntityJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMarkDeletedEntityJob.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="667fe203-ee51-4dff-8c9c-b90e66e96eb4_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="dedupMarkDeletedEntityJob" type="mapreduce">
+			<DESCRIPTION>map only job that closes the similarity mesh</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupMarkDeletedEntityMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="0"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+				<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table"/>
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+				<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table"/>
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" param="entityTypeId"/>
+				</FILTERS>
+				<FAMILIES>
+					<FAMILY value="metadata"/>
+					<FAMILY value="rels"/>
+				</FAMILIES>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.prod.pace.conf
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.prod.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.prod.pace.conf	(revision 51225)
@@ -0,0 +1,266 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "dedupRun" : "001", 
+        "entityType" : "result", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "result", "personResult_authorship_hasAuthor", "resultProject_outcome_isProducedBy", "resultResult_publicationDataset_isRelatedTo", "resultResult_similarity_isAmongTopNSimilarDocuments", "resultResult_similarity_hasAmongTopNSimilarDocuments" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {		
+		"clustering" : [
+			{ "name" : "ngrampairs", "fields" : [ "title" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+			{ "name" : "suffixprefix", "fields" : [ "title" ], "params" : { "max" : "1", "len" : "3" } } 
+		],
+		"strictConditions" : [
+			{ "name" : "exactMatch", "fields" : [ "pid" ] }
+		], 
+  		"conditions" : [ 
+  			{ "name" : "titleVersionMatch", "fields" : [ "title" ] },
+  			{ "name" : "sizeMatch", "fields" : [ "authors" ] }
+  		],		
+		"model" : [
+			{ "name" : "pid", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "pid[qualifier#classid = {doi}]/value", "overrideMatch" : "true" }, 	
+			{ "name" : "title", "algo" : "LevensteinTitle", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "publication/metadata/title[qualifier#classid = {main title}]/value" },
+			{ "name" : "authors", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "publication/author/metadata/fullname/value" }
+		],
+		"blacklists" : { 
+			"title" : [
+				"^THE ASSOCIATION AND THE GENERAL MEDICAL COUNCIL$",
+				"^Problems with perinatal pathology\.?$",
+				"(?i)^Cases? of Puerperal Convulsions$",
+				"(?i)^Operative Gyna?ecology$",
+				"(?i)^Mind the gap\!?\:?$",
+				"^Chronic fatigue syndrome\.?$",
+				"^Cartas? ao editor Letters? to the Editor$",
+				"^Note from the Editor$",
+				"^Anesthesia Abstract$",
+				
+				"^Annual report$",
+				"(?i)^“?THE RADICAL PREVENTION OF VENEREAL DISEASE\.?”?$",
+				"(?i)^Graph and Table of Infectious Diseases?$",
+				"^Presentation$",
+				"(?i)^Reviews and Information on Publications$",
+				"(?i)^PUBLIC HEALTH SERVICES?$",
+				"(?i)^COMBINED TEXT-?BOOK OF OBSTETRICS AND GYN(Æ|ae)COLOGY$",
+				"(?i)^Adrese autora$",
+				"(?i)^Systematic Part .*\. Catalogus Fossilium Austriae, Band 2: Echinoidea neogenica$",
+				"(?i)^Acknowledgement to Referees$",
+				"(?i)^Behçet's disease\.?$",
+				"(?i)^Isolation and identification of restriction endonuclease.*$",
+				"(?i)^CEREBROVASCULAR DISEASES?.?$",
+				"(?i)^Screening for abdominal aortic aneurysms?\.?$",
+				"^Event management$",
+				"(?i)^Breakfast and Crohn's disease.*\.?$",
+				"^Cálculo de concentraciones en disoluciones acuosas. Ejercicio interactivo\..*\.$",
+				"(?i)^Genetic and functional analyses of SHANK2 mutations suggest a multiple hit model of Autism spectrum disorders?\.?$",
+				"^Gushi hakubutsugaku$",
+			
+				"^Starobosanski nadpisi u Bosni i Hercegovini \(.*\)$",							
+				"^Intestinal spirocha?etosis$",
+				"^Treatment of Rodent Ulcer$",
+				"(?i)^\W*Cloud Computing\W*$",
+				"^Compendio mathematico : en que se contienen todas las materias mas principales de las Ciencias que tratan de la cantidad$",				
+				"^Free Communications, Poster Presentations: Session [A-F]$",
+				
+				"^“The Historical Aspects? of Quackery\.?”$",
+				"^A designated centre for people with disabilities operated by St John of God Community Services (Limited|Ltd), Louth$",
+				"^P(er|re)-Mile Premiums for Auto Insurance\\.?$",
+				"(?i)^Case Report$",							
+				"^Boletín Informativo$",
+				"(?i)^Glioblastoma Multiforme$",
+				"(?i)^Nuevos táxones animales descritos en la península Ibérica y Macaronesia desde 1994 \\(.*\\)$",
+				"^Zaměstnanecké výhody$",
+				"(?i)^The Economics of Terrorism and Counter-Terrorism: A Survey \\(Part .*\\)$",
+				"(?i)^Carotid body tumours?\\.?$", 
+				"(?i)^\\[Españoles en Francia : La condición Emigrante.*\\]$",
+				"^Avant-propos$",
+				"(?i)^St\. Patrick's Cathedral, Dublin, County Dublin - Head(s)? and Capital(s)?$",
+				"(?i)^St\. Patrick's Cathedral, Dublin, County Dublin - Bases?$",
+				"(?i)^PUBLIC HEALTH VERSUS THE STATE$",							
+				"^Viñetas de Cortázar$",
+				"(?i)^Search for heavy neutrinos and W(\\[|_|\\(|_\\{|-)?R(\\]|\\)|\\})? bosons with right-handed couplings in a left-right symmetric model in pp collisions at.*TeV(\.)?$",
+				"(?i)^Measurement of the pseudorapidity and centrality dependence of the transverse energy density in Pb(-?)Pb collisions at.*tev(\.?)$",				
+				"(?i)^Search for resonances decaying into top-quark pairs using fully hadronic decays in pp collisions with ATLAS at.*TeV$",
+				"(?i)^Search for neutral minimal supersymmetric standard model Higgs bosons decaying to tau pairs in pp collisions at.*tev$",
+			
+				"(?i)^Relatório de Estágio (de|em) Angiologia e Cirurgia Vascular$",
+				"^Aus der AGMB$",				
+			
+				"^Znanstveno-stručni prilozi$",
+				"^Zhodnocení finanční situace podniku a návrhy na zlepšení$",
+				"^Evaluation of the Financial Situation in the Firm and Proposals to its Improvement$",
+				"^Finanční analýza podniku$",
+				"^Financial analysis( of business)?$",
+				"(?i)^Textbook of Gyn(a)?(Æ)?(e)?cology$",
+				"^Jikken nihon shūshinsho$",
+				"(?i)^CORONER('|s)(s|') INQUESTS$",
+				"(?i)^(Μελέτη παραγόντων )?risk management( για ανάπτυξη και εφαρμογή ενός πληροφοριακού συστήματος| και ανάπτυξη συστήματος)?$",				
+				"(?i)^Consultants' contract(s)?$",
+				"(?i)^Upute autorima$",
+				"(?i)^Bijdrage tot de Kennis van den Godsdienst der Dajaks van Lan(d|f)ak en Tajan$",
+				"^Joshi shin kokubun$",
+				"^Kōtō shōgaku dokuhon nōson'yō$",
+				"^Jinjō shōgaku shōka$",
+				"^Shōgaku shūjichō$",
+				"^Nihon joshi dokuhon$",
+				"^Joshi shin dokuhon$",
+				"^Chūtō kanbun dokuhon$",
+				"^Wabun dokuhon$",
+				"(?i)^(Analysis of economy selected village or town|Rozbor hospodaření vybrané obce či města)$",
+				"(?i)^cardiac rehabilitation$",
+				"(?i)^Analytical summary$",
+				"^Thesaurus resolutionum Sacrae Congregationis Concilii$",
+				"(?i)^Sumario analítico(\\s{1})?(Analitic summary)?$", 
+				"^Prikazi i osvrti$",
+				"^Rodinný dům s provozovnou$",
+				"^Family house with an establishment$",
+				"^Shinsei chūtō shin kokugun$",
+				"^Pulmonary alveolar proteinosis(\\.?)$",
+				"^Shinshū kanbun$",
+				"^Viñeta(s?) de Rodríguez$",
+				"(?i)^RUBRIKA UREDNIKA$",
+				"^A Matching Model of the Academic Publication Market$",
+				"^Yōgaku kōyō$",
+			
+				"^Internetový marketing$",
+				"^Internet marketing$",
+				"^Chūtō kokugo dokuhon$",
+				"^Kokugo dokuhon$",
+				"^Antibiotic Cover for Dental Extraction(s?)$",
+				"^Strategie podniku$",				
+				"^Strategy of an Enterprise$",
+				"(?i)^respiratory disease(s?)(\.?)$",
+				"^Award(s?) for Gallantry in Civil Defence$",
+				"^Podniková kultura$",
+				"^Corporate Culture$",
+				"^Severe hyponatraemia in hospital inpatient(s?)(\.?)$",
+				"^Pracovní motivace$",
+				"^Work Motivation$",
+				"^Kaitei kōtō jogaku dokuhon$",
+				"^Konsolidovaná účetní závěrka$",
+				"^Consolidated Financial Statements$",
+				"(?i)^intracranial tumour(s?)$",
+				"^Climate Change Mitigation Options and Directed Technical Change: A Decentralized Equilibrium Analysis$",
+				"^\\[CERVECERIAS MAHOU(\\.|\\:) INTERIOR\\] \\[Material gráfico\\]$",
+				"^Housing Market Dynamics(\\:|\\.) On the Contribution of Income Shocks and Credit Constraint(s?)$",
+				"^\\[Funciones auxiliares de la música en Radio París,.*\\]$",
+				"^Úroveň motivačního procesu jako způsobu vedení lidí$",
+				"^The level of motivation process as a leadership$",
+				"^Pay-beds in N(\\.?)H(\\.?)S(\\.?) Hospitals$",
+				"(?i)^news and events$",
+				"(?i)^NOVOSTI I DOGAĐAJI$",
+				"^Sansū no gakushū$",
+				"^Posouzení informačního systému firmy a návrh změn$",
+				"^Information System Assessment and Proposal for ICT Modification$",
+				"^Stresové zatížení pracovníků ve vybrané profesi$",
+				"^Stress load in a specific job$",
+				
+				"^Sunday: Poster Sessions, Pt.*$",
+				"^Monday: Poster Sessions, Pt.*$",
+				"^Wednesday: Poster Sessions, Pt.*",
+				"^Tuesday: Poster Sessions, Pt.*$",
+				
+				"^Analýza reklamy$",
+				"^Analysis of advertising$",
+			
+				"^Shōgaku shūshinsho$",
+				"^Shōgaku sansū$",
+				"^Shintei joshi kokubun$",
+				"^Taishō joshi kokubun dokuhon$",
+				"^Joshi kokubun$",				
+												
+				"^Účetní uzávěrka a účetní závěrka v ČR$",
+				"(?i)^The \"?Causes\"? of Cancer$",
+				"^Normas para la publicación de artículos$",
+				"^Editor('|s)(s|') [Rr]eply$",
+				"^Editor(’|s)(s|’) letter$",
+				"^Redaktoriaus žodis$",		
+				"^DISCUSSION ON THE PRECEDING PAPER$",
+				"^Kōtō shōgaku shūshinsho jidōyō$",
+				"^Shōgaku nihon rekishi$",
+				"^(Theory of the flow of action currents in isolated myelinated nerve fibers).*$",
+				"^Préface$",
+				"^Occupational [Hh]ealth [Ss]ervices.$",
+				"^In Memoriam Professor Toshiyuki TAKESHIMA$",
+				"^Účetní závěrka ve vybraném podniku.*$",
+				"^Financial statements in selected company$",
+				"^Abdominal [Aa]ortic [Aa]neurysms.*$",
+				"^Pseudomyxoma peritonei$",
+				"^Kazalo autora$",			
+			
+				"(?i)^uvodna riječ$",
+				"^Motivace jako způsob vedení lidí$",
+				"^Motivation as a leadership$",
+				"^Polyfunkční dům$",
+				"^Multi\\-funkcional building$",
+				"^Podnikatelský plán$",
+				"^Business Plan$",
+				"^Oceňování nemovitostí$",
+				"^Marketingová komunikace$",
+				"^Marketing communication$",
+				"^Sumario Analítico$",
+				"^Riječ uredništva$",
+				"^Savjetovanja i priredbe$",
+				"^Índice$",
+				"^(Starobosanski nadpisi).*$",
+				"^Vzdělávání pracovníků v organizaci$",
+				"^Staff training in organization$",
+				"^(Life Histories of North American Geometridae).*$",
+				"^Strategická analýza podniku$",
+				"^Strategic Analysis of an Enterprise$",
+				"^Sadržaj$",
+				"^Upute suradnicima$",
+				"^Rodinný dům$",
+				"(?i)^Fami(l)?ly house$",
+				"^Upute autorima$",
+				"^Strategic Analysis$",
+				"^Finanční analýza vybraného podniku$",
+				"^Finanční analýza$",
+				"^Riječ urednika$",
+				"(?i)^Content(s?)$",
+				"(?i)^Inhalt$",
+				"^Jinjō shōgaku shūshinsho jidōyō$",
+				"(?i)^Index$",
+				"^Chūgaku kokubun kyōkasho$",
+				"^Retrato de una mujer$",
+				"^Retrato de un hombre$",
+				"^Kōtō shōgaku dokuhon$",
+				"^Shotōka kokugo$",
+				"^Shōgaku dokuhon$",
+				"^Jinjō shōgaku kokugo dokuhon$",
+				"^Shinsei kokugo dokuhon$",
+				"^Teikoku dokuhon$",
+				"^Instructions to Authors$",
+				"^KİTAP TAHLİLİ$",
+				"^PRZEGLĄD PIŚMIENNICTWA$",
+				"(?i)^Presentación$",
+				"^İçindekiler$",
+				"(?i)^Tabl?e of contents$",
+				"^(CODICE DEL BEATO DE LOS REYES FERNANDO I Y SANCHA).*$",
+				"^(\\[MADRID\\. BIBL\\. NAC\\. N.*KING FERDINAND I.*FROM SAN ISIDORO DE LEON\\. FACUNDUS SCRIPSIT DATED.*\\]).*",
+				"^Editorial( Board)?$",
+				"(?i)^Editorial \\(English\\)$",
+				"^Editörden$",			
+				"^(Corpus Oral Dialectal \\(COD\\)\\.).*$",
+				"^(Kiri Karl Morgensternile).*$",
+				"^(\\[Eksliibris Aleksandr).*\\]$",
+				"^(\\[Eksliibris Aleksandr).*$",
+				"^(Eksliibris Aleksandr).*$",
+				"^(Kiri A\\. de Vignolles).*$",
+				"^(2 kirja Karl Morgensternile).*$",
+				"^(Pirita kloostri idaosa arheoloogilised).*$",
+				"^(Kiri tundmatule).*$",
+				"^(Kiri Jenaer Allgemeine Literaturzeitung toimetusele).*$",
+				"^(Eksliibris Nikolai Birukovile).*$",
+				"^(Eksliibris Nikolai Issakovile).*$",
+				"^(WHP Cruise Summary Information of section).*$",
+				"^(Measurement of the top quark\\-pair production cross section with ATLAS in pp collisions at).*$",
+				"^(Measurement of the spin\\-dependent structure function).*"
+			]
+		} 		
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/buildMergedToAnchorMapJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/buildMergedToAnchorMapJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/buildMergedToAnchorMapJob.xml	(revision 51225)
@@ -0,0 +1,68 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4e16c8dd-8944-4266-8b5c-62e4b26e3090_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="buildMergedToAnchorMapJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that builds a map {merged author id --> anchorId}</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.BuildMergedAnchorMapMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+				
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.BuildMergedAnchorMapReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />				
+				
+				<!-- MISC -->
+				<PROPERTY key="mapred.output.compress" value="false" />
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+							
+				<PROPERTY key="mapred.reduce.tasks" value="1" />
+				<PROPERTY key="dfs.blocksize" value="256M" />
+				<PROPERTY key="mapred.textoutputformat.separator" value="=" />
+				
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" /> 
+        	</JOB_INTERFACE>
+        	<SCAN>
+                <FILTERS operator="MUST_PASS_ALL">
+                    <FILTER type="prefix" value="30"/>
+                </FILTERS>
+                <FAMILIES>
+                    <FAMILY value="person"/>
+	                <FAMILY value="personPerson_dedup_isMergedIn" />
+	                <FAMILY value="rel:dnet:result_result_relations" />
+                </FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/transform/fields.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/transform/fields.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/transform/fields.xml	(revision 51225)
@@ -0,0 +1,29 @@
+<FIELDS>
+	<FIELD name="oaftype" path="entity/type" tokenizable="false" indexable="true" stat="false" result="false"/>
+	<FIELD name="objIdentifier" path="entity/id" tokenizable="false" indexable="true" stat="false" result="false"/>
+	<FIELD name="collectedfrom" path="entity/collectedfrom/value" tokenizable="false" indexable="true" result="false" stat="false" />
+	<FIELD name="pid" path="entity/pid[qualifier#classid = {doi}]/value" tokenizable="false" stat="false" result="false" indexable="true"/>
+	<FIELD name="deletedbyinference" path="dataInfo/deletedbyinference" tokenizable="false" stat="false" result="false" indexable="true"/>        
+	<FIELD name="inferred" path="dataInfo/inferred" tokenizable="false" stat="false" result="false" indexable="true"/>
+	
+	<!-- ORGANIZATION FIELDS -->
+	<FIELD name="organizationlegalname" path="entity/organization/metadata/legalname/value" type="ngramtext" stat="false" indexable="true" result="false"/>
+	<FIELD name="organizationlegalshortname" path="entity/organization/metadata/legalshortname/value" type="ngramtext" stat="false" indexable="true" result="false"/>
+	<FIELD name="organizationwebsiteurl" path="entity/organization/metadata/websiteurl/value" stat="false" indexable="true" result="false"/>
+	
+	<!-- PERSON FIELDS -->
+	<FIELD name="personfirstname" path="entity/person/metadata/firstname/value" stat="false" indexable="true" result="false"/>
+	<FIELD name="personsecondnames" path="entity/person/metadata/secondnames/value" stat="false" indexable="true" result="false"/>
+	<FIELD name="personfullname" path="entity/person/metadata/fullname/value" stat="false" indexable="true" result="false"/>
+
+	<!-- PUBLICATION FIELDS -->
+	<FIELD indexable="true" name="pubtitle" path="entity/publication/metadata/title/value | entity/children/publication/metadata/title/value" result="false" stat="false"/>
+	<FIELD indexable="true" name="pubdescription" path="entity/publication/metadata/description/value | entity/children/publication/metadata/description/value" result="false" stat="false"/>
+	<FIELD indexable="true" name="pubauthor" path="entity/publication/author/metadata/fullname/value | entity/children/publication/author/metadata/fullname/value" result="false" stat="false"/>
+
+	<!-- DATASET FIELDS -->
+	<FIELD indexable="true" name="datasettitle" path="entity/dataset/metadata/title/value | entity/children/dataset/metadata/title/value" result="false" stat="false"/>
+	<FIELD indexable="true" name="datasetdescription" path="entity/dataset/metadata/description/value | entity/children/dataset/metadata/description/value" result="false" stat="false"/>
+	<FIELD indexable="true" name="datasetauthor" path="entity/dataset/author/metadata/fullname/value | entity/children/dataset/author/metadata/fullname/value" result="false" stat="false"/>
+
+</FIELDS>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2GraphJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2GraphJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2GraphJob.xml	(revision 51225)
@@ -0,0 +1,65 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="5907741a-d97e-41ea-9dbe-963209aa58d9_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="dedupSimilarity2GraphJob" type="mapreduce">
+			<DESCRIPTION>map only job that scans a given entity type and creates the similarRel graph as adjacency lists</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.HBaseToSimilarityGraphMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable"/>
+
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.output.value.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.compress.map.output" value="false"/>
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="0"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+				<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs"/>
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" param="entityTypeId"/>
+				</FILTERS>
+				<FAMILIES>
+					<FAMILY value="rels" qualifier="person_person_isSimilarTo" />
+					<FAMILY value="rels" qualifier="dataset_dataset_isSimilarTo" />
+					<FAMILY value="rels" qualifier="publication_publication_isSimilarTo" />
+					<FAMILY value="rels" qualifier="organization_organization_isSimilarTo" />
+				</FAMILIES>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGrouperJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGrouperJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGrouperJob.xml	(revision 51225)
@@ -0,0 +1,60 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="6b2d8db3-346f-4ddc-8591-39fd488c1191_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupGrouperJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that closes the similarity mesh</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />		        	
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupGrouperMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+			        <FAMILY value="datasetDataset_dedupSimilarity_isSimilarTo" />
+			        <FAMILY value="publicationPublication_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOdf.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOdf.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOdf.xml	(revision 51225)
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<record xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+	xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<oai:header xmlns="http://namespace.openaire.eu/" xmlns:dc="http://purl.org/dc/elements/1.1/"
+		xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oai="http://www.openarchives.org/OAI/2.0/"
+		xmlns:prov="http://www.openarchives.org/OAI/2.0/provenance">
+		<dri:objIdentifier>r3c903d4c5a8::00a0cdbbc0c27cca1ccfafb33e7a862d
+		</dri:objIdentifier>
+		<dri:recordIdentifier />
+		<dri:dateOfCollection>2014-10-08T13:12:50.337Z</dri:dateOfCollection>
+		<dri:repositoryId>19365384-4f97-4446-9a81-8c414d2ca27a_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=
+		</dri:repositoryId>
+		<oaf:datasourceprefix>r3c903d4c5a8</oaf:datasourceprefix>
+		<identifier xmlns="http://www.openarchives.org/OAI/2.0/">oai:ucd.ie:ucdlib:31727</identifier>
+		<datestamp xmlns="http://www.openarchives.org/OAI/2.0/">2014-10-07T14:28:12Z</datestamp>
+		<setSpec xmlns="http://www.openarchives.org/OAI/2.0/">ucd_digital_library</setSpec>
+		<setSpec xmlns="http://www.openarchives.org/OAI/2.0/">openaire_data</setSpec>
+	</oai:header>
+	<metadata>
+		<resource xmlns="http://datacite.org/schema/kernel-3"
+			xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+			xmlns:oai="http://www.openarchives.org/OAI/2.0/" xmlns:prov="http://www.openarchives.org/OAI/2.0/provenance"
+			xsi:schemaLocation="http://datacite.org/schema/kernel-3 http://schema.datacite.org/meta/kernel-3/metadata.xsd">
+			<identifier identifierType="DOI">10.7925/drs1.ucdlib_31727</identifier>
+			<creators>
+				<creator>
+					<creatorName>Laefer, Debra L.</creatorName>
+					<nameIdentifier nameIdentifierScheme="ORCID">0000-0001-5134-5322</nameIdentifier>
+				</creator>
+				<creator>
+					<creatorName>University College, Dublin. Library</creatorName>
+					<nameIdentifier nameIdentifierScheme="VIAF"
+						schemeURI="http://www.viaf.org">261450561</nameIdentifier>
+				</creator>
+			</creators>
+			<titles>
+				<title>39 Grafton Street, Dublin</title>
+			</titles>
+			<publisher>UCD School of Architecture Landscape Civil Engineering</publisher>
+			<publicationYear>2013</publicationYear>
+			<subjects>
+				<subject schemeURI="http://id.loc.gov/authorities/subjects/sh99004820#concept"
+					subjectScheme="NAF">Buildings, structures, etc</subject>
+			</subjects>
+			<contributors>
+				<contributor contributorType="Other">
+					<contributorName>Clarke, Julie</contributorName>
+					<nameIdentifier nameIdentifierScheme="ORCID">0000-0001-6092-9741</nameIdentifier>
+				</contributor>
+				<contributor contributorType="Sponsor">
+					<contributorName>UCD School of Architecture, Landscape, and Civil Engineering</contributorName>
+				</contributor>
+				<contributor contributorType="HostingInstitution">
+					<contributorName>University College, Dublin. Library</contributorName>
+					<nameIdentifier nameIdentifierScheme="VIAF"
+						schemeURI="http://www.viaf.org">261450561</nameIdentifier>
+				</contributor>
+				<contributor contributorType="Funder">
+					<contributorName>Irish Research Council for Science, Engineering and Technology</contributorName>
+					<nameIdentifier nameIdentifierScheme="info">info:eu-repo/grantAgreement/IRCSET//RS-2011-435</nameIdentifier>
+				</contributor>
+			</contributors>
+			<dates>
+				<date dateType="Issued">2013</date>
+				<date dateType="Available">2014-09-29</date>
+			</dates>
+			<resourceType resourceTypeGeneral="Dataset">Dataset</resourceType>
+			<alternateIdentifiers>
+				<alternateIdentifier alternateIdentifierType="URL">http://digital.ucd.ie/view/ucdlib:31727</alternateIdentifier>
+			</alternateIdentifiers>
+			<relatedIdentifiers>
+				<relatedIdentifier relatedIdentifierType="DOI"
+					relationType="IsPartOf">10.7925/drs1.ucdlib_31100</relatedIdentifier>
+				<relatedIdentifier relatedIdentifierType="DOI"
+					relationType="IsReferencedBy">10.7925/drs1.ucdlib_31057</relatedIdentifier>
+			</relatedIdentifiers>
+			<sizes>
+				<size>1 still image</size>
+				<size>26859085 bytes</size>
+				<size>1545x2946 pixels</size>
+			</sizes>
+			<formats>
+				<format>image/vnd.adobe.photoshop</format>
+				<format>image/jpeg</format>
+			</formats>
+			<rightsList>
+				<rights rightsURI="info:eu-repo/semantics/openAccess" />
+				<rights rightsURI="http://creativecommons.org/publicdomain/zero/1.0/">Use and reproduction: CC0 1.0 Universal</rights>
+			</rightsList>
+			<descriptions>
+				<description descriptionType="Abstract">Consists of an
+					orthorectified image of the structure in Adobe PhotoShop (PSD)
+					format. The orthorectified image has been derived from one or more
+					photographic images that are included as layers in the original
+					Adobe PhotoShop (PSD) file. The composite and all other image
+					layers have been extracted and saved in TIFF image files, and JPEG
+					files in various resolutions have been derived from the flattened
+					image layer to facilitate inspection.</description>
+				<description descriptionType="Other">Brickwork structure, 4
+					levels above ground, constructed 1864.</description>
+				<description descriptionType="Other">Funded by an award from the
+					Irish Research Council for Science, Engineering and Technology
+					(IRCSET), Embark Initiative Postgraduate Scholarship, grant
+					identifier RS/2011/435.</description>
+			</descriptions>
+			<geoLocations>
+				<geoLocation>
+					<geoLocationPoint>53.3407951 -6.26054559383235</geoLocationPoint>
+				</geoLocation>
+			</geoLocations>
+		</resource>
+		<oaf:embargoenddate>2014-09-29</oaf:embargoenddate>
+		<dr:CobjCategory>0021</dr:CobjCategory>
+		<oaf:dateAccepted>2013-01-01</oaf:dateAccepted>
+		<oaf:accessrights>OPEN</oaf:accessrights>
+		<oaf:language>und</oaf:language>
+		<oaf:hostedBy id="re3data_____::r3d100010742" name="UCD Digital Library" />
+		<oaf:collectedFrom id="re3data_____::r3d100010742"
+			name="UCD Digital Library" />
+		<oaf:relatedPublication
+			id="r39633d1e8c4::f5299dc87856b62949f02d0f780b05c3" />
+	</metadata>
+	<about xmlns="http://namespace.openaire.eu/" xmlns:dc="http://purl.org/dc/elements/1.1/"
+		xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oai="http://www.openarchives.org/OAI/2.0/"
+		xmlns:prov="http://www.openarchives.org/OAI/2.0/provenance">
+		<oaf:datainfo>
+			<oaf:inferred>false</oaf:inferred>
+			<oaf:deletedbyinference>false</oaf:deletedbyinference>
+			<oaf:trust>0.9</oaf:trust>
+			<oaf:inferenceprovenance />
+			<oaf:provenanceaction classid="sysimport:crosswalk:datasetarchive"
+				classname="sysimport:crosswalk:datasetarchive" schemeid="dnet:provenanceActions"
+				schemename="dnet:provenanceActions" />
+		</oaf:datainfo>
+	</about>
+</record>
\ No newline at end of file
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/pid.json
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/pid.json	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/pid.json	(revision 51225)
@@ -0,0 +1,3 @@
+{
+  "" :
+}
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.fo.json
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.fo.json	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.fo.json	(revision 51225)
@@ -0,0 +1,112 @@
+{
+  "id": "30|dedup_wf_001::9044d2ebdd6112d84e5ff279ae3d0a26",
+  "author": {
+    "frequency": 2,
+    "id": "30|od______1457::9897283f935d7c2f4c11cebf65ae3098",
+    "fullname": "Manghi, Paolo",
+    "firstname": "Paolo",
+    "secondnames": "Manghi"
+  },
+  "merged": [
+    {
+      "id": "30|od______1457::9897283f935d7c2f4c11cebf65ae3098",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    },
+    {
+      "score": 1,
+      "id": "30|od_______307::9897283f935d7c2f4c11cebf65ae3098",
+      "fullname": "Manghi, Paolo",
+      "firstname": "Paolo",
+      "secondnames": "Manghi"
+    }
+  ],
+  "coAuthors": [
+    {
+      "anchorId": "30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b",
+      "id": "30|od_______307::e0c601b1613eec62abb99e2591168fba",
+      "fullname": "Rodrigues, Eloy",
+      "firstname": "Eloy",
+      "secondnames": "Rodrigues"
+    },
+    {
+      
+      "id": "30|od______2367::e931b1326351ef5b3bb2b89f3fc4244c",
+      "fullname": "Kobos, Mateusz",
+      "firstname": "Mateusz",
+      "secondnames": "Kobos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d",
+      "id": "30|od_______307::ef2914f870d83e32764f2e0db122d0c4",
+      "fullname": "Houssos, Nikos",
+      "firstname": "Nikos",
+      "secondnames": "Houssos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::958d36ee987d35f7d0a4f74a7ad10680",
+      "id": "30|od______1457::980daed35d7008f6f4de325f235fde65",
+      "fullname": "Príncipe, Pedro",
+      "firstname": "Pedro",
+      "secondnames": "Príncipe"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::4fe9f7dd4a96f983dcc8f17436238ba6",
+      "id": "30|od_______307::ae2f5173f1f1745e8521107ffd9e37ae",
+      "fullname": "Dvořák, Jan",
+      "firstname": "Jan",
+      "secondnames": "Dvořák"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d09e46b26192d335be7aef7ddcbc9c0c",
+      "id": "30|od_______307::56bbbdcfbdda05ec257fabc0c7a596cc",
+      "fullname": "Elbæk, Mikael Karstensen",
+      "firstname": "Mikael Karstensen",
+      "secondnames": "Elbæk"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::d09e46b26192d335be7aef7ddcbc9c0c",
+      "id": "30|od______1457::56bbbdcfbdda05ec257fabc0c7a596cc",
+      "fullname": "Elbæk, Mikael Karstensen",
+      "firstname": "Mikael Karstensen",
+      "secondnames": "Elbæk"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::29611ace913f53e57c9201010b24434b",
+      "id": "30|od______1457::99d2bbd6eb21de2603f2d355875fe7b2",
+      "fullname": "Jörg, Brigitte",
+      "firstname": "Brigitte",
+      "secondnames": "Jörg"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d",
+      "id": "30|od______1457::ef2914f870d83e32764f2e0db122d0c4",
+      "fullname": "Houssos, Nikos",
+      "firstname": "Nikos",
+      "secondnames": "Houssos"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::29611ace913f53e57c9201010b24434b",
+      "id": "30|od_______307::99d2bbd6eb21de2603f2d355875fe7b2",
+      "fullname": "Jörg, Brigitte",
+      "firstname": "Brigitte",
+      "secondnames": "Jörg"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b",
+      "id": "30|od______1457::e0c601b1613eec62abb99e2591168fba",
+      "fullname": "Rodrigues, Eloy",
+      "firstname": "Eloy",
+      "secondnames": "Rodrigues"
+    },
+    {
+      "anchorId": "30|dedup_wf_001::4fe9f7dd4a96f983dcc8f17436238ba6",
+      "id": "30|od______1457::ae2f5173f1f1745e8521107ffd9e37ae",
+      "fullname": "Dvořák, Jan",
+      "firstname": "Jan",
+      "secondnames": "Dvořák"
+    }
+  ],
+  "anchor": true
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/DNGFEntityMerger.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/DNGFEntityMerger.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/DNGFEntityMerger.java	(revision 51225)
@@ -0,0 +1,308 @@
+package eu.dnetlib.data.transform;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.Message.Builder;
+import eu.dnetlib.data.graph.model.DNGFUtils;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DatasetProtos.Dataset;
+import eu.dnetlib.data.proto.FieldTypeProtos.KeyValue;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.FieldTypeProtos.StringField;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.PersonProtos.Person.CoAuthor;
+import eu.dnetlib.data.proto.PersonProtos.Person.MergedPerson;
+import eu.dnetlib.data.proto.PersonProtos.Person.Metadata;
+import eu.dnetlib.data.proto.PublicationProtos.Publication;
+import eu.dnetlib.data.proto.SpecialTrustProtos.SpecialTrust;
+import eu.dnetlib.pace.config.DedupConfig;
+import org.apache.commons.lang3.StringUtils;
+
+public class DNGFEntityMerger {
+
+	private static final String DEDUP_CLASSID = "sysimport:dedup";
+
+	private static final String DNET_PROVENANCE_SCHEME = "dnet:provenanceActions";
+
+	private final Predicate<StringField> skipEmptyStringField = s -> (s != null) && (s.getValue() != null) && !s.getValue().isEmpty();
+
+	private final Predicate<String> skipEmptyString = s -> StringUtils.isNotBlank(s);
+
+	public static DNGF.Builder merge(final String id, final Iterable<DNGF> entities) {
+		return merge(null, id, entities);
+	}
+
+	public static DNGF.Builder merge(final DedupConfig dedupConf, final String id, final Iterable<DNGF> entities) {
+		return new DNGFEntityMerger().mergeEntities(dedupConf, id, entities);
+	}
+
+	public static DNGF.Builder merge(final DNGF.Builder builder) {
+		return new DNGFEntityMerger().doMergeEntities(builder);
+	}
+
+	public DNGF.Builder mergeEntities(final DedupConfig dedupConf, final String id, final Iterable<DNGF> entities) {
+
+		DNGF.Builder builder = DNGF.newBuilder();
+		String trust = "0.0";
+
+        //TODO This set has been changed for DLI, but is wrong
+        //for openaire before was: for (final DNGF dngf : TrustOrdering.sort(entities))
+        for (final DNGF dngf : entities) {
+            // doublecheck we're dealing only with main entities
+			if (!dngf.getKind().equals(Kind.entity)) throw new IllegalArgumentException("expected DNGFEntity!");
+
+			final String currentTrust = dngf.getDataInfo().getTrust();
+
+			if (!currentTrust.equals(SpecialTrust.NEUTRAL.toString())) {
+				trust = currentTrust;
+			}
+			builder.mergeFrom(dngf);
+			if (StringUtils.isBlank(currentTrust))
+				builder.getDataInfoBuilder().setTrust("0.8");
+		}
+
+		builder = doMergeEntities(builder);
+		builder.getEntityBuilder().setId(id);
+		builder.getDataInfoBuilder()
+				.setInferred(true)
+				.setDeletedbyinference(false)
+				.setTrust(trust)
+				.setInferenceprovenance(dedupConf != null ? dedupConf.getWf().getConfigurationId() : "")
+				.setProvenanceaction(getProvenanceAction());
+
+		if ((dedupConf != null) && dedupConf.getWf().isIncludeChildren()) {
+			for (final DNGF dngf : Iterables.limit(entities, dedupConf.getWf().getMaxChildren())) {
+				builder.getEntityBuilder().addChildren(dngf.getEntity());
+			}
+		}
+
+		return builder;
+	}
+
+	private Qualifier.Builder getProvenanceAction() {
+		return Qualifier.newBuilder().setClassid(DEDUP_CLASSID).setClassname(DEDUP_CLASSID).setSchemeid(DNET_PROVENANCE_SCHEME)
+				.setSchemename(DNET_PROVENANCE_SCHEME);
+	}
+
+	public DNGF.Builder doMergeEntities(final DNGF.Builder builder) {
+
+		for (final String field : DNGFUtils.getFieldNames(DNGFEntity.getDescriptor(), DNGFEntity.COLLECTEDFROM_FIELD_NUMBER)) {
+			setKeyValues(builder.getEntityBuilder(), field);
+		}
+		for (final String field : DNGFUtils.getFieldNames(DNGFEntity.getDescriptor(), DNGFEntity.PID_FIELD_NUMBER)) {
+			setStructuredProperty(builder.getEntityBuilder(), field);
+		}
+		for (final String field : DNGFUtils.getFieldNames(DNGFEntity.getDescriptor(), DNGFEntity.ORIGINALID_FIELD_NUMBER)) {
+			setUniqueString(builder.getEntityBuilder(), field);
+		}
+
+		switch (builder.getEntity().getType()) {
+		case datasource:
+			break;
+		case organization:
+			break;
+		case person:
+			final Person.Builder person = builder.getEntityBuilder().getPersonBuilder().setAnchor(true);
+
+			for (final String field : DNGFUtils.getFieldNames(Person.Metadata.getDescriptor(), Metadata.SECONDNAMES_FIELD_NUMBER)) {
+				setSingleString(person.getMetadataBuilder(), field);
+			}
+
+			final Map<String, MergedPerson> mergedMap = Maps.newHashMap();
+			for(MergedPerson merged : person.getMergedpersonList()) {
+				mergedMap.put(merged.getId(), merged);
+			}
+			person.clearMergedperson().addAllMergedperson(mergedMap.values());
+
+			final Map<String, CoAuthor> coAuthorMap = Maps.newHashMap();
+			for(CoAuthor coAuthor : person.getCoauthorList()) {
+				coAuthorMap.put(coAuthor.getId(), coAuthor);
+			}
+			person.clearCoauthor().addAllCoauthor(coAuthorMap.values());
+
+			break;
+		case project:
+			break;
+		case publication:
+			final Publication.Metadata.Builder pub = builder.getEntityBuilder().getPublicationBuilder().getMetadataBuilder();
+			setTitle(pub);
+
+			// for (String field : Lists.newArrayList("subject", "relevantdate")) {
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.SUBJECT_FIELD_NUMBER,
+					Publication.Metadata.RELEVANTDATE_FIELD_NUMBER)) {
+				setStructuredProperty(pub, field);
+			}
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.DESCRIPTION_FIELD_NUMBER)) {
+				setLongestStringField(pub, field);
+			}
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.SOURCE_FIELD_NUMBER)) {
+				setUniqueStringField(pub, field);
+			}
+
+			// remove the inner authors, rely on the children
+			builder.getEntityBuilder().getPublicationBuilder().clearAuthor();
+			break;
+		case dataset:
+			final Dataset.Metadata.Builder dataset = builder.getEntityBuilder().getDatasetBuilder().getMetadataBuilder();
+			setTitle(dataset);
+
+			// for (String field : Lists.newArrayList("subject", "relevantdate")) {
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.SUBJECT_FIELD_NUMBER,
+					Publication.Metadata.RELEVANTDATE_FIELD_NUMBER)) {
+				setStructuredProperty(dataset, field);
+			}
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.DESCRIPTION_FIELD_NUMBER)) {
+				setLongestStringField(dataset, field);
+			}
+			for (final String field : DNGFUtils.getFieldNames(Publication.Metadata.getDescriptor(), Publication.Metadata.SOURCE_FIELD_NUMBER)) {
+				setUniqueStringField(dataset, field);
+			}
+
+			// remove the inner authors, rely on the children
+			builder.getEntityBuilder().getDatasetBuilder().clearAuthor();
+			break;
+		default:
+			break;
+		}
+		return builder;
+	}
+
+	/**
+	 * Helper method, avoid duplicated StructuredProperties in the given builder for the given fieldName
+	 *
+	 * @param builder
+	 * @param fieldName
+	 */
+	@SuppressWarnings("unchecked")
+	private void setStructuredProperty(final Builder builder, final String fieldName) {
+		final Map<String, StructuredProperty> map = Maps.newHashMap();
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<StructuredProperty> sps = (List<StructuredProperty>) builder.getField(fd);
+
+		if ((sps != null) && !sps.isEmpty()) {
+			for (final StructuredProperty sp : sps) {
+				map.put(sp.getValue(), sp);
+			}
+
+			if (!map.isEmpty()) {
+				builder.clearField(fd).setField(fd, Lists.newArrayList(map.values()));
+			}
+		}
+	}
+
+	/**
+	 * Helper method, avoid duplicated KeyValues in the given builder for the given fieldName
+	 *
+	 * @param builder
+	 * @param fieldName
+	 */
+	@SuppressWarnings("unchecked")
+	private void setKeyValues(final Builder builder, final String fieldName) {
+		final Map<String, KeyValue> map = Maps.newHashMap();
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<KeyValue> kvs = (List<KeyValue>) builder.getField(fd);
+
+		if ((kvs != null) && !kvs.isEmpty()) {
+			for (final KeyValue sp : kvs) {
+				map.put(sp.getKey(), sp);
+			}
+
+			if (!map.isEmpty()) {
+				builder.clearField(fd).setField(fd, Lists.newArrayList(map.values()));
+			}
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private void setSingleString(final Builder builder, final String fieldName) {
+
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<StringField> field = (List<StringField>) builder.getField(fd);
+		if ((field != null) && !field.isEmpty()) {
+			final StringField s = (StringField) Iterables.getLast(Iterables.filter(field, skipEmptyStringField), "");
+
+			if ((s != null) && (s.getValue() != null) && !s.getValue().isEmpty()) {
+				builder.clearField(fd).setField(fd, Lists.newArrayList(s));
+			}
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private void setLongestStringField(final Builder builder, final String fieldName) {
+
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<StringField> field = (List<StringField>) builder.getField(fd);
+
+		if ((field != null) && !field.isEmpty()) {
+			final StringField.Builder max = StringField.newBuilder().setValue("");
+			int maxLength = 0;
+			for (final StringField sf : field) {
+				if (sf.getValue().length() > maxLength) {
+					maxLength = sf.getValue().length();
+					max.clear();
+					max.mergeFrom(sf);
+				}
+			}
+
+			builder.clearField(fd).setField(fd, Lists.newArrayList(max.build()));
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private void setUniqueStringField(final Builder builder, final String fieldName) {
+
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<StringField> field = (List<StringField>) builder.getField(fd);
+		final Map<String, StringField> map = Maps.newHashMap();
+		if ((field != null) && !field.isEmpty()) {
+			for (final StringField s : Iterables.filter(field, skipEmptyStringField)) {
+				map.put(s.getValue(), s);
+			}
+
+			builder.clearField(fd).setField(fd, Lists.newArrayList(map.values()));
+		}
+	}
+
+	@SuppressWarnings("unchecked")
+	private void setUniqueString(final Builder builder, final String fieldName) {
+
+		final FieldDescriptor fd = builder.getDescriptorForType().findFieldByName(fieldName);
+		final List<String> field = (List<String>) builder.getField(fd);
+		final Set<String> set = Sets.newHashSet();
+		if ((field != null) && !field.isEmpty()) {
+			for (final String s : Iterables.filter(field, skipEmptyString)) {
+				set.add(s);
+			}
+
+			builder.clearField(fd).setField(fd, Lists.newArrayList(set));
+		}
+	}
+
+	private void setTitle(final Publication.Metadata.Builder metadata) {
+		final Iterable<StructuredProperty> filtered = Iterables.filter(metadata.getTitleList(), DNGFUtils.mainTitleFilter());
+
+		if (!Iterables.isEmpty(filtered)) {
+			metadata.clearTitle().addTitle(Iterables.getLast(filtered));
+		}
+	}
+
+	private void setTitle(final Dataset.Metadata.Builder metadata) {
+		final Iterable<StructuredProperty> filtered = Iterables.filter(metadata.getTitleList(), DNGFUtils.mainTitleFilter());
+
+		if (!Iterables.isEmpty(filtered)) {
+			metadata.clearTitle().addTitle(Iterables.getLast(filtered));
+		}
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/OntologyTerm.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/OntologyTerm.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/OntologyTerm.java	(revision 51225)
@@ -0,0 +1,71 @@
+package eu.dnetlib.data.transform;
+
+import com.google.gson.Gson;
+
+/**
+ * Created by claudio on 12/12/2016.
+ */
+public class OntologyTerm {
+
+	private String code;
+	private String encoding;
+	private String englishName;
+	private String nativeName;
+
+	private String inverseCode;
+
+	public static OntologyTerm newInstance() {
+		return new OntologyTerm();
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public String getEncoding() {
+		return encoding;
+	}
+
+	public String getEnglishName() {
+		return englishName;
+	}
+
+	public String getNativeName() {
+		return nativeName;
+	}
+
+	public String getInverseCode() {
+		return inverseCode;
+	}
+
+	public OntologyTerm setCode(final String code) {
+		this.code = code;
+		return this;
+	}
+
+	public OntologyTerm setEncoding(final String encoding) {
+		this.encoding = encoding;
+		return this;
+	}
+
+	public OntologyTerm setEnglishName(final String englishName) {
+		this.englishName = englishName;
+		return this;
+	}
+
+	public OntologyTerm setNativeName(final String nativeName) {
+		this.nativeName = nativeName;
+		return this;
+	}
+
+	public OntologyTerm setInverseCode(final String inverseCode) {
+		this.inverseCode = inverseCode;
+		return this;
+	}
+
+	@Override
+	public String toString() {
+		return new Gson().toJson(this);
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteSimRelsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteSimRelsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteSimRelsJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="6363b833-ac88-421c-8596-440a3dc735db_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="deleteSimRelJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that deletes the similarity rels used to in the deduplication process (person)</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupDeleteSimRelMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.Writable" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />		
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+			        <FAMILY value="datasetDataset_dedupSimilarity_isSimilarTo" />
+			        <FAMILY value="publicationPublication_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGTCleanerJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGTCleanerJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupGTCleanerJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="888ef72f-701a-4d59-8b8a-2ad01986f975_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="gtCleanerJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that deletes the non-GT rows</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.GTCleanerMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Delete" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />		
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+			        <FAMILY value="datasetDataset_dedupSimilarity_isSimilarTo" />
+			        <FAMILY value="publicationPublication_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/offlineHbaseLoadJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/offlineHbaseLoadJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/offlineHbaseLoadJob.xml	(revision 51225)
@@ -0,0 +1,58 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="073e55eb-c6f4-49a9-80b3-1a927612ba5b_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="offlineHbaseLoad" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that loads a given entity type in the offline dedup table</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.OfflineHbaseLoadMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep1Job.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep1Job.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep1Job.xml	(revision 51225)
@@ -0,0 +1,63 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="f61bc720-2821-4871-937d-64b79f098714_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-06-15T10:50:29+02:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="calculatePersonDistributionStep1Job" type="mapreduce">
+            <DESCRIPTION>map reduce job that perform tests for notificationBroker service (step 1/2)</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat"/>
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.broker.CalculatePersonDistributionStep1Mapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.broker.CalculatePersonDistributionStep1Reducer"/>
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- MISC -->
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapreduce.map.speculative" value="false"/>
+                <PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+                <PROPERTY key="mapred.reduce.tasks" value="100"/>
+
+                <!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+                <!--  	Uncomment to override the default lib path -->
+                <!-- <PROPERTY key="job.lib" value="/user/michele.artini/lib/dnet-mapreduce-jobs-assembly-0.0.6.6-SNAPSHOT.jar"/> -->
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM description="source hbase table" name="hbase.mapred.inputtable" required="true"/>
+                <PARAM description="source hbase table" name="hbase.mapreduce.inputtable" required="true"/>
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS operator="MUST_PASS_ONE">
+                    <FILTER type="prefix" value="50"/>
+                    <FILTER type="prefix" value="10"/>
+                </FILTERS>
+                <FAMILIES>
+                    <FAMILY value="result"/>
+                    <FAMILY value="datasource"/>
+                </FAMILIES>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2015-06-15T11:10:17+02:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="7"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisMainJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisMainJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisMainJob.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="f6e4cbcd-b173-4f8d-9205-e64ba15f03ad_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="iisMainJob" type="oozie">
+			<DESCRIPTION>IIS main workflow</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- Cluster wide -->
+				<PROPERTY key="queueName" value="default"/>
+				<PROPERTY key="user.name" value="dnet.beta"/>
+
+				<!-- Runtime -->
+				<PROPERTY key="match_content_with_metadata" value="true"/>
+				<PROPERTY key="import_hbase_approved_datasources_csv" value="$UNDEFINED$"/>
+				<PROPERTY key="import_hbase_input_table" value="information_space-2014-11-05"/>
+				<!--<PROPERTY key="metadataextraction_default_cache_location" value="/cache/metadataextraction"/> -->
+				<PROPERTY key="metadataextraction_default_cache_location" value="/cache/metadataextraction_updated_model"/>
+
+				<PROPERTY key="export_action_hbase_table_initialize" value="true"/>
+				<PROPERTY key="oozie.wf.validate.ForkJoin" value="false"/>
+				<PROPERTY key="workingDir" value="/tmp/integration/working_dir/main"/>
+				<PROPERTY key="metadataextraction_excluded_checksums"
+				          value="1e5b574109da731f4918c7f91fc24864,bea4728578070c3d66774bf9454d41fe,da458477233b5561ae47042aa2a73086"/>
+				<PROPERTY key="export_documentssimilarity_threshold" value="0.7"/>
+				<PROPERTY key="export_trust_level_threshold_document_classes" value="0.5"/>
+				<PROPERTY key="export_trust_level_threshold_document_referencedDatasets" value="0.0"/>
+				<PROPERTY key="export_trust_level_threshold_document_referencedProjects" value="0.0"/>
+				<PROPERTY key="export_trust_level_threshold_document_pdb" value="0.0"/>
+				<PROPERTY key="output_remote_location" value="hdfs://namenode.hadoop.dm.openaire.eu/var/lib/dnet/actionManager_BETA"/>
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="import_content_object_store_location" required="true" description="objectStore service endpoint"/>
+				<PARAM name="import_content_objectstores_csv" required="true" description="csv list of the available object stores subject to processing"/>
+				<PARAM name="import_mdstore_service_location" required="true" description="mdstore service location"/>
+				<PARAM name="import_dataset_mdstore_ids_csv" required="true" description="mdstore ids for dataset records"/>
+				<PARAM name="export_action_hbase_table_name" required="true" description="destination action manager table"/>
+				<PARAM name="export_action_hbase_remote_zookeeper_quorum" required="true" description="ZK quorum"/>
+				<PARAM name="export_action_hbase_remote_zookeeper_clientport" required="true" description="ZK port"/>
+				<PARAM name="nameNode" required="true" description="hdfs name node"/>
+				<PARAM name="jobTracker" required="true" description="job tracker name"/>
+				<PARAM name="oozie.wf.application.path" required="true" description="oozie job application absolute path"/>
+				<PARAM description="target action set for referenced projects" name="export_action_set_id_document_referencedProjects" required="true"/>
+				<PARAM description="target action set for referenced datasets" name="export_action_set_id_document_referencedDatasets" required="true"/>
+				<PARAM description="target action set for research initiative outcome" name="export_action_set_id_document_research_initiative"
+				       required="true"/>
+				<PARAM description="target action set for document similarities" name="export_action_set_id_document_similarities_standard" required="true"/>
+				<PARAM description="target action set for document statistics" name="export_action_set_id_document_statistics" required="true"/>
+				<PARAM description="target action set for document classification" name="export_action_set_id_document_classes" required="true"/>
+				<PARAM description="target action set for document citations" name="export_action_set_id_document_referencedDocuments" required="true"/>
+				<PARAM description="target action set for dataset entities" name="export_action_set_id_entity_dataset" required="true"/>
+				<PARAM description="target action set for pdb entities" name="export_action_set_id_document_pdb" required="true"/>
+
+				<!-- flags to enable/disable IIS modules -->
+				<PARAM name="active_metadataextraction_export" required="true" description="enable/disable the affiliation matching module"/>
+				<PARAM name="active_citationmatching" required="true" description="enable/disable the citation matching module"/>
+				<PARAM name="active_documentsclassification" required="true" description="enable/disable the document classification module"/>
+				<PARAM name="active_documentssimilarity" required="true" description="enable/disable the document similarity module"/>
+				<PARAM name="active_referenceextraction_dataset" required="true" description="enable/disable the dataset reference extraction module"/>
+				<PARAM name="active_referenceextraction_project" required="true" description="enable/disable the project reference extracion module"/>
+				<PARAM name="active_referenceextraction_researchinitiative" required="true"
+				       description="enable/disable the research initiative extraction module"/>
+				<PARAM name="active_statistics" required="true" description="enable/disable the statistics module"/>
+				<PARAM name="active_referenceextraction_pdb" required="true" description="enable/disable the protein data bank extraction module"/>
+
+			</JOB_INTERFACE>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/CommonDNetXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/CommonDNetXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/CommonDNetXsltFunctions.java	(revision 51225)
@@ -0,0 +1,283 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import eu.dnetlib.data.graph.model.DNGFRowKeyDecoder;
+import eu.dnetlib.data.graph.utils.RelDescriptor;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.DatasetProtos;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.PersonProtos.Person.CoAuthor;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.lang3.StringUtils;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * Created by claudio on 01/12/15.
+ */
+public class CommonDNetXsltFunctions extends AbstractDNetXsltFunctions {
+
+	private static final int MAX_COAUTHORS = 50;
+
+	public static String authorship(
+			final String source,
+			final String target,
+			final int rank,
+			final String relTypeId,
+			final String relTypeScheme,
+			final String provenanceAction,
+			final String trust,
+			final NodeList about) {
+
+		final Map<String, String> params = Maps.newHashMap();
+		params.put("rank", "" + rank);
+        return rel(source, target, relTypeId, relTypeScheme, provenanceAction, trust, about, params);
+    }
+
+	public static String rel(
+            final String source,
+            final String target,
+            final String relTypeId,
+            final String relTypeScheme,
+            final String provenanceAction,
+            final String trust) {
+		return rel(source, target, relTypeId, relTypeScheme, provenanceAction, trust, null, null);
+	}
+
+	public static String rel(
+			final String source,
+			final String target,
+			final String relTypeId,
+			final String relTypeScheme,
+			final String provenanceAction,
+			final String trust,
+			final NodeList about) {
+		return rel(source, target, relTypeId, relTypeScheme, provenanceAction, trust, about, null);
+	}
+
+	// dnet:oafRel($resultId, $datasetId, 'resultResult', 'part' 'isPartOf', $about)
+	public static String rel(
+            final String source,
+            final String target,
+            final String relTypeId,
+            final String relTypeScheme,
+            final String provenanceAction,
+            final String trust,
+            final NodeList about,
+            final Map<String, String> params) {
+        try {
+
+            final DNGFRel.Builder rel = relProto(source, target, relTypeId, relTypeScheme);
+            final DNGF oaf = getOaf(rel, getDataInfo(about, provenanceAction, trust, false, false));
+
+            //TODO DO SOMEtHING WITH PARAM
+
+            return base64(oaf.toByteArray());
+        } catch (Throwable e) {
+            e.printStackTrace(System.err);
+            throw new RuntimeException(e);
+        }
+    }
+
+
+    protected static DNGFRel.Builder relProto(
+            final String source,
+            final String target,
+            final String relTypeId,
+            final String relTypeScheme
+    ) {
+        try {
+            final DNGFRowKeyDecoder sd = DNGFRowKeyDecoder.decode(source);
+            final DNGFRowKeyDecoder td = DNGFRowKeyDecoder.decode(target);
+
+            final Qualifier.Builder relType = getSimpleQualifier(relTypeId, relTypeScheme);
+            final DNGFRel.Builder rel = getRel(sd.getKey(), sd.getType(), td.getKey(), td.getType(), relType.build(), false);
+
+            return rel;
+
+        } catch (Throwable e) {
+            e.printStackTrace(System.err);
+            throw new RuntimeException(e);
+        }
+    }
+
+	public static String person(
+			final String personId,
+			final NodeList about,
+			final String provenanceAction,
+			final String trust,
+			final String collectedFromId,
+			final String collectedFromName,
+			final String originalId,
+			final String dateOfCollection,
+			final String dateOfTransformation,
+			final String fullname,
+			final String nameIdentifier,
+			final String nameIdentifierScheme) {
+		return person(personId, fullname, nameIdentifier, nameIdentifierScheme, null, null, null, provenanceAction, trust, about, collectedFromId,
+				collectedFromName, originalId, dateOfCollection, dateOfTransformation);
+	}
+
+	// $personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname, $originalPersonId, $dateofcollection, normalize-space(.))
+	public static String person(
+			final String personId,
+			final String fullname,
+			final String nameIdentifier,
+			final String nameIdentifierScheme,
+			final NodeList authors,
+			final String namespaceprefix,
+			final String objIdentifier,
+			final String provenanceAction,
+			final String trust,
+			final NodeList about,
+			final String collectedFromId,
+			final String collectedFromName,
+			final String originalId,
+			final String dateOfCollection,
+			final String dateOfTransformation) {
+		try {
+			final String entityId = DNGFRowKeyDecoder.decode(personId).getKey();
+
+			final Person.Builder person = Person.newBuilder();
+			final Person.Metadata.Builder metadata = getMetadata(fullname);
+
+			if (authors != null) {
+				for (int i = 0; (i < authors.getLength()) && (i < MAX_COAUTHORS); i++) {
+					final Node node = authors.item(i);
+
+					final String name = StringUtils.trim(node.getTextContent());
+					if (!name.equals(fullname)) {
+
+						final CoAuthor.Builder coAuthor = CoAuthor.newBuilder();
+
+						coAuthor.setId(oafId("person", namespaceprefix, objIdentifier + "::" + name));
+						coAuthor.setMetadata(getMetadata(name));
+
+						person.addCoauthor(coAuthor);
+					}
+				}
+			}
+
+			final List<StructuredProperty> pids = Lists.newArrayList();
+			if (StringUtils.isNotBlank(nameIdentifier) && StringUtils.isNotBlank(nameIdentifierScheme)) {
+				pids.add(getStructuredProperty(nameIdentifier, nameIdentifierScheme, nameIdentifierScheme, "dnet:pid_types", "dnet:pid_types"));
+			}
+
+			final DNGFEntity.Builder entity =
+					getEntity(Type.person, entityId, getKV(collectedFromId, collectedFromName), Lists.newArrayList(originalId), dateOfCollection,
+							dateOfTransformation, pids)
+							.setPerson(person.setMetadata(metadata));
+
+			final DNGF oaf = getOaf(entity, getDataInfo(about, provenanceAction, trust, false, false));
+			return base64(oaf.toByteArray());
+		} catch (final Throwable e) {
+			System.err.println("personId: " + personId);
+			System.err.println("fullname: " + fullname);
+			System.err.println("provenanceAction: " + provenanceAction);
+			System.err.println("trust: " + trust);
+			System.err.println("collectedFromId: " + collectedFromId);
+			System.err.println("collectedFromName: " + collectedFromName);
+			System.err.println("originalId: " + originalId);
+			System.err.println("dateOfCollection: " + dateOfCollection);
+			e.printStackTrace();
+			throw new RuntimeException(e);
+		}
+	}
+
+	private static Person.Metadata.Builder getMetadata(final String fullname) {
+		final Person.Metadata.Builder metadata = Person.Metadata.newBuilder();
+
+		metadata.setFullname(sf(fullname));
+
+		final eu.dnetlib.pace.model.Person p = new eu.dnetlib.pace.model.Person(fullname, false);
+		if (p.isAccurate()) {
+			metadata.setFirstname(sf(p.getNormalisedFirstName()));
+			metadata.clearSecondnames().addSecondnames(sf(p.getNormalisedSurname()));
+			// metadata.setFullname(sf(p.getNormalisedFullname()));
+		}
+		return metadata;
+	}
+
+    protected static void manageTitle(NodeList titles, DatasetProtos.Dataset.Metadata.Builder metadataProto) {
+        for (int i = 0; i < titles.getLength(); i++) {
+            Node currentNode = titles.item(i);
+            NodeList childNodes = currentNode.getChildNodes();
+            if (childNodes.getLength() > 0) {
+                String titleValue = childNodes.item(0).getNodeValue();
+                String classname = "main title";
+                String classid = "main title";
+                if (currentNode.hasAttributes()) {
+                    NamedNodeMap attributes = currentNode.getAttributes();
+                    Node titleType = attributes.getNamedItem("titleType");
+
+                    if (titleType != null && titleType.getNodeValue().equals("AlternativeTitle")) {
+                        classname = "alternative title";
+                        classid = "alternative title";
+                    }
+                    if (titleType != null && titleType.getNodeValue().equals("Subtitle")) {
+                        classname = "subtitle";
+                        classid = "subtitle";
+                    }
+                    if (titleType != null && titleType.getNodeValue().equals("TranslatedTitle")) {
+                        classname = "translated title";
+                        classid = "translated title";
+                    }
+                }
+                addField(metadataProto, DatasetProtos.Dataset.Metadata.getDescriptor().findFieldByName("title"),
+                        getStructuredProperty(titleValue, classname, classid, "dnet:dataCite_title", "dnet:dataCite_title"));
+            }
+        }
+    }
+
+
+    public static String relQualifier(final String ontology, final String termCode, final String targetId) {
+        return new RelDescriptor(ontology, termCode, targetId).qualifier();
+    }
+
+    protected static void manageDate(NodeList dates, DatasetProtos.Dataset.Metadata.Builder metadataProto) {
+        for (int i = 0; i < dates.getLength(); i++) {
+            Node currentNode = dates.item(i);
+            if (currentNode != null && currentNode.hasAttributes() && currentNode.hasChildNodes()) {
+                String dateAttribute = currentNode.getAttributes().getNamedItem("dateType").getNodeValue();
+                String dateValue = currentNode.getChildNodes().item(0).getNodeValue();
+                String protoAttribute = "relevantdate";
+                if ("Accepted".equals(dateAttribute)) {
+                    protoAttribute = "dateofacceptance";
+                } else if ("Issued".equals(dateAttribute)) {
+                    protoAttribute = "storagedate";
+                } else if ("Updated".equals(dateAttribute)) {
+                    protoAttribute = "lastmetadataupdate";
+                } else if ("Available".equals(dateAttribute)) {
+                    protoAttribute = "embargoenddate";
+                }
+                if (protoAttribute.equals("relevantdate") == false) {
+                    addField(metadataProto, DatasetProtos.Dataset.Metadata.getDescriptor().findFieldByName(protoAttribute), dateValue);
+                } else {
+                    addField(metadataProto, DatasetProtos.Dataset.Metadata.getDescriptor().findFieldByName(protoAttribute),
+                            getStructuredProperty(dateValue, "UNKNOWN", "UNKNOWN", "dnet:dataCite_date", "dnet:dataCite_date"));
+                }
+            }
+        }
+    }
+
+    public static String getFirstItem(final NodeList list) {
+        String out = "";
+        if (list != null) {
+
+            if (list.getLength() > 0 && list.item(0).getChildNodes() != null && list.item(0).getChildNodes().getLength() > 0) {
+                out = list.item(0).getChildNodes().item(0).getNodeValue();
+            }
+        }
+        return out;
+    }
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/ElementList.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/ElementList.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/ElementList.java	(revision 51225)
@@ -0,0 +1,19 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.google.common.base.Function;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
+@SuppressWarnings("serial")
+public class ElementList extends ArrayList<Element> {
+	public List<String> listValues() {
+		return Lists.newArrayList(Iterables.transform(this, new Function<Element, String>() {
+			@Override
+			public String apply(Element e) {
+				return e.getText();
+			}}));
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.prod.pace.conf
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.prod.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/pace/result.prod.pace.conf	(revision 51225)
@@ -0,0 +1,266 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "dedupRun" : "001", 
+        "entityType" : "result", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "result", "personResult_authorship_hasAuthor", "resultProject_outcome_isProducedBy", "resultResult_publicationDataset_isRelatedTo", "resultResult_similarity_isAmongTopNSimilarDocuments", "resultResult_similarity_hasAmongTopNSimilarDocuments" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {		
+		"clustering" : [
+			{ "name" : "ngrampairs", "fields" : [ "title" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+			{ "name" : "suffixprefix", "fields" : [ "title" ], "params" : { "max" : "1", "len" : "3" } } 
+		],
+		"strictConditions" : [
+			{ "name" : "exactMatch", "fields" : [ "pid" ] }
+		], 
+  		"conditions" : [ 
+  			{ "name" : "titleVersionMatch", "fields" : [ "title" ] },
+  			{ "name" : "sizeMatch", "fields" : [ "authors" ] }
+  		],		
+		"model" : [
+			{ "name" : "pid", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "pid[qualifier#classid = {doi}]/value", "overrideMatch" : "true" }, 	
+			{ "name" : "title", "algo" : "LevensteinTitle", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "publication/metadata/title[qualifier#classid = {main title}]/value" },
+			{ "name" : "authors", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "publication/author/metadata/fullname/value" }
+		],
+		"blacklists" : { 
+			"title" : [
+				"^THE ASSOCIATION AND THE GENERAL MEDICAL COUNCIL$",
+				"^Problems with perinatal pathology\.?$",
+				"(?i)^Cases? of Puerperal Convulsions$",
+				"(?i)^Operative Gyna?ecology$",
+				"(?i)^Mind the gap\!?\:?$",
+				"^Chronic fatigue syndrome\.?$",
+				"^Cartas? ao editor Letters? to the Editor$",
+				"^Note from the Editor$",
+				"^Anesthesia Abstract$",
+				
+				"^Annual report$",
+				"(?i)^“?THE RADICAL PREVENTION OF VENEREAL DISEASE\.?”?$",
+				"(?i)^Graph and Table of Infectious Diseases?$",
+				"^Presentation$",
+				"(?i)^Reviews and Information on Publications$",
+				"(?i)^PUBLIC HEALTH SERVICES?$",
+				"(?i)^COMBINED TEXT-?BOOK OF OBSTETRICS AND GYN(Æ|ae)COLOGY$",
+				"(?i)^Adrese autora$",
+				"(?i)^Systematic Part .*\. Catalogus Fossilium Austriae, Band 2: Echinoidea neogenica$",
+				"(?i)^Acknowledgement to Referees$",
+				"(?i)^Behçet's disease\.?$",
+				"(?i)^Isolation and identification of restriction endonuclease.*$",
+				"(?i)^CEREBROVASCULAR DISEASES?.?$",
+				"(?i)^Screening for abdominal aortic aneurysms?\.?$",
+				"^Event management$",
+				"(?i)^Breakfast and Crohn's disease.*\.?$",
+				"^Cálculo de concentraciones en disoluciones acuosas. Ejercicio interactivo\..*\.$",
+				"(?i)^Genetic and functional analyses of SHANK2 mutations suggest a multiple hit model of Autism spectrum disorders?\.?$",
+				"^Gushi hakubutsugaku$",
+			
+				"^Starobosanski nadpisi u Bosni i Hercegovini \(.*\)$",							
+				"^Intestinal spirocha?etosis$",
+				"^Treatment of Rodent Ulcer$",
+				"(?i)^\W*Cloud Computing\W*$",
+				"^Compendio mathematico : en que se contienen todas las materias mas principales de las Ciencias que tratan de la cantidad$",				
+				"^Free Communications, Poster Presentations: Session [A-F]$",
+				
+				"^“The Historical Aspects? of Quackery\.?”$",
+				"^A designated centre for people with disabilities operated by St John of God Community Services (Limited|Ltd), Louth$",
+				"^P(er|re)-Mile Premiums for Auto Insurance\\.?$",
+				"(?i)^Case Report$",							
+				"^Boletín Informativo$",
+				"(?i)^Glioblastoma Multiforme$",
+				"(?i)^Nuevos táxones animales descritos en la península Ibérica y Macaronesia desde 1994 \\(.*\\)$",
+				"^Zaměstnanecké výhody$",
+				"(?i)^The Economics of Terrorism and Counter-Terrorism: A Survey \\(Part .*\\)$",
+				"(?i)^Carotid body tumours?\\.?$", 
+				"(?i)^\\[Españoles en Francia : La condición Emigrante.*\\]$",
+				"^Avant-propos$",
+				"(?i)^St\. Patrick's Cathedral, Dublin, County Dublin - Head(s)? and Capital(s)?$",
+				"(?i)^St\. Patrick's Cathedral, Dublin, County Dublin - Bases?$",
+				"(?i)^PUBLIC HEALTH VERSUS THE STATE$",							
+				"^Viñetas de Cortázar$",
+				"(?i)^Search for heavy neutrinos and W(\\[|_|\\(|_\\{|-)?R(\\]|\\)|\\})? bosons with right-handed couplings in a left-right symmetric model in pp collisions at.*TeV(\.)?$",
+				"(?i)^Measurement of the pseudorapidity and centrality dependence of the transverse energy density in Pb(-?)Pb collisions at.*tev(\.?)$",				
+				"(?i)^Search for resonances decaying into top-quark pairs using fully hadronic decays in pp collisions with ATLAS at.*TeV$",
+				"(?i)^Search for neutral minimal supersymmetric standard model Higgs bosons decaying to tau pairs in pp collisions at.*tev$",
+			
+				"(?i)^Relatório de Estágio (de|em) Angiologia e Cirurgia Vascular$",
+				"^Aus der AGMB$",				
+			
+				"^Znanstveno-stručni prilozi$",
+				"^Zhodnocení finanční situace podniku a návrhy na zlepšení$",
+				"^Evaluation of the Financial Situation in the Firm and Proposals to its Improvement$",
+				"^Finanční analýza podniku$",
+				"^Financial analysis( of business)?$",
+				"(?i)^Textbook of Gyn(a)?(Æ)?(e)?cology$",
+				"^Jikken nihon shūshinsho$",
+				"(?i)^CORONER('|s)(s|') INQUESTS$",
+				"(?i)^(Μελέτη παραγόντων )?risk management( για ανάπτυξη και εφαρμογή ενός πληροφοριακού συστήματος| και ανάπτυξη συστήματος)?$",				
+				"(?i)^Consultants' contract(s)?$",
+				"(?i)^Upute autorima$",
+				"(?i)^Bijdrage tot de Kennis van den Godsdienst der Dajaks van Lan(d|f)ak en Tajan$",
+				"^Joshi shin kokubun$",
+				"^Kōtō shōgaku dokuhon nōson'yō$",
+				"^Jinjō shōgaku shōka$",
+				"^Shōgaku shūjichō$",
+				"^Nihon joshi dokuhon$",
+				"^Joshi shin dokuhon$",
+				"^Chūtō kanbun dokuhon$",
+				"^Wabun dokuhon$",
+				"(?i)^(Analysis of economy selected village or town|Rozbor hospodaření vybrané obce či města)$",
+				"(?i)^cardiac rehabilitation$",
+				"(?i)^Analytical summary$",
+				"^Thesaurus resolutionum Sacrae Congregationis Concilii$",
+				"(?i)^Sumario analítico(\\s{1})?(Analitic summary)?$", 
+				"^Prikazi i osvrti$",
+				"^Rodinný dům s provozovnou$",
+				"^Family house with an establishment$",
+				"^Shinsei chūtō shin kokugun$",
+				"^Pulmonary alveolar proteinosis(\\.?)$",
+				"^Shinshū kanbun$",
+				"^Viñeta(s?) de Rodríguez$",
+				"(?i)^RUBRIKA UREDNIKA$",
+				"^A Matching Model of the Academic Publication Market$",
+				"^Yōgaku kōyō$",
+			
+				"^Internetový marketing$",
+				"^Internet marketing$",
+				"^Chūtō kokugo dokuhon$",
+				"^Kokugo dokuhon$",
+				"^Antibiotic Cover for Dental Extraction(s?)$",
+				"^Strategie podniku$",				
+				"^Strategy of an Enterprise$",
+				"(?i)^respiratory disease(s?)(\.?)$",
+				"^Award(s?) for Gallantry in Civil Defence$",
+				"^Podniková kultura$",
+				"^Corporate Culture$",
+				"^Severe hyponatraemia in hospital inpatient(s?)(\.?)$",
+				"^Pracovní motivace$",
+				"^Work Motivation$",
+				"^Kaitei kōtō jogaku dokuhon$",
+				"^Konsolidovaná účetní závěrka$",
+				"^Consolidated Financial Statements$",
+				"(?i)^intracranial tumour(s?)$",
+				"^Climate Change Mitigation Options and Directed Technical Change: A Decentralized Equilibrium Analysis$",
+				"^\\[CERVECERIAS MAHOU(\\.|\\:) INTERIOR\\] \\[Material gráfico\\]$",
+				"^Housing Market Dynamics(\\:|\\.) On the Contribution of Income Shocks and Credit Constraint(s?)$",
+				"^\\[Funciones auxiliares de la música en Radio París,.*\\]$",
+				"^Úroveň motivačního procesu jako způsobu vedení lidí$",
+				"^The level of motivation process as a leadership$",
+				"^Pay-beds in N(\\.?)H(\\.?)S(\\.?) Hospitals$",
+				"(?i)^news and events$",
+				"(?i)^NOVOSTI I DOGAĐAJI$",
+				"^Sansū no gakushū$",
+				"^Posouzení informačního systému firmy a návrh změn$",
+				"^Information System Assessment and Proposal for ICT Modification$",
+				"^Stresové zatížení pracovníků ve vybrané profesi$",
+				"^Stress load in a specific job$",
+				
+				"^Sunday: Poster Sessions, Pt.*$",
+				"^Monday: Poster Sessions, Pt.*$",
+				"^Wednesday: Poster Sessions, Pt.*",
+				"^Tuesday: Poster Sessions, Pt.*$",
+				
+				"^Analýza reklamy$",
+				"^Analysis of advertising$",
+			
+				"^Shōgaku shūshinsho$",
+				"^Shōgaku sansū$",
+				"^Shintei joshi kokubun$",
+				"^Taishō joshi kokubun dokuhon$",
+				"^Joshi kokubun$",				
+												
+				"^Účetní uzávěrka a účetní závěrka v ČR$",
+				"(?i)^The \"?Causes\"? of Cancer$",
+				"^Normas para la publicación de artículos$",
+				"^Editor('|s)(s|') [Rr]eply$",
+				"^Editor(’|s)(s|’) letter$",
+				"^Redaktoriaus žodis$",		
+				"^DISCUSSION ON THE PRECEDING PAPER$",
+				"^Kōtō shōgaku shūshinsho jidōyō$",
+				"^Shōgaku nihon rekishi$",
+				"^(Theory of the flow of action currents in isolated myelinated nerve fibers).*$",
+				"^Préface$",
+				"^Occupational [Hh]ealth [Ss]ervices.$",
+				"^In Memoriam Professor Toshiyuki TAKESHIMA$",
+				"^Účetní závěrka ve vybraném podniku.*$",
+				"^Financial statements in selected company$",
+				"^Abdominal [Aa]ortic [Aa]neurysms.*$",
+				"^Pseudomyxoma peritonei$",
+				"^Kazalo autora$",			
+			
+				"(?i)^uvodna riječ$",
+				"^Motivace jako způsob vedení lidí$",
+				"^Motivation as a leadership$",
+				"^Polyfunkční dům$",
+				"^Multi\\-funkcional building$",
+				"^Podnikatelský plán$",
+				"^Business Plan$",
+				"^Oceňování nemovitostí$",
+				"^Marketingová komunikace$",
+				"^Marketing communication$",
+				"^Sumario Analítico$",
+				"^Riječ uredništva$",
+				"^Savjetovanja i priredbe$",
+				"^Índice$",
+				"^(Starobosanski nadpisi).*$",
+				"^Vzdělávání pracovníků v organizaci$",
+				"^Staff training in organization$",
+				"^(Life Histories of North American Geometridae).*$",
+				"^Strategická analýza podniku$",
+				"^Strategic Analysis of an Enterprise$",
+				"^Sadržaj$",
+				"^Upute suradnicima$",
+				"^Rodinný dům$",
+				"(?i)^Fami(l)?ly house$",
+				"^Upute autorima$",
+				"^Strategic Analysis$",
+				"^Finanční analýza vybraného podniku$",
+				"^Finanční analýza$",
+				"^Riječ urednika$",
+				"(?i)^Content(s?)$",
+				"(?i)^Inhalt$",
+				"^Jinjō shōgaku shūshinsho jidōyō$",
+				"(?i)^Index$",
+				"^Chūgaku kokubun kyōkasho$",
+				"^Retrato de una mujer$",
+				"^Retrato de un hombre$",
+				"^Kōtō shōgaku dokuhon$",
+				"^Shotōka kokugo$",
+				"^Shōgaku dokuhon$",
+				"^Jinjō shōgaku kokugo dokuhon$",
+				"^Shinsei kokugo dokuhon$",
+				"^Teikoku dokuhon$",
+				"^Instructions to Authors$",
+				"^KİTAP TAHLİLİ$",
+				"^PRZEGLĄD PIŚMIENNICTWA$",
+				"(?i)^Presentación$",
+				"^İçindekiler$",
+				"(?i)^Tabl?e of contents$",
+				"^(CODICE DEL BEATO DE LOS REYES FERNANDO I Y SANCHA).*$",
+				"^(\\[MADRID\\. BIBL\\. NAC\\. N.*KING FERDINAND I.*FROM SAN ISIDORO DE LEON\\. FACUNDUS SCRIPSIT DATED.*\\]).*",
+				"^Editorial( Board)?$",
+				"(?i)^Editorial \\(English\\)$",
+				"^Editörden$",			
+				"^(Corpus Oral Dialectal \\(COD\\)\\.).*$",
+				"^(Kiri Karl Morgensternile).*$",
+				"^(\\[Eksliibris Aleksandr).*\\]$",
+				"^(\\[Eksliibris Aleksandr).*$",
+				"^(Eksliibris Aleksandr).*$",
+				"^(Kiri A\\. de Vignolles).*$",
+				"^(2 kirja Karl Morgensternile).*$",
+				"^(Pirita kloostri idaosa arheoloogilised).*$",
+				"^(Kiri tundmatule).*$",
+				"^(Kiri Jenaer Allgemeine Literaturzeitung toimetusele).*$",
+				"^(Eksliibris Nikolai Birukovile).*$",
+				"^(Eksliibris Nikolai Issakovile).*$",
+				"^(WHP Cruise Summary Information of section).*$",
+				"^(Measurement of the top quark\\-pair production cross section with ATLAS in pp collisions at).*$",
+				"^(Measurement of the spin\\-dependent structure function).*"
+			]
+		} 		
+	}
+}
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/transform/fields.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/transform/fields.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/transform/fields.xml	(revision 51225)
@@ -0,0 +1,29 @@
+<FIELDS>
+	<FIELD name="oaftype" path="entity/type" tokenizable="false" indexable="true" stat="false" result="false"/>
+	<FIELD name="objIdentifier" path="entity/id" tokenizable="false" indexable="true" stat="false" result="false"/>
+	<FIELD name="collectedfrom" path="entity/collectedfrom/value" tokenizable="false" indexable="true" result="false" stat="false" />
+	<FIELD name="pid" path="entity/pid[qualifier#classid = {doi}]/value" tokenizable="false" stat="false" result="false" indexable="true"/>
+	<FIELD name="deletedbyinference" path="dataInfo/deletedbyinference" tokenizable="false" stat="false" result="false" indexable="true"/>        
+	<FIELD name="inferred" path="dataInfo/inferred" tokenizable="false" stat="false" result="false" indexable="true"/>
+	
+	<!-- ORGANIZATION FIELDS -->
+	<FIELD name="organizationlegalname" path="entity/organization/metadata/legalname/value" type="ngramtext" stat="false" indexable="true" result="false"/>
+	<FIELD name="organizationlegalshortname" path="entity/organization/metadata/legalshortname/value" type="ngramtext" stat="false" indexable="true" result="false"/>
+	<FIELD name="organizationwebsiteurl" path="entity/organization/metadata/websiteurl/value" stat="false" indexable="true" result="false"/>
+	
+	<!-- PERSON FIELDS -->
+	<FIELD name="personfirstname" path="entity/person/metadata/firstname/value" stat="false" indexable="true" result="false"/>
+	<FIELD name="personsecondnames" path="entity/person/metadata/secondnames/value" stat="false" indexable="true" result="false"/>
+	<FIELD name="personfullname" path="entity/person/metadata/fullname/value" stat="false" indexable="true" result="false"/>
+
+	<!-- PUBLICATION FIELDS -->
+	<FIELD indexable="true" name="pubtitle" path="entity/publication/metadata/title/value | entity/children/publication/metadata/title/value" result="false" stat="false"/>
+	<FIELD indexable="true" name="pubdescription" path="entity/publication/metadata/description/value | entity/children/publication/metadata/description/value" result="false" stat="false"/>
+	<FIELD indexable="true" name="pubauthor" path="entity/publication/author/metadata/fullname/value | entity/children/publication/author/metadata/fullname/value" result="false" stat="false"/>
+
+	<!-- DATASET FIELDS -->
+	<FIELD indexable="true" name="datasettitle" path="entity/dataset/metadata/title/value | entity/children/dataset/metadata/title/value" result="false" stat="false"/>
+	<FIELD indexable="true" name="datasetdescription" path="entity/dataset/metadata/description/value | entity/children/dataset/metadata/description/value" result="false" stat="false"/>
+	<FIELD indexable="true" name="datasetauthor" path="entity/dataset/author/metadata/fullname/value | entity/children/dataset/author/metadata/fullname/value" result="false" stat="false"/>
+
+</FIELDS>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/ColumnType.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/ColumnType.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/ColumnType.java	(revision 51225)
@@ -0,0 +1,6 @@
+package eu.dnetlib.data.transform;
+
+public enum ColumnType {
+	base64,
+	text,
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupBuildRootsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupBuildRootsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupBuildRootsJob.xml	(revision 51225)
@@ -0,0 +1,60 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="895ce6a9-4131-4954-b9ed-949ff78f5448_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupBuildRootsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that build the roots and redirects the rels</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupBuildRootsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupBuildRootsReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Writable" />				
+	
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="500" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+	
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN caching="10">
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES/>        		
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/SolrProtoMapper.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/SolrProtoMapper.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/SolrProtoMapper.java	(revision 51225)
@@ -0,0 +1,109 @@
+package eu.dnetlib.data.transform;
+
+import java.io.StringReader;
+
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.solr.common.SolrInputDocument;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.Element;
+import org.dom4j.io.SAXReader;
+
+import com.google.common.base.Splitter;
+import com.google.common.collect.Lists;
+import com.google.protobuf.GeneratedMessage;
+
+import eu.dnetlib.pace.config.Type;
+
+/**
+ * The Class ProtoDocumentMapper.
+ */
+public class SolrProtoMapper extends AbstractProtoMapper {
+
+	private static final String ID_SEPARATOR = "::";
+
+	/** The fields. */
+	private Document fields;
+
+	/**
+	 * Instantiates a new proto document mapper.
+	 *
+	 * @param fields
+	 *            the fields
+	 * @throws DocumentException
+	 *             the document exception
+	 */
+	public SolrProtoMapper(final String fields) throws DocumentException {
+		this.fields = parse(fields);
+
+		if (StringUtils.isBlank(this.fields.valueOf("//FIELD[@name = 'objIdentifier']/@name")))
+			throw new IllegalArgumentException("field objIdentifier is mandatory");
+	}
+
+	/**
+	 * Map.
+	 *
+	 * @param proto
+	 *            the proto
+	 * @param version
+	 *            the version
+	 * @param dsId
+	 *            the ds id
+	 * @return the solr input document
+	 * @throws DocumentException
+	 *             the document exception
+	 */
+	public SolrInputDocument map(final GeneratedMessage proto, final String version, final String dsId, final String actionSetId) throws DocumentException {
+
+		final SolrInputDocument doc = new SolrInputDocument();
+
+		for (final Object o : fields.selectNodes("//FIELD[string(@path)]")) {
+			final Element e = (Element) o;
+
+			final String name = e.attribute("name").getValue().toLowerCase().trim();
+			final String path = e.attribute("path").getValue();
+
+			doc.setField(name, processMultiPath(proto, Lists.newLinkedList(Splitter.on("|").trimResults().split(path)), Type.String));
+		}
+
+		final String objIdentifier = patchId((String) doc.getFieldValue("objidentifier"));
+		doc.setField("objidentifier", objIdentifier);
+		doc.setField("__indexrecordidentifier", getRecordId(objIdentifier, actionSetId));
+		doc.setField("__dsid", dsId);
+		doc.setField("__dsversion", version);
+		doc.setField("__result", Base64.encodeBase64String(proto.toByteArray()));
+		doc.setField("actionset", actionSetId);
+
+		return doc;
+	}
+
+	public String getRecordId(final String objIdentifier, final String actionSetId) {
+		return objIdentifier + ID_SEPARATOR + actionSetId;
+	}
+
+	/**
+	 * Patch the objidentifier: when it comes from HBase, i.e. contains the separator '|' returns the string that follows.
+	 *
+	 * @param objidentifier
+	 *            the objidentifier
+	 * @return the string
+	 */
+	private String patchId(final String objidentifier) {
+		return objidentifier.contains("|") ? StringUtils.substringAfter(objidentifier, "|") : objidentifier;
+	}
+
+	/**
+	 * Parses the.
+	 *
+	 * @param s
+	 *            the s
+	 * @return the document
+	 * @throws DocumentException
+	 *             the document exception
+	 */
+	private Document parse(final String s) throws DocumentException {
+		return new SAXReader().read(new StringReader(s));
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceExportJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceExportJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceExportJob.xml	(revision 51225)
@@ -0,0 +1,65 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="62c1e44c-14b6-4639-9083-29bf432e6759_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="informationSpaceExportJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that exports the whole information space table as json</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataexport.ExportInformationSpaceMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+			
+			
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />	
+			
+				<!-- MISC -->
+
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+
+				<PROPERTY key="dfs.blocksize" value="256M" />
+				
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.output.compress" value="true" />
+				<PROPERTY key="mapred.output.compression.type" value="BLOCK" />
+				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFUtils.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFUtils.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFUtils.java	(revision 51225)
@@ -0,0 +1,129 @@
+package eu.dnetlib.data.graph.model;
+
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
+import com.google.protobuf.Descriptors;
+import com.google.protobuf.GeneratedMessage;
+import eu.dnetlib.data.proto.*;
+
+import java.util.Arrays;
+import java.util.Set;
+
+/**
+ * Created by sandro on 12/13/16.
+ */
+public class DNGFUtils {
+
+    public static Set<String> entities() {
+        return Sets.newHashSet(Iterables.transform(Lists.newArrayList(TypeProtos.Type.values()), t -> t.toString()));
+    }
+
+    public static Predicate<DNGFProtos.DNGF> relationFilter() {
+        return dngf -> dngf.getKind().equals(KindProtos.Kind.relation);
+    }
+
+    public static Predicate<DNGFProtos.DNGF> entityFilter() {
+        return dngf -> dngf.getKind().equals(KindProtos.Kind.entity);
+    }
+
+    public static Function<DNGFDecoder, String> idDecoder() {
+        return input -> input.getEntityId();
+    }
+
+    public static Predicate<FieldTypeProtos.StructuredProperty> mainTitleFilter() {
+        return sp -> (sp.getQualifier() != null) && sp.getQualifier().getClassname().equals("main title");
+    }
+
+    public static Set<String> getFieldNames(final Descriptors.Descriptor d, final Integer... tag) {
+        return Sets.newHashSet(Iterables.transform(Arrays.asList(tag), i -> {
+            final Descriptors.FieldDescriptor fd = d.findFieldByNumber(i);
+            if (fd == null) throw new IllegalArgumentException("undefined tag: " + i + " for type: " + d.getFullName());
+            return fd.getName();
+        }));
+    }
+
+    public static FieldTypeProtos.StringField sf(final String value) {
+        return FieldTypeProtos.StringField.newBuilder().setValue(value).build();
+    }
+
+    public static FieldTypeProtos.StructuredProperty sp(final String value, final String classid, final String schemeid) {
+        return sp(value, classid, schemeid, di());
+    }
+
+    public static FieldTypeProtos.StructuredProperty sp(final String value, final String classid, final String schemeid, final FieldTypeProtos.DataInfo di) {
+        return FieldTypeProtos.StructuredProperty.newBuilder().setValue(value).setQualifier(simpleQualifier(classid, schemeid)).setDataInfo(di).build();
+    }
+
+    public static FieldTypeProtos.KeyValue kv(final String k, final String v) {
+        return FieldTypeProtos.KeyValue.newBuilder().setKey(k).setValue(v).build();
+    }
+
+    public static FieldTypeProtos.Qualifier simpleQualifier(final String classid, final String schemeid) {
+        return q(classid, classid, schemeid, schemeid);
+    }
+
+    public static FieldTypeProtos.Qualifier q(final String classid, final String classname, final String schemeid, final String schemename) {
+        return FieldTypeProtos.Qualifier.newBuilder()
+                .setClassid(classid)
+                .setClassname(classname)
+                .setSchemename(schemeid)
+                .setSchemeid(schemename).build();
+    }
+
+    public static FieldTypeProtos.DataInfo di(final String trust) {
+        return di(false, "", false, simpleQualifier("", ""), trust);
+    }
+
+    public static FieldTypeProtos.DataInfo di() {
+        return di("");
+    }
+
+    public static FieldTypeProtos.DataInfo di(Boolean deletedByInference, String inferenceProvenance, Boolean inferred, FieldTypeProtos.Qualifier provenanceAction, String trust) {
+        return FieldTypeProtos.DataInfo.newBuilder()
+                .setDeletedbyinference(deletedByInference)
+                .setInferenceprovenance(inferenceProvenance)
+                .setInferred(inferred)
+                .setProvenanceaction(provenanceAction)
+                .setTrust(trust).build();
+    }
+
+    public static FieldTypeProtos.Context context(final String id) {
+        return FieldTypeProtos.Context.newBuilder().setId(id).build();
+    }
+
+
+    public static DNGFDecoder embed(final GeneratedMessage msg,
+                                    final KindProtos.Kind kind,
+                                    final boolean deletedByInference,
+                                    final boolean inferred,
+                                    final String provenance,
+                                    final String action) {
+
+        final DNGFProtos.DNGF.Builder DNGF = DNGFProtos.DNGF
+                .newBuilder()
+                .setKind(kind)
+                .setLastupdatetimestamp(System.currentTimeMillis())
+                .setDataInfo(di(deletedByInference, provenance, inferred, simpleQualifier(action, action), "0.5"));
+        switch (kind) {
+            case entity:
+                DNGF.setEntity((DNGFProtos.DNGFEntity) msg);
+                break;
+            case relation:
+                DNGF.setRel((DNGFProtos.DNGFRel) msg);
+                break;
+            default:
+                break;
+        }
+
+        return DNGFDecoder.decode(DNGF.build());
+    }
+
+    public static DNGFDecoder embed(final GeneratedMessage msg, final KindProtos.Kind kind) {
+        return embed(msg, kind, false, false, "inference_provenance", "provenance_action");
+    }
+
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2ActionsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2ActionsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2ActionsJob.xml	(revision 51225)
@@ -0,0 +1,64 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5c4b4dbf-8198-4f7a-9a35-367c7b0a7391_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupSimilarity2ActionsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that scans a given entity type and creates the similarRel graph</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupSimilarityToActionsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="dedup.conf" required="true" description="dedup configuration" />
+        		<PARAM name="rawSetId" required="true" description="raw set identifier" />
+        		<PARAM name="similarityCF" required="true" description="similarity column family name" />      			
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+           			<FAMILY value="resultResult_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />        			
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionDeserialiser.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionDeserialiser.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/actionmanager/actions/AtomicActionDeserialiser.java	(revision 51225)
@@ -0,0 +1,77 @@
+package eu.dnetlib.data.actionmanager.actions;
+
+import java.lang.reflect.Type;
+
+import com.google.gson.*;
+import com.googlecode.protobuf.format.JsonFormat;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.Agent;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.AbstractActionSerializer;
+import eu.dnetlib.rmi.data.hadoop.actionmanager.actions.AtomicAction;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Created by claudio on 30/09/15.
+ */
+public class AtomicActionDeserialiser extends AbstractActionSerializer implements JsonDeserializer<AtomicAction> {
+
+	private static final Log log = LogFactory.getLog(AtomicActionDeserialiser.class);
+
+	public static AtomicAction fromJSON(String s) {
+		final GsonBuilder gson = new GsonBuilder();
+
+		gson.registerTypeAdapter(AtomicAction.class, new AtomicActionDeserialiser());
+
+		return gson.create().fromJson(s, AtomicAction.class);
+	}
+
+	@Override
+	public AtomicAction deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context) throws JsonParseException {
+
+		if (json.isJsonObject()) {
+			final JsonObject j = (JsonObject) json;
+
+			final Agent a = new Agent();
+
+			final JsonObject aj = j.get(agent).getAsJsonObject();
+			a.setId(aj.get(agent_id).getAsString());
+			a.setName(aj.get(agent_name).getAsString());
+			a.setType(Agent.AGENT_TYPE.valueOf(aj.get(agent_type).getAsString()));
+
+			AtomicAction aa = new AtomicAction(j.get(rawSet).getAsString(), a);
+
+			aa.setTargetColumn(j.get(targetColumn).getAsString());
+			aa.setTargetColumnFamily(j.get(targetColumnFamily).getAsString());
+			aa.setTargetRowKey(j.get(targetRowKey).getAsString());
+
+			aa.setRowKey(j.get(rowKey).getAsString());
+			aa.setTargetValue(decodeTargetValue(j.get(targetValue).getAsString()));
+
+			return aa;
+		}
+
+		throw new JsonParseException("input is not a json object");
+	}
+
+	private byte[] decodeTargetValue(final String s) {
+		if (StringUtils.isBlank(s)) {
+			return null;
+		}
+		try {
+			final String json = new String(Base64.decodeBase64(s.getBytes()));
+
+			DNGF.Builder oaf = DNGF.newBuilder();
+			JsonFormat.merge(json, oaf);
+
+			return oaf.build().toByteArray();
+		} catch (JsonFormat.ParseException e) {
+			log.error("unable to parse proto", e);
+			return null;
+		}
+	}
+
+}
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportJob.xml	(revision 51225)
@@ -0,0 +1,46 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5cd115e7-9650-4263-9c0d-a3fbf6d9549d_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="mdStoreHdfsImportJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that maps xml metada records from a sequence file into an hbase table</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+				
+				<!-- MAPPER -->        	
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataimport.ImportRecordsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+			
+				<!-- MISC -->
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+				
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="mapred.input.dir" required="true" description="input sequence file" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.import.xslt" required="true" description="mapping" />
+        	</JOB_INTERFACE>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/index/CloudIndexClientException.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/index/CloudIndexClientException.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/index/CloudIndexClientException.java	(revision 51225)
@@ -0,0 +1,15 @@
+package eu.dnetlib.data.index;
+
+/**
+ * Created by michele on 23/11/15.
+ */
+public class CloudIndexClientException extends Exception {
+
+	public CloudIndexClientException(final String message) {
+		super(message);
+	}
+
+	public CloudIndexClientException(final String message, final Throwable cause) {
+		super(message, cause);
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupAnchorStatsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupAnchorStatsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupAnchorStatsJob.xml	(revision 51225)
@@ -0,0 +1,58 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="2af384c6-9118-426d-9394-d7bbc42d707c_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupAnchorStatsJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that calculate statistics on the person anchors</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.NullOutputFormat" />
+
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.experiment.AnchorStatsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+				
+				<!-- JOB GLOBAL -->		
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.NullWritable" />
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.NullWritable"/>
+				
+				<!-- MISC -->					
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!--<PROPERTY key="mapred.fairscheduler.pool" value="solr"/> -->
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+	       		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchFeedJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="36b255ad-eb68-4742-a55e-88c4a2e87038_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="elasticsearchFeedJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that joins the entities on the hbase table and produces a sequence file containig the xml records</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class"
+                          value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.elasticsearch.hadoop.mr.EsOutputFormat" />
+        	
+        		<!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dli.ElasticsearchFeedMapper"/>
+		        <PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text"/>
+				
+				<!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class"
+                          value="eu.dnetlib.data.mapreduce.hbase.dli.ElasticsearchFeedReducer"/>
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />
+				
+				<!-- MISC -->
+                <PROPERTY key="es.nodes" value="node0-d-dli.d4science.org:9200"/>
+                <PROPERTY key="es.resource" value="dli/object"/>
+                <PROPERTY key="es.mapping.id" value="id"/>
+		        <PROPERTY key="es.input.json" value="yes" />
+                <PROPERTY key="mapred.reduce.tasks" value="4"/>
+
+		        <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />
+		        <PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+
+		        <!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+                <PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs"/>
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupExportPersonFullnameJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupExportPersonFullnameJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupExportPersonFullnameJob.xml	(revision 51225)
@@ -0,0 +1,62 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ba309300-76f2-40d1-afe3-b77016f443e9_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="exportPersonFullnamesJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that exports the person fullnames on a text file on HDFS</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.preprocess.ExportFullnameMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.preprocess.ExportFullnameReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />				
+	
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+				
+				<PROPERTY key="mapred.reduce.tasks" value="1" />
+				<PROPERTY key="dfs.blocksize" value="256M" />
+				<PROPERTY key="mapred.textoutputformat.separator" value="" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+	
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN caching="10">
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES/>        		
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupCandidateScanJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupCandidateScanJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupCandidateScanJob.xml	(revision 51225)
@@ -0,0 +1,64 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="675f1436-205a-4b19-8b6b-35e1c17fb125_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupCandidateScanJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that scans a given entity type and creates the similarRel graph</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Writable" />				
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="1000" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="dedup.conf" required="true" description="dedup configuration" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY value="metadata" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/sqoopStatsUpdateJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/sqoopStatsUpdateJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/sqoopStatsUpdateJob.xml	(revision 51225)
@@ -0,0 +1,70 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="bf0ab07b-36bf-4164-ab73-342bfb11e51a_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="StatsExportJob" type="oozie">
+            <DESCRIPTION>Job for importing data from HBASE to the relational Stats Database</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+			
+				<!-- Cluster wide -->
+                <PROPERTY key="queueName" value="default"/>
+                <PROPERTY key="user.name" value="dnet"/> <!-- username = sqoop?? -->
+                <PROPERTY key="workingDir" value="/user/dnet/lib/stats/working_dir"/>
+                <PROPERTY key="numReducers" value="1"/>
+                
+				<PROPERTY key="oozie.wf.application.path" value="hdfs://nmis-hadoop-cluster/user/eri.katsari/stats/oozie_app"/><!-- edit this property! -->
+				<PROPERTY key="Stats_db_Url" value="jdbc:postgresql://node1.t.openaire.research-infrastructures.eu:5432/stats"/><!-- complete the jdbc url with the actual value! -->
+				<PROPERTY key="Stats_db_User" value="sqoop"/>
+				<PROPERTY key="Stats_db_Pass" value="sqoop"/>
+				<PROPERTY key="Stats_db_Driver" value="org.postgresql.Driver"/>
+				<PROPERTY key="Stats_db_table_map" value="datasourceLanguage=datasource_languages,datasource=datasource,project=project,result=result,organization=organization,datasourceOrganization=datasource_organizations,datasourceTopic=datasource_topics,projectOrganization=project_organizations,resultClaim=result_claims,resultClassification=result_classifications,resultConcept=result_concepts,resultLanguage=result_languages,resultOrganization=result_organizations,resultResult=result_results,resultProject=project_results,resultTopic=result_topics,category=category,context=context,claim=claim,concept=concept,datasourceLanguage=datasource_languages,resultLanguage=result_languages,resultDatasource=result_datasources"/>
+				<PROPERTY key="Stats_sqoop_RecsPerStatement" value="10000"/>
+				<PROPERTY key="Stats_sqoop_StatementPerTrans" value="1000000"/>
+				<PROPERTY key="Stats_sqoop_ReducersCount" value="4"/>
+				<PROPERTY key="Stats_output_Path" value="/tmp/stats/"/>
+				<PROPERTY key="Stats_null_String_Field" value="null"/>
+				<PROPERTY key="Stats_null_Numeric_Field" value="null"/>
+				<PROPERTY key="Stats_enclosing_Character" value="#"/>
+				<PROPERTY key="Stats_delim_Character" value="!"/>
+				<PROPERTY key="out1" value="datasource"/>
+				<PROPERTY key="out2" value="project"/>
+				<PROPERTY key="out3" value="organization"/>
+				<PROPERTY key="out4" value="datasourceOrganization"/>
+				<PROPERTY key="out5" value="datasourceTopic"/>
+				<PROPERTY key="out6" value="datasourceLanguage"/>
+				<PROPERTY key="out7" value="projectOrganization"/>
+				<PROPERTY key="out8" value="resultClaim"/>
+				<PROPERTY key="out9" value="resultClassification"/>
+				<PROPERTY key="out10" value="resultConcept"/>
+				<PROPERTY key="out11" value="resultLanguage"/>
+				<PROPERTY key="out12" value="resultOrganization"/>
+				<PROPERTY key="out13" value="resultResult"/>
+				<PROPERTY key="out14" value="resultProject"/>
+				<PROPERTY key="out15" value="category"/>
+				<PROPERTY key="out16" value="resultTopic"/>
+				<PROPERTY key="out17" value="resultDatasource"/>
+				<PROPERTY key="out18" value="result"/>
+				<PROPERTY key="out19" value="claim"/>
+				<PROPERTY key="out20" value="concept"/>
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM name="nameNode" required="true" description="hdfs name node"/>
+                <PARAM name="jobTracker" required="true" description="job tracker name"/>
+                <PARAM name="Stats_Hbase_Source_Table" required="true" description="Hbase Table with Protobuffs."/>
+                <PARAM name="Stats_indexConf" required="true" description="Index Entity Links configuration."/>
+                <PARAM name="isLookupEndpoint" required="true" description="IS lookup service endpoint"/>
+            </JOB_INTERFACE>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2014-11-14T19:57:25+00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="75"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteDedupRelsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteDedupRelsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupDeleteDedupRelsJob.xml	(revision 51225)
@@ -0,0 +1,72 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5626c94e-0005-416a-9ea4-48fc8af85ecd_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="deleteDedupRelsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that deletes the dedup rels used to in the deduplication process</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupDeleteRelMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.Writable" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />		
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+			        <FAMILY value="datasetDataset_dedup_merges" />
+			        <FAMILY value="datasetDataset_dedup_isMergedIn" />
+			        <FAMILY value="datasetDataset_dedupSimilarity_isSimilarTo" />
+
+			        <FAMILY value="publicationPublication_dedup_merges" />
+			        <FAMILY value="publicationPublication_dedup_isMergedIn" />
+			        <FAMILY value="publicationPublication_dedupSimilarity_isSimilarTo" />
+
+			        <FAMILY value="personPerson_dedup_merges" />
+			        <FAMILY value="personPerson_dedup_isMergedIn" />
+			        <FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+
+			        <FAMILY value="organizationOrganization_dedup_merges" />
+			        <FAMILY value="organizationOrganization_dedup_isMergedIn" />
+			        <FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsPersonExportJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsPersonExportJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsPersonExportJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4c63a9ab-057f-442c-8da2-9b956c41e645_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupRootsPersonExportJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that exports the representative publications as json</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.RootPersonExportMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+			
+			
+				<!-- MISC -->
+
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+
+				<PROPERTY key="dfs.blocksize" value="256M" />
+			
+				<PROPERTY key="mapred.reduce.tasks" value="1" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+	       			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupPersonJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupPersonJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupPersonJob.xml	(revision 51225)
@@ -0,0 +1,62 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="29638605-235b-4cc1-9bf5-a5dd2fc84915_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupPersonJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that scans a given entity type and creates the similarRel graph</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT  -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.SimpleDedupPersonMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.SimpleDedupPersonReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Writable" />				
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="1000" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsToCSVJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsToCSVJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsToCSVJob.xml	(revision 51225)
@@ -0,0 +1,86 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="027554bd-3d5c-4c50-9170-90d8c4402bc3_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupRootsToCSVJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that exports the representatives as CSV files</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.LazyOutputFormat" />
+				<PROPERTY key="mapreduce.output.lazyoutputformat.outputformat" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupRootsToCsvMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+			
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupRootsToCsvReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />				
+				
+				<!-- MUTIPLE OUTPUT -->
+				<PROPERTY key="mapreduce.multipleoutputs" value="NativeGroups Groups NativeEntities" />
+
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeGroups.format" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeGroups.key" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeGroups.value" value="org.apache.hadoop.io.Text" />
+				
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.Groups.format" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.Groups.key" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.Groups.value" value="org.apache.hadoop.io.Text" />				
+				
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeEntities.format" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeEntities.key" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapreduce.multipleoutputs.namedOutput.NativeEntities.value" value="org.apache.hadoop.io.Text" />				
+				
+				<!-- MISC -->
+				
+                <PROPERTY key="mapred.textoutputformat.wrapper" value="#"/>
+                <PROPERTY key="mapred.textoutputformat.separator" value="!"/>
+
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+			
+				<PROPERTY key="mapred.reduce.tasks" value="3" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+	       			<FAMILY param="entityType" />
+        			<FAMILY value="datasetDataset_dedup_merges" />
+			        <FAMILY value="publicationPublication_dedup_merges" />
+        			<FAMILY value="personPerson_dedup_merges" />
+     				<FAMILY value="organizationOrganization_dedup_merges" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/indexFeedJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/indexFeedJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/indexFeedJob.xml	(revision 51225)
@@ -0,0 +1,64 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="1c34963b-75b3-4440-9f42-72445a26c077_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="indexFeedJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that joins the entities on the hbase table and produces a sequence file containig the xml records</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.index.IndexFeedMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+				
+				<!-- JOB GLOBAL -->		
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text"/>
+				
+				<!-- MISC -->		
+				<PROPERTY key="mapred.task.timeout" value="1800000"/>			
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<PROPERTY key="mapred.fairscheduler.pool" value="solr"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs" />
+        		<PARAM name="mapred.output.dir" required="true" description="destination path on hdfs for rotten index xml records" />
+        		
+        		<PARAM name="index.solr.url" required="false" description="url used to instantiate the solr client" /> 
+       			<PARAM name="index.solr.collection" required="true" description="target solr collection to be fed" />
+
+       			<PARAM name="id" required="true" description="index DS id" />
+				<PARAM name="index.shutdown.wait.time" required="true" description="wait time before shut down the solr client pool" />
+       			<PARAM name="index.buffer.flush.threshold" required="true" description="indexing buffer flush threshold" />
+       			<PARAM name="index.feed.timestamp" required="true" description="timestamp used as ds_version" />
+				<PARAM name="index.solr.sim.mode" required="true" description="boolean value, allows to run this job in simulation mode" />
+				<PARAM name="index.xslt" required="true" description="record transformer created by the MSRO service" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingJob.xml	(revision 51225)
@@ -0,0 +1,58 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="732656e3-5ac6-4344-9d1f-f5c805f53a06_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="iisPreprocessingJob" type="oozie">
+			<DESCRIPTION>IIS preprocessing</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+				<!-- Cluster wide -->
+				<PROPERTY key="queueName" value="default"/>
+				<PROPERTY key="user.name" value="dnet.beta"/>
+
+				<!-- Runtime -->
+				<PROPERTY key="workingDir" value="/tmp/integration/working_dir/preprocessing"/>
+				<PROPERTY key="oozie.wf.application.path" value="/tmp/integration/apps/preprocessing"/>
+				<PROPERTY key="oozie.wf.validate.ForkJoin" value="false"/>
+				<PROPERTY key="export_action_hbase_table_initialize" value="false"/>
+				<!-- <PROPERTY key="metadataextraction_default_cache_location" value="/cache/metadataextraction"/> -->
+				<PROPERTY key="metadataextraction_default_cache_location" value="/cache/metadataextraction_updated_model"/>
+				<PROPERTY key="metadataextraction_excluded_checksums"
+				          value="1e5b574109da731f4918c7f91fc24864,bea4728578070c3d66774bf9454d41fe,da458477233b5561ae47042aa2a73086"/>
+				<PROPERTY key="export_trust_level_threshold_document_referencedDatasets" value="0.0"/>
+				<PROPERTY key="export_trust_level_threshold_document_referencedProjects" value="0.0"/>
+				<PROPERTY key="output_remote_location" value="hdfs://namenode.hadoop.dm.openaire.eu/var/lib/dnet/actionManager_BETA"/>
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="import_content_object_store_location" required="true" description="mdstore service location"/>
+				<PARAM name="import_mdstore_service_location" required="true" description="mdstore service location"/>
+				<PARAM name="import_dataset_mdstore_ids_csv" required="true" description="mdstore id for dataset records"/>
+				<PARAM name="import_wos_mdstore_id" required="true" description="mdstore id for WoS records"/>
+				<PARAM name="import_database_service_location" required="true" description="database service endpoint"/>
+				<PARAM name="import_content_datacite_objectstores_csv" required="true" description="objecstore ids subject to dataset reference extraction"/>
+				<PARAM name="import_content_wos_plaintext_objectstores_csv" required="true" description="objecstore ids for WoS plaintext"/>
+				<PARAM name="export_action_hbase_table_name" required="true" description="destination action manager table"/>
+				<PARAM name="export_action_hbase_remote_zookeeper_quorum" required="true" description="ZK quorum"/>
+				<PARAM name="export_action_hbase_remote_zookeeper_clientport" required="true" description="ZK port"/>
+				<PARAM name="nameNode" required="true" description="hdfs name node"/>
+				<PARAM name="jobTracker" required="true" description="job tracker name"/>
+				<PARAM name="oozie.wf.application.path" required="true" description="oozie job application absolute path"/>
+				<PARAM name="export_action_set_id_document_referencedProjects" required="true" description="target action set for project references"/>
+				<PARAM name="export_action_set_id_document_referencedDatasets" required="true" description="target action set for dataset references"/>
+				<PARAM name="export_action_set_id_entity_wos" required="true" description="target action set for WoS entities"/>
+				<PARAM name="export_action_set_id_entity_dataset" required="true" description="target action set for dataset entities"/>
+			</JOB_INTERFACE>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteMultipleActionSets.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteMultipleActionSets.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteMultipleActionSets.xml	(revision 51225)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="fada2678-061e-4139-9444-549eff793126_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB type="mapreduce" name="promoteMultipleActionSetsJob">
+			<DESCRIPTION>map only job that promote actions from a set on HDFS to the data table</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.DelegatingInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.actions2.PromoteActionSetFromHDFSMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+				<PROPERTY value="org.apache.hadoop.hbase.client.Put" key="mapred.mapoutput.value.class"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY value="false" key="mapreduce.map.speculative"/>
+				<PROPERTY value="false" key="mapreduce.reduce.speculative"/>
+				<PROPERTY value="true" key="mapred.output.compress"/>
+				<PROPERTY value="BLOCK" key="mapred.output.compression.type"/>
+				<PROPERTY value="0" key="mapred.reduce.tasks"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!-- <PROPERTY key="job.lib" value="/lib/dnet/snapshots/dnet-mapreduce-jobs-assembly-0.0.8.5-SNAPSHOT-exportIds.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM required="true" name="mapred.input.dir.formats" description="source sequence file on hdfs"/>
+				<PARAM name="hbase.mapred.outputtable" required="true" description="source hbase table"/>
+			</JOB_INTERFACE>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2016-04-14T18:22:06+02:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="4"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/personCsvJoinJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/personCsvJoinJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/personCsvJoinJob.xml	(revision 51225)
@@ -0,0 +1,52 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="3f544a36-f123-4f5c-acf4-7c25f6591ec4_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="personCsvJoinJob" type="mapreduce">
+			<DESCRIPTION>map reduce job that joins person entities by "surname+first name letter" and serialise the output as csv</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.LazyOutputFormat" />
+				<PROPERTY key="mapreduce.output.lazyoutputformat.outputformat" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.experiment.JoinPersonGroupMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.experiment.JoinPersonGroupReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapred.reduce.tasks" value="10" />
+
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="mapred.input.dir" required="true" description="input sequence file" />
+			</JOB_INTERFACE>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0" />
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/oaiFeedJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/oaiFeedJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/oaiFeedJob.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="03d7af20-63bb-4790-a052-6cdbc1e05fce_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-02-09T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="oaiFeedJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that feeds the OAI store</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.NullOutputFormat" />	
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.oai.OaiFeedMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.NullWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.NullWritable" />				
+				
+				<!-- JOB GLOBAL -->		
+<!--                 <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.NullWritable" /> -->
+<!--                 <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.NullWritable"/> -->
+				
+				<!-- MISC -->					
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+				<!--  	Uncomment to override the default lib path -->			
+				<PROPERTY key="job.lib" value="/user/dnet/lib/dnet-mapreduce-jobs-assembly-0.0.6.3-SNAPSHOT.jar"/> 
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs" />
+				<PARAM name="services.publisher.oai.collection" required="true" description="target mongodb collection" />
+				<PARAM name="oaiConfiguration" required="true" description="configuration bean used to guide the OAI feeding" />
+				<PARAM name="oai.feed.date" required="true" description="timestamp" />				
+				<PARAM name="services.publisher.oai.host" required="true" description="mongodb host" />
+				<PARAM name="services.publisher.oai.port" required="true" description="mongodb port" />
+				<PARAM name="services.publisher.oai.db" required="true" description="mongodb database name" />	
+				<PARAM name="services.publisher.oai.skipDuplicates" required="true" description="skip duplicated records." />	
+				<PARAM name="services.publisher.oai.duplicateXPath" required="true" description="records with this xpath are identified as duplicates" />																
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOdf.xml
===================================================================
--- modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOdf.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/src/test/resources/eu/dnetlib/data/actionmanager/actions/recordOdf.xml	(revision 51225)
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<record xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+	xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<oai:header xmlns="http://namespace.openaire.eu/" xmlns:dc="http://purl.org/dc/elements/1.1/"
+		xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oai="http://www.openarchives.org/OAI/2.0/"
+		xmlns:prov="http://www.openarchives.org/OAI/2.0/provenance">
+		<dri:objIdentifier>r3c903d4c5a8::00a0cdbbc0c27cca1ccfafb33e7a862d
+		</dri:objIdentifier>
+		<dri:recordIdentifier />
+		<dri:dateOfCollection>2014-10-08T13:12:50.337Z</dri:dateOfCollection>
+		<dri:repositoryId>19365384-4f97-4446-9a81-8c414d2ca27a_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=
+		</dri:repositoryId>
+		<oaf:datasourceprefix>r3c903d4c5a8</oaf:datasourceprefix>
+		<identifier xmlns="http://www.openarchives.org/OAI/2.0/">oai:ucd.ie:ucdlib:31727</identifier>
+		<datestamp xmlns="http://www.openarchives.org/OAI/2.0/">2014-10-07T14:28:12Z</datestamp>
+		<setSpec xmlns="http://www.openarchives.org/OAI/2.0/">ucd_digital_library</setSpec>
+		<setSpec xmlns="http://www.openarchives.org/OAI/2.0/">openaire_data</setSpec>
+	</oai:header>
+	<metadata>
+		<resource xmlns="http://datacite.org/schema/kernel-3"
+			xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+			xmlns:oai="http://www.openarchives.org/OAI/2.0/" xmlns:prov="http://www.openarchives.org/OAI/2.0/provenance"
+			xsi:schemaLocation="http://datacite.org/schema/kernel-3 http://schema.datacite.org/meta/kernel-3/metadata.xsd">
+			<identifier identifierType="DOI">10.7925/drs1.ucdlib_31727</identifier>
+			<creators>
+				<creator>
+					<creatorName>Laefer, Debra L.</creatorName>
+					<nameIdentifier nameIdentifierScheme="ORCID">0000-0001-5134-5322</nameIdentifier>
+				</creator>
+				<creator>
+					<creatorName>University College, Dublin. Library</creatorName>
+					<nameIdentifier nameIdentifierScheme="VIAF"
+						schemeURI="http://www.viaf.org">261450561</nameIdentifier>
+				</creator>
+			</creators>
+			<titles>
+				<title>39 Grafton Street, Dublin</title>
+			</titles>
+			<publisher>UCD School of Architecture Landscape Civil Engineering</publisher>
+			<publicationYear>2013</publicationYear>
+			<subjects>
+				<subject schemeURI="http://id.loc.gov/authorities/subjects/sh99004820#concept"
+					subjectScheme="NAF">Buildings, structures, etc</subject>
+			</subjects>
+			<contributors>
+				<contributor contributorType="Other">
+					<contributorName>Clarke, Julie</contributorName>
+					<nameIdentifier nameIdentifierScheme="ORCID">0000-0001-6092-9741</nameIdentifier>
+				</contributor>
+				<contributor contributorType="Sponsor">
+					<contributorName>UCD School of Architecture, Landscape, and Civil Engineering</contributorName>
+				</contributor>
+				<contributor contributorType="HostingInstitution">
+					<contributorName>University College, Dublin. Library</contributorName>
+					<nameIdentifier nameIdentifierScheme="VIAF"
+						schemeURI="http://www.viaf.org">261450561</nameIdentifier>
+				</contributor>
+				<contributor contributorType="Funder">
+					<contributorName>Irish Research Council for Science, Engineering and Technology</contributorName>
+					<nameIdentifier nameIdentifierScheme="info">info:eu-repo/grantAgreement/IRCSET//RS-2011-435</nameIdentifier>
+				</contributor>
+			</contributors>
+			<dates>
+				<date dateType="Issued">2013</date>
+				<date dateType="Available">2014-09-29</date>
+			</dates>
+			<resourceType resourceTypeGeneral="Dataset">Dataset</resourceType>
+			<alternateIdentifiers>
+				<alternateIdentifier alternateIdentifierType="URL">http://digital.ucd.ie/view/ucdlib:31727</alternateIdentifier>
+			</alternateIdentifiers>
+			<relatedIdentifiers>
+				<relatedIdentifier relatedIdentifierType="DOI"
+					relationType="IsPartOf">10.7925/drs1.ucdlib_31100</relatedIdentifier>
+				<relatedIdentifier relatedIdentifierType="DOI"
+					relationType="IsReferencedBy">10.7925/drs1.ucdlib_31057</relatedIdentifier>
+			</relatedIdentifiers>
+			<sizes>
+				<size>1 still image</size>
+				<size>26859085 bytes</size>
+				<size>1545x2946 pixels</size>
+			</sizes>
+			<formats>
+				<format>image/vnd.adobe.photoshop</format>
+				<format>image/jpeg</format>
+			</formats>
+			<rightsList>
+				<rights rightsURI="info:eu-repo/semantics/openAccess" />
+				<rights rightsURI="http://creativecommons.org/publicdomain/zero/1.0/">Use and reproduction: CC0 1.0 Universal</rights>
+			</rightsList>
+			<descriptions>
+				<description descriptionType="Abstract">Consists of an
+					orthorectified image of the structure in Adobe PhotoShop (PSD)
+					format. The orthorectified image has been derived from one or more
+					photographic images that are included as layers in the original
+					Adobe PhotoShop (PSD) file. The composite and all other image
+					layers have been extracted and saved in TIFF image files, and JPEG
+					files in various resolutions have been derived from the flattened
+					image layer to facilitate inspection.</description>
+				<description descriptionType="Other">Brickwork structure, 4
+					levels above ground, constructed 1864.</description>
+				<description descriptionType="Other">Funded by an award from the
+					Irish Research Council for Science, Engineering and Technology
+					(IRCSET), Embark Initiative Postgraduate Scholarship, grant
+					identifier RS/2011/435.</description>
+			</descriptions>
+			<geoLocations>
+				<geoLocation>
+					<geoLocationPoint>53.3407951 -6.26054559383235</geoLocationPoint>
+				</geoLocation>
+			</geoLocations>
+		</resource>
+		<oaf:embargoenddate>2014-09-29</oaf:embargoenddate>
+		<dr:CobjCategory>0021</dr:CobjCategory>
+		<oaf:dateAccepted>2013-01-01</oaf:dateAccepted>
+		<oaf:accessrights>OPEN</oaf:accessrights>
+		<oaf:language>und</oaf:language>
+		<oaf:hostedBy id="re3data_____::r3d100010742" name="UCD Digital Library" />
+		<oaf:collectedFrom id="re3data_____::r3d100010742"
+			name="UCD Digital Library" />
+		<oaf:relatedPublication
+			id="r39633d1e8c4::f5299dc87856b62949f02d0f780b05c3" />
+	</metadata>
+	<about xmlns="http://namespace.openaire.eu/" xmlns:dc="http://purl.org/dc/elements/1.1/"
+		xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oai="http://www.openarchives.org/OAI/2.0/"
+		xmlns:prov="http://www.openarchives.org/OAI/2.0/provenance">
+		<oaf:datainfo>
+			<oaf:inferred>false</oaf:inferred>
+			<oaf:deletedbyinference>false</oaf:deletedbyinference>
+			<oaf:trust>0.9</oaf:trust>
+			<oaf:inferenceprovenance />
+			<oaf:provenanceaction classid="sysimport:crosswalk:datasetarchive"
+				classname="sysimport:crosswalk:datasetarchive" schemeid="dnet:provenanceActions"
+				schemename="dnet:provenanceActions" />
+		</oaf:datainfo>
+	</about>
+</record>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchTestJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchTestJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/elasticsearchTestJob.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="719b5d2b-4156-4936-bbc3-41d908ec3c57_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="elastisearchTestJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that indexes over ES</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.elasticsearch.hadoop.mr.EsOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.es.ElasticsearchFeedMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.NullWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.BytesWritable" />
+				
+			
+				<!-- MISC -->
+				<PROPERTY key="es.nodes" value="146.48.87.110:9200" />
+				<PROPERTY key="es.resource" value="openaire/oaf" />
+				<PROPERTY key="es.input.json" value="yes" />
+				
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+	
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/trunk/pom.xml
===================================================================
--- modules/dnet-graph-domain/trunk/pom.xml	(nonexistent)
+++ modules/dnet-graph-domain/trunk/pom.xml	(revision 51225)
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<parent>
+		<groupId>eu.dnetlib</groupId>
+		<artifactId>dnet-parent</artifactId>
+		<version>2.0.0-SNAPSHOT</version>
+		<relativePath />
+	</parent>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>eu.dnetlib</groupId>
+	<artifactId>dnet-graph-domain</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0.0-SNAPSHOT</version>
+	<scm>
+		<developerConnection>scm:svn:https://svn.driver.research-infrastructures.eu/driver/dnet50/modules/dnet-graph-domain/trunk</developerConnection>
+	</scm>
+
+	<properties>
+		<!-- defined also in dnet-parent, here in case we need to override -->
+		<google.protobuf.version>2.4.1</google.protobuf.version>
+		<dnet.graph.domain.generated.sources>src/gen/java</dnet.graph.domain.generated.sources>
+	</properties>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>eu.dnetlib</groupId>
+				<artifactId>protoc-jar-maven-plugin</artifactId>
+				<version>1.0.0-SNAPSHOT</version>
+				<executions>
+					<execution>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>run</goal>
+						</goals>
+						<configuration>
+							<protocVersion>${google.protobuf.version}</protocVersion>
+							<inputDirectories>
+								<include>src/main/resources</include>
+							</inputDirectories>
+							<outputDirectory>${dnet.graph.domain.generated.sources}</outputDirectory>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<artifactId>maven-clean-plugin</artifactId>
+				<version>3.0.0</version>
+				<configuration>
+					<filesets>
+						<fileset>
+							<directory>${dnet.graph.domain.generated.sources}</directory>
+							<includes>
+								<include>**/*.java</include>
+							</includes>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+	<pluginRepositories>
+		<pluginRepository>
+			<id>dnet5-bootstrap-snapshot</id>
+			<url>http://maven.research-infrastructures.eu/nexus/content/repositories/dnet5-bootstrap-snapshot/</url>
+		</pluginRepository>
+	</pluginRepositories>
+
+	<dependencies>
+
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>dnet-pace-core</artifactId>
+			<version>2.5.0-SNAPSHOT</version>
+		</dependency>
+
+		<dependency>
+			<groupId>eu.dnetlib</groupId>
+			<artifactId>dnet-core-components</artifactId>
+			<version>1.0.0-SNAPSHOT</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.solr</groupId>
+			<artifactId>solr-solrj</artifactId>
+			<version>${apache.solr.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>wstx-asl</artifactId>
+					<groupId>org.codehaus.woodstox</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>jcl-over-slf4j</artifactId>
+					<groupId>org.slf4j</groupId>
+				</exclusion>
+				<exclusion>
+					<artifactId>slf4j-api</artifactId>
+					<groupId>org.slf4j</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>dom4j</groupId>
+			<artifactId>dom4j</artifactId>
+			<version>${dom4j.version}</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>xml-apis</artifactId>
+					<groupId>xml-apis</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<dependency>
+			<groupId>jaxen</groupId>
+			<artifactId>jaxen</artifactId>
+			<version>1.1.6</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.commons</groupId>
+			<artifactId>commons-lang3</artifactId>
+			<version>${commons.lang.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>commons-codec</groupId>
+			<artifactId>commons-codec</artifactId>
+			<version>1.8</version>
+		</dependency>
+		<dependency>
+			<groupId>com.google.protobuf</groupId>
+			<artifactId>protobuf-java</artifactId>
+			<version>${google.protobuf.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-context</artifactId>
+			<version>${spring.version}</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.mockito</groupId>
+			<artifactId>mockito-core</artifactId>
+			<version>${mockito.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-test</artifactId>
+			<version>${spring.version}</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>${junit.version}</version>
+			<scope>test</scope>
+        </dependency>
+	</dependencies>
+</project>
Index: modules/dnet-graph-domain/trunk
===================================================================
--- modules/dnet-graph-domain/trunk	(nonexistent)
+++ modules/dnet-graph-domain/trunk	(revision 51225)

Property changes on: modules/dnet-graph-domain/trunk
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,6 ##
+.project
+target
+src/gen
+.settings
+.classpath
+*.iml
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteSingleActionSet.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteSingleActionSet.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteSingleActionSet.xml	(revision 51225)
@@ -0,0 +1,52 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="54ee1986-50a3-4e5b-a0d3-b411b12c7329_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="promoteSingleActionSetJob" type="mapreduce">
+			<DESCRIPTION>map only job that imports the inference actions in the main hbase table</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.actions2.PromoteSingleActionSetMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+
+				<PROPERTY key="mapred.output.compress" value="true"/>
+				<PROPERTY key="mapred.output.compression.type" value="BLOCK"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="0"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!-- <PROPERTY key="job.lib" value="/lib/dnet/snapshots/dnet-mapreduce-jobs-assembly-0.0.8.5-SNAPSHOT-exportIds.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs"/>
+				<PARAM name="hbase.mapred.outputtable" required="true" description="source hbase table"/>
+			</JOB_INTERFACE>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/model/gt/AuthorTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/model/gt/AuthorTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/model/gt/AuthorTest.java	(revision 51225)
@@ -0,0 +1,52 @@
+package eu.dnetlib.pace.model.gt;
+
+import com.google.common.collect.Sets;
+import org.junit.Test;
+
+import java.util.Set;
+
+import static org.junit.Assert.assertTrue;
+
+public class AuthorTest {
+
+	@Test
+	public void test() {
+		final Set<Author> s1 = getAuthors(3);
+		final Set<Author> s2 = getAuthors(3);
+
+		final Set<Author> i = Sets.intersection(s1, s2);
+
+		System.out.println(i);
+
+		assertTrue(i.size() == 3);
+
+	}
+
+	@Test
+	public void test1() {
+		final Authors a1 = new Authors(a("1", "Wang, M."));
+		final Authors a2 = new Authors(a("1", "Wang, M."));
+
+		final Set<Author> i = Sets.intersection(a1, a2);
+
+		assertTrue(i.size() == 1);
+
+	}
+
+	private Set<Author> getAuthors(final int n) {
+		final Set<Author> s = Sets.newHashSet();
+
+		for (int i = 0; i < n; i++) {
+			s.add(a(i + "", "name" + i));
+		}
+		return s;
+	}
+
+	private Author a(final String id, final String fullname) {
+		final Author a = new Author();
+		a.setId(id);
+		a.setFullname(fullname);
+		return a;
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/copyTableJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/copyTableJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/copyTableJob.xml	(revision 51225)
@@ -0,0 +1,41 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="cd176186-58ba-44b7-ae7e-25994c0c95bb_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="copytable" type="admin">
+ 			<DESCRIPTION>copies a table on the same cluster or on a remote one, mimics http://hbase.apache.org/book/ops_mgt.html#copytable</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="new.name" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="peer.adr" required="false" description="target hbase quorum" />
+        	</JOB_INTERFACE>
+        	<SCAN caching="100">
+          		<FILTERS />
+        		<FAMILIES />      		
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/datasources_organizations_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/datasources_organizations_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/datasources_organizations_relations.xml	(revision 51225)
@@ -0,0 +1,35 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="bf12ea02-8d59-49f0-bba4-cdbb5b741981_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="datasource_organization">dnet:datasource_organization_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Datasource and Organization entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isProvidedBy" encoding="datasource_organization_isProvidedBy" english_name="is provided by"
+                      native_name="is provided by">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="provides"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="provides" encoding="datasource_organization_provides" english_name="provides"
+                      native_name="provides">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isProvidedBy"/>
+					</RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/distance/DetectorTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/distance/DetectorTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/pace/distance/DetectorTest.java	(revision 51225)
@@ -0,0 +1,427 @@
+package eu.dnetlib.pace.distance;
+
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import eu.dnetlib.pace.distance.eval.ScoreResult;
+import org.junit.Test;
+
+import com.google.common.collect.Lists;
+
+import eu.dnetlib.pace.AbstractProtoPaceTest;
+import eu.dnetlib.pace.config.Config;
+import eu.dnetlib.pace.model.MapDocument;
+
+public class DetectorTest extends AbstractProtoPaceTest {
+
+	@Test
+	public void testScoreResult() {
+		final Config config = getResultProdConf();
+
+		final MapDocument resA = result(config, "A", "Recent results from CDFsd");
+		final MapDocument resB = result(config, "B", "Recent results from CDF");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+
+		System.out.println(sr.toString());
+	}
+
+	@Test
+	public void testDistanceResultSimple() {
+		final Config config = getResultSimpleConf();
+
+		final MapDocument resA = result(config, "A", "Recent results from CDF");
+		final MapDocument resB = result(config, "B", "Recent results from CDF");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultSimpleMissingDates() {
+		final Config config = getResultSimpleConf();
+
+		final MapDocument resA = result(config, "A", "Recent results from BES");
+		final MapDocument resB = result(config, "A", "Recent results from CES");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d > 0.97);
+	}
+
+	@Test
+	public void testDistanceResultInvalidDate() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "title title title 6BESR", "2013-01-05");
+		final MapDocument resB = result(config, "B", "title title title 6BESR", "qwerty");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultMissingOneDate() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "title title title 6BESR", null);
+		final MapDocument resB = result(config, "B", "title title title 6CLER", "2012-02");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue((d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceResult() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "title title title BES", "");
+		final MapDocument resB = result(config, "B", "title title title CLEO");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue((d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceResultMissingTwoDate() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "title title title 6BESR");
+		final MapDocument resB = result(config, "B", "title title title 6CLER");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue((d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceOrganizationIgnoreMissing() {
+
+		final Config config = getOrganizationSimpleConf();
+
+		final MapDocument orgA = organization(config, "A", "CONSIGLIO NAZIONALE DELLE RICERCHE");
+		final MapDocument orgB = organization(config, "B", "CONSIGLIO NAZIONALE DELLE RICERCHE", "CNR");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(orgA, orgB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultCase1() {
+
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs boson", "2003");
+		final MapDocument resB = result(config, "B", "Search for the Standard Model Higgs Boson", "2003");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue((d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch1() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs boson", "2003", "10.1594/PANGAEA.726855");
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", "10.1594/PANGAEA.726855");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("exact DOIs will produce an exact match", d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch2() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1594/PANGAEA.726855");
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2005", "10.1594/PANGAEA.726855");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("exact DOIs will produce an exact match, regardless of different titles or publication years", d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch3() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1016/j.jmb.2010.12.024");
+		final MapDocument resB = result(config, "B", "Conference proceedings on X. Appendix", "2003");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("a missing DOI will casue the comparsion to continue with the following conditions", d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch4() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1016/j.jmb.2010.12.024");
+		final MapDocument resB = result(config, "B", "Conference proceedings on X. Appendix", "2005");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("a missing DOI, comparsion continues with the following conditions, different publication years will drop the score to 0", d == 0.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch5() {
+
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Search for the Standard Model Higgs Boson", "2003", "10.1016/j.jmb.2010.12.020");
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("a missing DOI, comparsion continues with the following conditions", (d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch6() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1016/j.jmb.2010.12.024");
+		final MapDocument resB = result(config, "B", "Conference proceedings on X. Appendix", "2003", "anotherDifferentDOI");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("different DOIs will drop the score to 0, regardless of the other fields", d == 0.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseDoiMatch7() {
+		final Config config = getResultConf();
+
+		final MapDocument resA = result(config, "A", "Adrenal Insufficiency asd asd", "1951", Lists.newArrayList("PMC2037944", "axdsds"));
+		final MapDocument resB = result(config, "B", "Adrenal Insufficiency", "1951", "PMC2037944");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue("different DOIs will drop the score to 0, regardless of the other fields", d > 0.9 & d < 1);
+	}
+
+	// http://dx.doi.org/10.1594/PANGAEA.726855 doi:10.1594/PANGAEA.726855
+
+	@Test
+	public void testDistanceResultCaseAuthor1() {
+
+		final Config config = getResultAuthorsConf();
+
+		final List<String> authorsA = Lists.newArrayList("a", "b", "c", "d");
+		final List<String> authorsB = Lists.newArrayList("a", "b", "c");
+		final List<String> pid = Lists.newArrayList();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", pid, authorsA);
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", pid, authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 0.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseAuthor2() {
+
+		final Config config = getResultAuthorsConf();
+
+		final List<String> authorsA = Lists.newArrayList("a", "b", "c");
+		final List<String> authorsB = Lists.newArrayList("a", "b", "c");
+		final List<String> pid = Lists.newArrayList();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", pid, authorsA);
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", pid, authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 1.0);
+	}
+
+	@Test
+	public void testDistanceResultCaseAuthor3() {
+
+		final Config config = getResultAuthorsConf();
+
+		final List<String> authorsA = Lists.newArrayList("Bardi, A.", "Manghi, P.", "Artini, M.");
+		final List<String> authorsB = Lists.newArrayList("Bardi Alessia", "Manghi Paolo", "Artini Michele");
+		final List<String> pid = Lists.newArrayList();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", pid, authorsA);
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", pid, authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue((d > 0.9) && (d < 1.0));
+	}
+
+	@Test
+	public void testDistanceResultCaseAuthor4() {
+
+		final Config config = getResultAuthorsConf();
+
+		final List<String> authorsA = Lists.newArrayList("Bardi, Alessia", "Manghi, Paolo", "Artini, Michele", "a");
+		final List<String> authorsB = Lists.newArrayList("Bardi Alessia", "Manghi Paolo", "Artini Michele");
+		final List<String> pid = Lists.newArrayList();
+
+		final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", pid, authorsA);
+		final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", pid, authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		// assertTrue(d.getScore() == 0.0);
+	}
+
+	@Test
+	public void testDistanceResultFullConf() {
+
+		final Config config = getResultFullConf();
+
+		final List<String> authorsA = Lists.newArrayList("Nagarajan Pranesh", "Guy Vautier", "Punyanganie de Silva");
+		final List<String> authorsB = Lists.newArrayList("Pranesh Nagarajan", "Vautier Guy", "de Silva Punyanganie");
+
+		final MapDocument resA =
+				result(config, "A", "Presentations of perforated colonic pathology in patients with polymyalgia rheumatica: two case reports", "2010",
+						"10.1186/1752-1947-4-299", authorsA);
+
+		final MapDocument resB =
+				result(config, "B", "Presentations of perforated colonic pathology in patients with polymyalgia rheumatica: two case reports", "2010",
+						"10.1186/1752-1947-4-299", authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		// assertTrue(d.getScore() == 0.0);
+	}
+
+	@Test
+	public void testDistanceProdConf1() {
+
+		final Config config = getResultProdConf();
+
+		final MapDocument resA =
+				result(config,
+						"A",
+						" Analysis of Transfer Embryo-Derived de-duplication");
+		final MapDocument resB =
+				result(config,
+						"B",
+						" Analysis of Transfer Embryo Derived deduplication");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		// assertTrue(d.getScore() == 0.0);
+	}
+
+	@Test
+	public void testDistanceProdConf2() {
+
+		final Config config = getResultProdConf();
+
+		final MapDocument resA =
+				result(config,
+						"A",
+						"qwerty aaabbbbbbbb bbb ccc ddddd");
+		final MapDocument resB =
+				result(config,
+						"B",
+						"qwert aaabbbbbbbb bbb ccc ddddd");
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		// assertTrue(d.getScore() == 0.0);
+	}
+
+	@Test
+	public void testDistanceProdConf3() {
+
+		final Config config = getResultProdConf();
+
+		final List<String> authorsA = Lists.newArrayList("Bardi, Alessia", "Manghi, Paolo", "Artini, Michele", "a");
+		final List<String> authorsB = Lists.newArrayList("Bardi Alessia", "Manghi Paolo", "Artini Michele");
+		final List<String> pid = Lists.newArrayList();
+
+		final MapDocument resA =
+				result(config,
+						"A",
+						"qwerty aaabbbbbbbb bbb ccc ddddd", "2003", pid, authorsA);
+		final MapDocument resB =
+				result(config,
+						"B",
+						"qwert aaabbbbbbbb bbb ccc ddddd", "2003", pid, authorsB);
+
+		final ScoreResult sr = new PaceDocumentDistance().between(resA, resB, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		assertTrue(d == 0.0);
+	}
+
+	@Test
+	public void testDistancePersonConf1() {
+
+		final Config config = getPersonConf();
+
+		final MapDocument p1 = person(config, "p1_id", getPersonGT("/eu/dnetlib/pace/model/gt.author.manghi1.fo.json"));
+		final MapDocument p2 = person(config, "p2_id", getPersonGT("/eu/dnetlib/pace/model/gt.author.manghi2.fo.json"));
+
+		final ScoreResult sr = new PaceDocumentDistance().between(p1, p2, config);
+		final double d = sr.getScore();
+		System.out.println(String.format(" d ---> %s", d));
+
+		// assertTrue(d.getScore() == 0.0);
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMinDistGraphJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMinDistGraphJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMinDistGraphJob.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="de888da6-2d10-4d42-a624-a44d4083414a_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="dedupMinDistGraphJob" type="mapreduce">
+			<DESCRIPTION>map reduce job that finds the minimum vertex in each connected component in the input graph (as adjacency lists)</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.MindistSearchMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable"/>
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.MindistSearchReducer"/>
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.output.value.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.compress.map.output" value="false"/>
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="1"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs"/>
+				<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs"/>
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS/>
+				<FAMILIES/>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_dataset_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_dataset_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_dataset_relations.xml	(revision 51225)
@@ -0,0 +1,137 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="4d7f3ae0-0aa1-4e50-9599-0349bb3179f7_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="publication_dataset">dnet:publication_dataset_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Publications and Dataset entities
+            </ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isRelatedTo" encoding="publication_dataset_isRelatedTo" english_name="is related to"
+                      native_name="is related to">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isRelatedTo"/>
+                    </RELATIONS>
+                </TERM>
+
+                <TERM code="isReferencedBy" encoding="publication_dataset_isReferencedBy"
+                      english_name="is referenced by"
+                      native_name="is referenced by">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="references"/>
+                    </RELATIONS>
+                </TERM>
+
+                <TERM code="references" encoding="publication_dataset_references" english_name="references"
+                      native_name="references">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isReferencedBy"/>
+                    </RELATIONS>
+                </TERM>
+
+                <TERM code="unknown" encoding="publication_dataset_unknown" english_name="unknown"
+                      native_name="references">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="unknown"/>
+                    </RELATIONS>
+                </TERM>
+
+
+	            <TERM code="isSupplementTo" encoding="publication_dataset_isSupplementTo" english_name="is supplement to" native_name="is supplement to">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isSupplementedBy"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isSupplementedBy" encoding="publication_dataset_isSupplementedBy" english_name="is supplemented by" native_name="is supplemented by">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isSupplementTo"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isDerivedFrom" encoding="publication_dataset_isDerivedFrom" english_name="is derived from" native_name="is derived from">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="derives"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="derives" encoding="publication_dataset_derives" english_name="derives" native_name="derives">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isDerivedFrom"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isPreviousVersionOf" encoding="publication_dataset_isPreviousVersionOf" english_name="is Previous Version Of"
+	                  native_name="is Previous Version Of">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isNewVersionOf"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isNewVersionOf" encoding="publication_dataset_isNewVersionOf" english_name="is New Version Of"
+	                  native_name="is New Version Of">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isPreviousVersionOf"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isDocumentedBy" encoding="publication_dataset_isDocumentedBy" english_name="is documented by" native_name="is documented by">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="documents"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="documents" encoding="publication_dataset_documents" english_name="documents" native_name="documents">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isDocumentedBy"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="isVariantFormOf" encoding="publication_dataset_isVariantFormOf" english_name="is variant form of" native_name="is variant form of">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isVariantFormOf"/>
+		            </RELATIONS>
+	            </TERM>
+
+	            <TERM code="cites" encoding="publication_dataset_cites" english_name="cites"
+	                  native_name="cites">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isCitedBy"/>
+		            </RELATIONS>
+	            </TERM>
+	            <TERM code="isCitedBy" encoding="publication_dataset_isCitedBy" english_name="is Cited By"
+	                  native_name="is Cited By">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="cites"/>
+		            </RELATIONS>
+	            </TERM>
+
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_person_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_person_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_person_relations.xml	(revision 51225)
@@ -0,0 +1,48 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="b8defa31-9f95-4d11-8472-532146936b48_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="person_person">dnet:person_person_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Person and Person entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isCoAuthorOf" encoding="person_person_isCoauthorOf" english_name="is coauthor of"
+                      native_name="is coauthor of">
+                    <SYNONYMS/>
+         			<RELATIONS>
+						<RELATION type="inverseOf" code="isCoAuthorOf"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="merges" encoding="person_person_merges" english_name="merges" native_name="merges">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isMergedIn"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isMergedIn" encoding="person_person_isMergedIn" english_name="is Merged In"
+                      native_name="is Merged In">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="merges"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isSimilarTo" encoding="person_person_isSimilarTo" english_name="is similar to"
+                      native_name="is similar to">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isSimilarTo"/>
+					</RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_dataset_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_dataset_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_dataset_relations.xml	(revision 51225)
@@ -0,0 +1,51 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="8da92a71-4127-48d2-a1ba-a918cd026767_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="person_dataset">dnet:person_result_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Publication and Person entities
+            </ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isAuthorOf" encoding="person_dataset_isAuthorOf" english_name="author of"
+                      native_name="author of">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="hasAuthor"/>
+                    </RELATIONS>
+                </TERM>
+                <TERM code="hasAuthor" encoding="person_dataset_hasAuthor" english_name="has author"
+                      native_name="has author">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isAuthorOf"/>
+                    </RELATIONS>
+                </TERM>
+                <TERM code="isContributorOf" encoding="person_dataset_isContributorOf" english_name="contributor of"
+                      native_name="contributor of">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="hasContributor"/>
+                    </RELATIONS>
+                </TERM>
+                <TERM code="hasContributor" encoding="person_dataset_hasContributor" english_name="has contributor"
+                      native_name="has contributor">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isContributorOf"/>
+                    </RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupIndexFeedJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupIndexFeedJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupIndexFeedJob.xml	(revision 51225)
@@ -0,0 +1,69 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="fa0e188c-aec4-4877-93b4-43e3c5acae1d_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupIndexFeedJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that updates the dedup index</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.index.DedupIndexFeedMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+				
+				<!-- JOB GLOBAL -->		
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text"/>
+				
+				<!-- MISC -->					
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<PROPERTY key="mapred.fairscheduler.pool" value="solr"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+	       		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="mapred.output.dir" required="true" description="destination path on hdfs for rotten index xml records" />
+        		
+        		<PARAM name="index.solr.url" required="false" description="url used to instantiate the solr client" /> 
+       			<PARAM name="index.solr.collection" required="true" description="target solr collection to be fed" />
+
+       			<PARAM name="id" required="true" description="index DS id" />
+				<PARAM name="index.shutdown.wait.time" required="true" description="wait time before shut down the solr client pool" />
+       			<PARAM name="index.buffer.flush.threshold" required="true" description="indexing buffer flush threshold" />
+       			<PARAM name="index.feed.timestamp" required="true" description="timestamp used as ds_version" />
+				<PARAM name="index.solr.sim.mode" required="true" description="boolean value, allows to run this job in simulation mode" />
+				<PARAM name="index.fields" required="true" description="fields from a given MDFormatDSResourceType" />
+				<PARAM name="entityType" required="true" description="entity Type name" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_publication_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_publication_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_publication_relations.xml	(revision 51225)
@@ -0,0 +1,50 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="12b8832a-0e97-43a9-b5ec-c33ff3c29778_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="person_publication">dnet:person_result_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Publication and Person entities
+            </ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isAuthorOf" encoding="person_publication_isAuthorOf" english_name="author of"
+                      native_name="author of">
+                    <SYNONYMS/>
+         			<RELATIONS>
+						<RELATION type="inverseOf" code="hasAuthor"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="hasAuthor" encoding="person_publication_hasAuthor" english_name="has author"
+                      native_name="has author">
+                    <SYNONYMS/>
+         			<RELATIONS>
+						<RELATION type="inverseOf" code="isAuthorOf"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="isContributorOf" encoding="person_publication_isContributorOf" english_name="contributor of"
+                      native_name="contributor of">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="hasContributor"/>
+                    </RELATIONS>
+                </TERM>
+                <TERM code="hasContributor" encoding="person_publication_hasContributor" english_name="has contributor"
+                      native_name="has contributor">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isContributorOf"/>
+                    </RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFDecoderTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFDecoderTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/mapreduce/util/DNGFDecoderTest.java	(revision 51225)
@@ -0,0 +1,37 @@
+package eu.dnetlib.data.mapreduce.util;
+
+import java.util.List;
+
+import eu.dnetlib.data.graph.model.DNGFDecoder;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+
+public class DNGFDecoderTest {
+
+	@Test
+	public void testAsXml() {
+
+		final DNGFDecoder decoder = DNGFTest.embed(DNGFTest.getResult("50|id_1"), Kind.entity);
+
+		assertNotNull(decoder);
+
+		assertNotNull(decoder.asXml());
+
+		System.out.println(decoder.asXml());
+
+	}
+
+	@Test
+	public void testGetFieldValues() {
+		final DNGFDecoder decoder = DNGFTest.embed(DNGFTest.getResult("50|id_1"), Kind.entity);
+
+		final String path = "publication/metadata/title/value";
+		final List<String> titles = decoder.decodeEntity().getFieldValues(path);
+
+		assertNotNull(titles);
+		assertFalse(titles.isEmpty());
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/graph/utils/RelDescriptorTest.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/graph/utils/RelDescriptorTest.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/java/eu/dnetlib/data/graph/utils/RelDescriptorTest.java	(revision 51225)
@@ -0,0 +1,48 @@
+package eu.dnetlib.data.graph.utils;
+
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+
+/**
+ * Created by claudio on 02/02/2017.
+ */
+public class RelDescriptorTest {
+
+	@Test
+	public void testRelDesriptor() {
+
+		final RelDescriptor rd = new RelDescriptor("publication_publication_isMergedIn");
+
+		assertEquals("publication_publication", rd.getOntologyCode());
+		assertEquals("publication_publication", rd.asQualifier().getSchemeid());
+		assertEquals("isMergedIn", rd.getTermCode());
+		assertEquals("isMergedIn", rd.asQualifier().getClassid());
+
+		//assertEquals(rd.getTargetId(), "50|dedup_wf_001::01d734887f7e33fc754b22de0940c4ab");
+	}
+
+	@Test
+	public void testRelDesriptorFull() {
+
+		final RelDescriptor rd = new RelDescriptor("publication_publication_isMergedIn:50|dedup_wf_001::01d734887f7e33fc754b22de0940c4ab");
+
+		assertEquals("publication_publication", rd.getOntologyCode());
+		assertEquals("publication_publication", rd.asQualifier().getSchemeid());
+		assertEquals("isMergedIn", rd.getTermCode());
+		assertEquals("isMergedIn", rd.asQualifier().getClassid());
+		assertEquals("50|dedup_wf_001::01d734887f7e33fc754b22de0940c4ab", rd.getTargetId());
+	}
+
+	@Test(expected = IllegalArgumentException.class)
+	public void testRelDesriptorMalformed() {
+
+		new RelDescriptor("asd");
+	}
+
+	@Test(expected = IllegalArgumentException.class)
+	public void testRelDesriptorEmpty() {
+
+		new RelDescriptor("");
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_publication2hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_publication2hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_publication2hbase.xml	(revision 51225)
@@ -0,0 +1,99 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="be2626f5-b879-4851-afa8-62f754889eaa_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType" />
+		<RESOURCE_KIND value="TransformationRuleDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+        <CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="oaf" layout="store" interpretation="cleaned" />
+			<SINK_METADATA_FORMAT name="oaf_hbase" />   
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_mapping_oaf_publication2hbase</TITLE>
+                <CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dc="http://purl.org/dc/elements/1.1/"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+                xmlns:exslt="http://exslt.org/common"
+                version="1.0" extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl oaf dr dri dnet exslt">
+
+    <xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+    <xsl:param name="writeCoAuthors" select="false()"/>
+
+    <xsl:template match="/*">
+        <xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+        <xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+        <xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+        <xsl:variable name="trust" select="string('0.9')"/>
+        <xsl:variable name="provenance" select="string('sysimport:crosswalk:repository')"/>
+
+        <xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+        <xsl:variable name="namespaceprefix">
+            <xsl:choose>
+
+                <!-- TODO check namespaceprefix length is 12 -->
+                <xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+	                <xsl:value-of select="//oaf:datasourceprefix"/>
+                </xsl:when>
+                <xsl:otherwise>
+	                <xsl:value-of select="unknown_"/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:variable>
+
+        <xsl:choose>
+            <!-- 			<xsl:when test="count($metadata) = 0 or string-length($namespaceprefix) = 0"> -->
+            <xsl:when test="count($metadata) = 0">
+                <ROWS/>
+            </xsl:when>
+            <xsl:otherwise>
+
+                <xsl:variable name="objIdentifier" select="//dri:objIdentifier"/>
+                <xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', //dri:objIdentifier)"/>
+
+                <xsl:if test="string-length($publicationId) &gt; 0">
+
+	                <xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+	                <xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+
+	                <xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+	                <xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+
+	                <xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']"/>
+	                <xsl:variable name="originalid">
+		                <xsl:choose>
+			                <xsl:when test="contains($originalidTest, '::')">
+				                <xsl:value-of select="substring-after($originalidTest, '::')"/>
+			                </xsl:when>
+			                <xsl:otherwise>
+				                <xsl:value-of select="$originalidTest"/>
+			                </xsl:otherwise>
+		                </xsl:choose>
+	                </xsl:variable>
+	                <ROWS>
+		                <ROW>
+			                <xsl:attribute name="value">
+				                <xsl:value-of select="dnet:oafPublication($publicationId, $provenance, $trust, $about, $hostedbyid, $hostedbyname,
+				                $collectedfromid, $collectedfromname, $originalid, $dateofcollection, $dateoftransformation, $metadata)"/>
+			                </xsl:attribute>
+		                </ROW>
+	                </ROWS>
+                </xsl:if>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+</xsl:stylesheet>
+			</CODE>
+        </SCRIPT>
+        </CONFIGURATION>
+		<STATUS />
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/prepareIndexDataJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/prepareIndexDataJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/prepareIndexDataJob.xml	(revision 51225)
@@ -0,0 +1,64 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ed8c0a4e-7cf2-49df-bfed-fcfab0699ade_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="prepareIndexDataJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that joins the entities on the hbase table and produces a sequence file containig the xml records</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.index.PrepareFeedMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.index.PrepareFeedReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />				
+				
+				<!-- MISC -->
+				<PROPERTY key="mapred.output.compress" value="false" />						
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+							
+				<PROPERTY key="mapred.reduce.tasks" value="500" />
+				<PROPERTY key="dfs.blocksize" value="256M" />
+				
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" /> 
+        		
+        		<PARAM name="index.entity.links" required="true" description="entity joiner configuration" /> 
+        		<PARAM name="contextmap" required="true" description="context map (ContextDSResources)" />        		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2updateActions.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2updateActions.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2updateActions.xml	(revision 51225)
@@ -0,0 +1,95 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a799b5eb-6a6f-427f-b7fc-2d05778a6be3_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="pmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="pmf_update_action"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_pmf2updateAction</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+                xmlns:date="java.lang.System"
+                xmlns:exslt="http://exslt.org/common"
+                version="1.0"
+                extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl dc dr dri oaa oaf dnet exslt date">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:param name="trust" select="string('0.9')"/>
+	<xsl:param name="provenance" select="string('UNKNOWN')"/>
+	<xsl:param name="namespaceprefix" select="string('unknown_____')"/>
+
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+		<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+		<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+		<xsl:variable name="collectedDatasourceid">
+			<xsl:choose>
+				<xsl:when test="string-length(//oaf:collectedDatasourceid) &gt; 0">
+					<xsl:value-of select="//oaf:collectedDatasourceid"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="UNKNOWN"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="count($metadata) = 0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+
+				<xsl:variable name="objidentifier" select="/record/*[local-name() = 'header']/*[local-name() = 'objIdentifier']"/>
+				<xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', $objidentifier)"/>
+
+				<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+				<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+
+				<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+				<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+
+				<xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']"/>
+				<xsl:variable name="originalid">
+					<xsl:choose>
+						<xsl:when test="contains($originalidTest, '::')">
+							<xsl:value-of select="substring-after($originalidTest, '::')"/>
+						</xsl:when>
+						<xsl:otherwise>
+							<xsl:value-of select="$originalidTest"/>
+						</xsl:otherwise>
+					</xsl:choose>
+				</xsl:variable>
+
+				<ROWS>
+					<ROW mode="update">
+						<xsl:attribute name="value">
+							<xsl:value-of select="dnet:oafPublication($publicationId, $provenance, $trust, $about, $hostedbyid, $hostedbyname,
+	                            $collectedfromid, $collectedfromname, $originalid, $dateofcollection, $dateoftransformation, $metadata)"/>
+						</xsl:attribute>
+					</ROW>
+				</ROWS>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/coauthorUpdateJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/coauthorUpdateJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/coauthorUpdateJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="6d91b311-a7fd-48ff-98d2-1fed70850e3a_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="coauthorUpdateJob" type="mapreduce">
+ 			<DESCRIPTION>update coauthors using a map {merged author id --> anchorId}</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.inputformat.class"	value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />			
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.CoAuthorUpdateMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+				
+				
+				<!-- MISC -->
+				<PROPERTY key="mapred.output.compress" value="false" />
+				<PROPERTY key="mapred.compress.map.output" value="true" />	
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+							
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" /> 
+        	</JOB_INTERFACE>
+        	<SCAN>
+                <FILTERS operator="MUST_PASS_ALL">
+                    <FILTER type="prefix" value="30"/>
+                </FILTERS>
+                <FAMILIES>
+                    <FAMILY value="person"/>
+                </FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceImportJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceImportJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/informationSpaceImportJob.xml	(revision 51225)
@@ -0,0 +1,50 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="b7d51a07-6996-4841-9a4a-685a044638e3_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="informationSpaceImportJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that import the whole information space table from a sequence file holding a json dump</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+				
+				<!-- MAPPER -->        	
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataimport.ImportInformationSpaceDumpMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+			
+				<!-- MISC -->
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+        		
+        		<PARAM name="mapred.input.dir" required="true" description="source sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS />
+        		<FAMILIES />
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_person2hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_person2hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf_person2hbase.xml	(revision 51225)
@@ -0,0 +1,116 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="c3e5410f-fab0-4c7a-af15-8a9447174e2d_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType" />
+		<RESOURCE_KIND value="TransformationRuleDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+        <CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="oaf" layout="store" interpretation="cleaned" />
+			<SINK_METADATA_FORMAT name="oaf_hbase" />          
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_mapping_oaf_person2hbase</TITLE>
+                <CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+                xmlns:exslt="http://exslt.org/common"
+                version="1.0" extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl dc dr dri oaa oaf dnet exslt">
+    
+    <xsl:output omit-xml-declaration="yes" indent="yes"/>
+    
+    <xsl:param name="writeCoAuthors" select="false()" />
+    
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+		<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+		<xsl:variable name="trust" select="string('0.9')"/>
+		<xsl:variable name="provenance" select="string('sysimport:crosswalk:repository')"/>
+		
+		<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)" />
+		<xsl:variable name="namespaceprefix">
+			<xsl:choose>
+			
+				<!-- TODO check namespaceprefix length is 12 -->
+				<xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+					<xsl:value-of select="//oaf:datasourceprefix" />
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="unknown_" />
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+	
+		<xsl:choose>
+			<xsl:when test="count($metadata) = 0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+
+				<xsl:variable name="resultId" select="dnet:oafSimpleId('publication', //dri:objIdentifier)"/>
+
+				<xsl:if test="string-length($resultId) &gt; 0">
+				
+					<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)" />
+					<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name" />
+					
+					<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)" />
+					<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name" />					
+
+					<xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']" />
+					<xsl:variable name="originalid">
+						<xsl:choose>
+							<xsl:when test="contains($originalidTest, '::')">
+								<xsl:value-of select="substring-after($originalidTest, '::')" />
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$originalidTest" />
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:variable>
+					<ROWS>
+						<xsl:for-each select="//*[local-name()='creator']">
+							<xsl:if test="string-length(normalize-space(.)) &gt; 0">
+								<xsl:variable name="originalPersonId">
+									<xsl:choose>
+										<xsl:when test="string-length(@nameIdentifier) &gt; 0">
+											<xsl:value-of select="normalize-space(@nameIdentifier)"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="concat($originalid, '::', normalize-space(.))"/>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:variable>
+								<xsl:variable name="personId" select="dnet:oafId('person', $namespaceprefix, $originalPersonId)"/>
+								<xsl:variable name="position" select="position()"/>
+
+								<xsl:if test="string-length($personId) &gt; 0">
+									<ROW>
+										<xsl:attribute name="value">
+											<xsl:value-of select="dnet:person($personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname,
+								              $originalPersonId, $dateofcollection, $dateoftransformation, normalize-space(.), @nameIdentifier, @nameIdentifierScheme)"/>
+										</xsl:attribute>
+									</ROW>
+								</xsl:if>
+							</xsl:if>
+						</xsl:for-each>
+					</ROWS>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+	</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+		<STATUS />
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.json
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.json	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.json	(revision 51225)
@@ -0,0 +1 @@
+{"id":"30|dedup_wf_001::9044d2ebdd6112d84e5ff279ae3d0a26","author":{"frequency":2,"id":"30|od______1457::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},"merged":[{"id":"30|od______1457::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"},{"score":1.0,"id":"30|od_______307::9897283f935d7c2f4c11cebf65ae3098","fullname":"Manghi, Paolo","firstname":"Paolo","secondnames":"Manghi"}],"coAuthors":[{"anchorId":"30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b","id":"30|od_______307::e0c601b1613eec62abb99e2591168fba","fullname":"Rodrigues, Eloy","firstname":"Eloy","secondnames":"Rodrigues"},{"anchorId":"30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d","id":"30|od_______307::ef2914f870d83e32764f2e0db122d0c4","fullname":"Houssos, Nikos","firstname":"Nikos","secondnames":"Houssos"},{"anchorId":"30|dedup_wf_001::958d36ee987d35f7d0a4f74a7ad10680","id":"30|od______1457::980daed35d7008f6f4de325f235fde65","fullname":"Príncipe, Pedro","firstname":"Pedro","secondnames":"Príncipe"},{"anchorId":"30|dedup_wf_001::4fe9f7dd4a96f983dcc8f17436238ba6","id":"30|od_______307::ae2f5173f1f1745e8521107ffd9e37ae","fullname":"Dvořák, Jan","firstname":"Jan","secondnames":"Dvořák"},{"anchorId":"30|dedup_wf_001::d09e46b26192d335be7aef7ddcbc9c0c","id":"30|od_______307::56bbbdcfbdda05ec257fabc0c7a596cc","fullname":"Elbæk, Mikael Karstensen","firstname":"Mikael Karstensen","secondnames":"Elbæk"},{"anchorId":"30|dedup_wf_001::d09e46b26192d335be7aef7ddcbc9c0c","id":"30|od______1457::56bbbdcfbdda05ec257fabc0c7a596cc","fullname":"Elbæk, Mikael Karstensen","firstname":"Mikael Karstensen","secondnames":"Elbæk"},{"anchorId":"30|dedup_wf_001::958d36ee987d35f7d0a4f74a7ad10680","id":"30|od_______307::980daed35d7008f6f4de325f235fde65","fullname":"Príncipe, Pedro","firstname":"Pedro","secondnames":"Príncipe"},{"anchorId":"30|dedup_wf_001::29611ace913f53e57c9201010b24434b","id":"30|od______1457::99d2bbd6eb21de2603f2d355875fe7b2","fullname":"Jörg, Brigitte","firstname":"Brigitte","secondnames":"Jörg"},{"anchorId":"30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d","id":"30|od______1457::ef2914f870d83e32764f2e0db122d0c4","fullname":"Houssos, Nikos","firstname":"Nikos","secondnames":"Houssos"},{"anchorId":"30|dedup_wf_001::29611ace913f53e57c9201010b24434b","id":"30|od_______307::99d2bbd6eb21de2603f2d355875fe7b2","fullname":"Jörg, Brigitte","firstname":"Brigitte","secondnames":"Jörg"},{"anchorId":"30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b","id":"30|od______1457::e0c601b1613eec62abb99e2591168fba","fullname":"Rodrigues, Eloy","firstname":"Eloy","secondnames":"Rodrigues"},{"anchorId":"30|dedup_wf_001::4fe9f7dd4a96f983dcc8f17436238ba6","id":"30|od______1457::ae2f5173f1f1745e8521107ffd9e37ae","fullname":"Dvořák, Jan","firstname":"Jan","secondnames":"Dvořák"}],"anchor":true}
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectorganization_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectorganization_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectorganization_2_hbase.xml	(revision 51225)
@@ -0,0 +1,54 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="621df4c6-ff71-4c1c-82bf-67a64c850be6_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_projectOrganization2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="projectId" select="dnet:oafSplitId('project', //FIELD[@name = 'project'])"/>
+		<xsl:variable name="organizationId" select="dnet:oafSplitId('organization', //FIELD[@name = 'resporganization'])"/>
+
+		<ROWS>
+			<xsl:if test="string-length($projectId) &gt; 0 and string-length($organizationId) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($projectId, $organizationId, //FIELD[not(@isNull)], 'hasParticipant', 'project_organization')"/>
+					</xsl:attribute>
+				</ROW>
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($organizationId, $projectId, //FIELD[not(@isNull)], 'isParticipant', 'project_organization')"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.pace.conf
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/result.pace.conf	(revision 51225)
@@ -0,0 +1,29 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "result", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "result" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {
+		"strictConditions" : [
+  			{ "name" : "pidMatch", "fields" : [ "pid" ] }
+  		],	
+		"conditions" : [
+  			{ "name" : "yearMatch", "fields" : [ "dateofacceptance" ] },
+  			{ "name" : "titleVersionMatch", "fields" : [ "title" ] }		
+  		 ],		
+		"model" : [
+			{ "name" : "pid", "algo" : "Null", "type" : "JSON", "weight" : "0.0", "ignoreMissing" : "true", "path" : "pid", "overrideMatch" : "true" },
+			{ "name" : "title", "algo" : "JaroWinkler", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "publication/metadata/title[qualifier#classid = {main title}]/value" },
+			{ "name" : "dateofacceptance", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "publication/metadata/dateofacceptance/value" }
+		],
+		"blacklists" : { } 		
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/organizations_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/organizations_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/organizations_2_hbase.xml	(revision 51225)
@@ -0,0 +1,52 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="4ef23346-95e3-4357-a4bf-e26d7c9c1b82_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_organizations2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="originalid" select="//FIELD[@name = 'organizationid']"/>
+		<xsl:variable name="organizationid" select="dnet:oafSplitId('organization', $originalid)"/>
+		<xsl:variable name="dateofcollection" select="//FIELD[@name = 'dateofcollection']"/>
+		<xsl:variable name="dateoftransformation" select="//FIELD[@name = 'dateoftransformation']"/>
+		<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //FIELD[@name = 'collectedfromid'])"/>
+		<xsl:variable name="collectedfromname" select="//FIELD[@name = 'collectedfromname']"/>
+		<ROWS>
+			<xsl:if test="string-length($organizationid) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:oafEntity($organizationid, $collectedfromid, $collectedfromname,
+						$originalid, $dateofcollection, $dateoftransformation, //FIELD[not(@isNull)])"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/resetDedupJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/resetDedupJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/resetDedupJob.xml	(revision 51225)
@@ -0,0 +1,47 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="bc4f377a-af07-403d-a019-af60aa557652_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="resetDedupJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that reset the dedup jobs</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"  />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />		
+
+				<!-- MAPPER -->        	
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.reset.HBaseResetMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"  />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Mutation"  />
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"  />
+				<PROPERTY key="mapreduce.map.speculative" value="false"  />
+				<PROPERTY key="mapred.reduce.tasks" value="0"  />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+				
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />        		
+        	</JOB_INTERFACE>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeCoAuthors.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeCoAuthors.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeCoAuthors.xml	(revision 51225)
@@ -0,0 +1,62 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="141e7add-0765-4679-b04d-c9668c011003_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="mergeCoAuthorsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that build the roots and redirects the rels</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataimport.CoAuthorMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dataimport.CoAuthorReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+	
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+				
+				<PROPERTY key="max.coauthors" value="50" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="100" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+	
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />        		
+        	</JOB_INTERFACE>
+        	<SCAN caching="10">
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES/>        		
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/organization.pace.conf
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/organization.pace.conf	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/pace/organization.pace.conf	(revision 51225)
@@ -0,0 +1,21 @@
+{ 
+	"wf" : { 
+        "threshold" : "0.99", 
+        "run" : "001", 
+        "entityType" : "organization", 
+        "orderField" : "title", 
+        "queueMaxSize" : "2000",
+        "groupMaxSize" : "10",
+        "slidingWindowSize" : "200",
+        "rootBuilder" : [ "organization" ],
+        "includeChildren" : "true" 
+    },
+	"pace" : {		
+  		"conditions" : [ ],		
+		"model" : [
+			{ "name" : "legalname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.6", "ignoreMissing" : "false", "path" : "organization/metadata/legalname/value" },
+			{ "name" : "legalshortname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.4", "ignoreMissing" : "true", "path" : "organization/metadata/legalshortname/value" }
+		],
+		"blacklists" : { } 		
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/organization_organizations_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/organization_organizations_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/organization_organizations_relations.xml	(revision 51225)
@@ -0,0 +1,42 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="3bedf36c-de3b-4fae-a77a-ab9bee6e2718_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="organization_organization">dnet:organization_organizations_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Organization entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="merges" encoding="organization_organization_relations_merges" english_name="merges"
+                      native_name="merges">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isMergedIn"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isMergedIn" encoding="organization_organization_relations_isMergedIn"
+                      english_name="is Merged In" native_name="is Merged In">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="merges"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isSimilarTo" encoding="organization_organization_relations_isSimilarTo"
+                      english_name="is similar to" native_name="is similar to">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isSimilarTo"/>
+					</RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/transform/record.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/transform/record.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/eu/dnetlib/data/transform/record.xml	(revision 51225)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<record xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:prov="http://www.openarchives.org/OAI/2.0/provenance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:dr="http://www.driver-repository.eu/namespace/dr" xmlns:oaf="http://namespace.openaire.eu/oaf">
+  <header xmlns="http://namespace.openaire.eu/">
+    <dri:objIdentifier>od______1064::fe947e59cf7db2f039b4c8cc25693fb0</dri:objIdentifier>
+    <dri:recordIdentifier>95168db1-d57e-4b99-855b-993cf91d1283_TURTdG9yZURTUmVzb3VyY2VzL01EU3RvcmVEU1Jlc291cmNlVHlwZQ==::oai:ora.ouls.ox.ac.uk:uuid:5d8f6cbb-1283-4957-8c55-48a4024bed76</dri:recordIdentifier>
+    <dri:dateOfCollection/>
+    <dri:mdFormat/>
+    <dri:mdFormatInterpretation/>
+    <dri:repositoryId>2a02b271-0756-453c-b2f0-8c472a8806a5_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU=</dri:repositoryId>
+    <dr:objectIdentifier/>
+    <dr:dateOfCollection>2013-05-10T16:04:02Z</dr:dateOfCollection>
+    <oaf:datasourceprefix>od______1064</oaf:datasourceprefix>
+  </header>
+  <metadata xmlns="http://namespace.openaire.eu/">
+    <dc:creator>Uphoff, S</dc:creator>
+    <dc:creator>Holden, SJ</dc:creator>
+    <dc:dateAccepted>2011-01-01</dc:dateAccepted>
+    <dc:description>The analysis of structure and dynamics of biomolecules is important for understanding their function. Toward this aim, we introduce a method called 'switchable FRET', which combines single-molecule fluorescence resonance energy transfer (FRET) with reversible photoswitching of fluorophores. Typically, single-molecule FRET is measured within a single donor-acceptor pair and reports on only one distance. Although multipair FRET approaches that monitor multiple distances have been developed, they are technically challenging and difficult to extend, mainly because of their reliance on spectrally distinct acceptors. In contrast, switchable FRET sequentially probes FRET between a single donor and spectrally identical photoswitchable acceptors, dramatically reducing the experimental and analytical complexity and enabling direct monitoring of multiple distances. Our experiments on DNA molecules, a protein-DNA complex and dynamic Holliday junctions demonstrate the potential of switchable FRET for studying dynamic, multicomponent biomolecules.          </dc:description>
+    <dc:identifier>http://pub.uni-bielefeld.de/publication/2303387</dc:identifier>
+    <dc:language>eng</dc:language>
+    <dc:title>Monitoring multiple distances within a single molecule using switchable FRET.</dc:title>
+    <dc:source>Symplectic Elements at Oxford</dc:source>
+    <dc:source>PubMed (http://www.ncbi.nlm.nih.gov/pubmed/)</dc:source>
+    <dc:source>Web of Science (Lite) (http://apps.webofknowledge.com/summary.do)</dc:source>
+    <dc:subject>Biotinylation</dc:subject>
+    <dc:subject>Computer Simulation</dc:subject>
+    <dr:CobjCategory>0001</dr:CobjCategory>
+    <dr:CobjIdentifier>urn:uuid:5d8f6cbb-1283-4957-8c55-48a4024bed76</dr:CobjIdentifier>
+    <dr:CobjIdentifier>pii:nmeth.1502</dr:CobjIdentifier>
+    <dr:CobjIdentifier>local:71163</dr:CobjIdentifier>
+    <dr:CobjIdentifier>eissn:1548-7105</dr:CobjIdentifier>
+    <dr:CobjIdentifier>doi:10.1038/nmeth.1502</dr:CobjIdentifier>
+    <dr:CobjIdentifier>issn:1548-7091</dr:CobjIdentifier>
+    <oaf:accessrights>EMBARGO</oaf:accessrights>
+    <oaf:collectedDatasourceid>issn____::12345678</oaf:collectedDatasourceid>
+	<oaf:hostedBy name="DOAJ" id="doaj____::1234"/>
+    <oaf:collectedFrom name="My favourite journal" id="issn____::12345678"/>
+    <oaf:fulltext>http://xyz</oaf:fulltext>
+    <oaf:journal issn="12345678" eissn="e1234567" lissn="l1234567">My favourite journal</oaf:journal>
+    <oaf:journal issn="12345678" eissn="e1234567">My second favourite journal</oaf:journal>  
+    <oaf:identifier identifierType="doi">10.1038/nmeth.1502</oaf:identifier>
+    <oaf:reference identifier="IPR004915" query="http://www.ebi.ac.uk/europepmc/webservices/rest/PMC/PMC155133/databaseLinks/INTERPRO/1/json" source="INTERPRO" title="Nonstructural protein NS-S, bunyaviral" type="dataset">http://www.ebi.ac.uk/interpro/entry/IPR004915</oaf:reference>
+	<oaf:reference identifier="IPRXXXXXX" query="http://www.ebi.ac.uk/europepmc/webservices/rest/PMC/PMCYYYYYY/databaseLinks/INTERPRO/2/json" source="INTERPRO" title="Nonstructural protein XY-S, bunyaviral" type="dataset">http://www.ebi.ac.uk/interpro/entry/TTTTTTTTT</oaf:reference>  
+  </metadata>
+</record>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/test/resources/META-inf.services/javax.xml.transform.TransformerFactory
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/test/resources/META-inf.services/javax.xml.transform.TransformerFactory	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/test/resources/META-inf.services/javax.xml.transform.TransformerFactory	(revision 51225)
@@ -0,0 +1 @@
+net.sf.saxon.TransformerFactoryImpl
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/dataset_project_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/dataset_project_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/dataset_project_relations.xml	(revision 51225)
@@ -0,0 +1,37 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="730516f2-7b23-438c-89c5-b0c27eec81f1_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="dataset_publication">dnet:dataset_publication_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Dataset and Project entities
+            </ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isProducedBy" encoding="dataset_publication_isProducedBy" english_name="is produced by"
+                      native_name="is produced by">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="produces"/>
+                    </RELATIONS>
+                </TERM>
+                <TERM code="produces" encoding="dataset_publication_produces" english_name="produces"
+                      native_name="produces">
+                    <SYNONYMS/>
+                    <RELATIONS>
+                        <RELATION type="inverseOf" code="isProducedBy"/>
+                    </RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_project_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_project_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_project_relations.xml	(revision 51225)
@@ -0,0 +1,36 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4f06cc59-6eca-4492-a2d1-ac2a80682ec3_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="publication_project">dnet:publication_project_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Publication and Project entities
+            </ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isProducedBy" encoding="publication_project_isProducedBy" english_name="is produced by"
+                      native_name="is produced by">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="produces"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="produces" encoding="publication_project_produces" english_name="produces"
+                      native_name="produces">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isProducedBy"/>
+					</RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/AbstractProtoMapper.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/AbstractProtoMapper.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/AbstractProtoMapper.java	(revision 51225)
@@ -0,0 +1,155 @@
+package eu.dnetlib.data.transform;
+
+import java.util.List;
+import java.util.Optional;
+
+import com.google.common.base.Splitter;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.protobuf.Descriptors.EnumValueDescriptor;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.GeneratedMessage;
+import com.google.protobuf.Message;
+import com.googlecode.protobuf.format.JsonFormat;
+import eu.dnetlib.pace.config.Type;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * AbstractProtoMapper provide common navigation methods on the protocolbuffers Messages.
+ *
+ * @author claudio
+ */
+public abstract class AbstractProtoMapper {
+
+	private static final String COND_WRAPPER = "\\{|\\}";
+	private static final String COND_SEPARATOR = "#";
+	/** The Constant PATH_SEPARATOR. */
+	private static final String PATH_SEPARATOR = "/";
+
+	/**
+	 * Process multi path.
+	 *
+	 * @param proto
+	 *            the proto
+	 * @param paths
+	 *            the paths
+	 * @return the list
+	 */
+	protected List<Object> processMultiPath(final GeneratedMessage proto, final List<String> paths, final Type type) {
+		final List<Object> response = Lists.newArrayList();
+		for (final String pathElements : paths) {
+			response.addAll(processPath(proto, pathElements, type));
+		}
+		return response;
+	}
+
+	/**
+	 * Process path.
+	 *
+	 * @param proto
+	 *            the proto
+	 * @param path
+	 *            the path
+	 * @return the list
+	 */
+	protected List<Object> processPath(final GeneratedMessage proto, final String path, final Type type) {
+		return processPath(proto, Lists.newLinkedList(Splitter.on(PATH_SEPARATOR).trimResults().split(path)), type);
+	}
+
+	/**
+	 * Process path.
+	 *
+	 * @param proto
+	 *            the proto
+	 * @param pathElements
+	 *            the list
+	 * @return the list
+	 */
+	protected List<Object> processPath(final GeneratedMessage proto, final List<String> pathElements, final Type type) {
+
+		final List<Object> response = Lists.newArrayList();
+
+		if (pathElements.isEmpty()) throw new RuntimeException("ProtoBuf navigation path is empty");
+
+		final String fieldPathCond = pathElements.get(0);
+
+		final String fieldPath = StringUtils.substringBefore(fieldPathCond, "[");
+		final String cond = getCondition(fieldPathCond);
+
+		final Optional<FieldDescriptor> ofd = proto.getAllFields().keySet()
+				.stream()
+				.filter(fdef -> fdef.getName().equalsIgnoreCase(fieldPath))
+				.findFirst();
+
+		if (ofd.isPresent()) {
+			final FieldDescriptor fd = ofd.get();
+			if (fd.isRepeated()) {
+				final int count = proto.getRepeatedFieldCount(fd);
+				for (int i = 0; i < count; i++) {
+					final Object field = proto.getRepeatedField(fd, i);
+					response.addAll(generateFields(fd, field, pathElements, cond, type));
+				}
+			} else {
+				final Object field = proto.getField(fd);
+				response.addAll(generateFields(fd, field, pathElements, cond, type));
+			}
+		} //else throw new IllegalArgumentException("Invalid protobuf path (field not found): " + StringUtils.join(pathElements, ">") + "\nMessage:\n" + proto);
+
+		return response;
+	}
+
+	/**
+	 * Generate fields.
+	 *
+	 * @param fd
+	 *            the fd
+	 * @param field
+	 *            the field
+	 * @param list
+	 *            the list
+	 * @return the list
+	 */
+	private List<Object> generateFields(final FieldDescriptor fd, final Object field, final List<String> list, final String cond, final Type type) {
+
+		final List<Object> res = Lists.newArrayList();
+		if (field instanceof GeneratedMessage) {
+			if (list.size() > 1) {
+
+				if (StringUtils.isBlank(cond)) return processPath((GeneratedMessage) field, list.subList(1, list.size()), type);
+				else {
+
+					final List<String> condPath =
+							Lists.newLinkedList(Splitter.on(COND_SEPARATOR).trimResults().split(StringUtils.substringBefore(cond, "=")));
+
+					final String val = (String) Iterables.getOnlyElement(processPath((GeneratedMessage) field, condPath, type));
+					final String condVal = StringUtils.substringAfter(cond, "=").replaceAll(COND_WRAPPER, "").trim();
+
+					return val.equals(condVal) ? processPath((GeneratedMessage) field, list.subList(1, list.size()), type) : res;
+				}
+			}
+			else if (Type.JSON.equals(type)) {
+				final String json = JsonFormat.printToString((Message) field);
+				res.add(json);
+				return res;
+			} else throw new RuntimeException("No primitive type found");
+		} else {
+			if (list.size() == 1) {
+
+				switch (fd.getType()) {
+				case ENUM:
+					res.add(((EnumValueDescriptor) field).getName());
+					break;
+				default:
+					res.add(field);
+					break;
+				}
+				return res;
+			}
+			else throw new RuntimeException("Found a primitive type before the path end");
+		}
+	}
+
+	private String getCondition(final String fieldPathCond) {
+		return fieldPathCond.contains("[") ? StringUtils.substringAfter(fieldPathCond, "[").replace("]", "") : "";
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasources_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasources_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasources_2_hbase.xml	(revision 51225)
@@ -0,0 +1,53 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="30383440-fec9-4889-8ce8-147410d6e63c_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_datasources2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="originalid" select="//FIELD[@name = 'datasourceid']"/>
+		<xsl:variable name="datasourceid" select="dnet:oafSplitId('datasource', $originalid)"/>
+		<xsl:variable name="dateofcollection" select="//FIELD[@name = 'dateofcollection']"/>
+		<xsl:variable name="dateoftransformation" select="//FIELD[@name = 'dateoftransformation']"/>
+		<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //FIELD[@name = 'collectedfromid'])"/>
+		<xsl:variable name="collectedfromname" select="//FIELD[@name = 'collectedfromname']"/>
+		<ROWS>
+			<xsl:if test="string-length($datasourceid) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:oafEntity($datasourceid, $collectedfromid, $collectedfromname,
+						$dateoftransformation, $originalid, $dateofcollection, //FIELD[not(@isNull)])"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2hbase.xml	(revision 51225)
@@ -0,0 +1,198 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a8258f53-3cc0-4353-879f-699883fd1d0c_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType" />
+		<RESOURCE_KIND value="TransformationRuleDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+        <CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dmf" layout="store" interpretation="cleaned" />
+			<SINK_METADATA_FORMAT name="dngf_hbase" />
+            <IMPORTED/>
+            <SCRIPT>
+	            <TITLE>xslt_mapping_dmf2hbase</TITLE>
+                <CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dnet="eu.dnetlib.data.transform.xml.OdfToHbaseXsltFunctions"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr" xmlns:exslt="http://exslt.org/common"
+                version="1.0" extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl oaf dr dri dnet exslt">
+
+    <xsl:output omit-xml-declaration="yes" indent="yes"/>
+    <xsl:template match="/*">
+        <xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+        <xsl:variable name="dateOfCollection" select="concat('', //dri:dateOfCollection)"/>
+        <xsl:variable name="dateoftransformation" select="concat('', //dr:dateOfTransformation)"/>
+
+        <xsl:variable name="trust" select="string('0.9')"/>
+        <xsl:variable name="provenance" select="string('sysimport:crosswalk:datasetarchive')"/>
+
+        <xsl:variable name="metadata"
+                      select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+        <xsl:variable name="namespaceprefix">
+            <xsl:choose>
+                <!-- TODO check namespaceprefix length is 12 -->
+                <xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+	                <xsl:value-of select="//oaf:datasourceprefix"/>
+                </xsl:when>
+                <xsl:otherwise>
+	                <xsl:value-of select="unknown_____"/>
+                </xsl:otherwise>
+            </xsl:choose>
+        </xsl:variable>
+
+        <xsl:choose>
+            <xsl:when test="count($metadata) = 0 or normalize-space(//oaf:skipRecord)= 'true'">
+                <ROWS/>
+            </xsl:when>
+            <xsl:otherwise>
+
+                <xsl:variable name="datasetId"
+                              select="dnet:oafSimpleId('dataset', //dri:objIdentifier)"/>
+
+                <xsl:if test="string-length($datasetId) &gt; 0">
+	                <xsl:variable name="originalids"
+	                              select="//*[local-name() = 'resource']/*[local-name()='identifier'] | //*[local-name() = 'resource']//*[local-name()='alternateIdentifier']"/>
+	                <xsl:variable name="creators" select="//*[local-name() = 'creator']"/>
+	                <xsl:variable name="titles" select="//*[local-name() = 'title']"/>
+	                <xsl:variable name="subjects" select="//*[local-name() = 'subject']"/>
+	                <xsl:variable name="publisher" select="//*[local-name() = 'publisher']"/>
+	                <xsl:variable name="descriptions" select="//*[local-name() = 'description']"/>
+	                <xsl:variable name="dates" select="//*[local-name() = 'date']"/>
+	                <xsl:variable name="dateaccepted" select="//oaf:dateAccepted"/>
+	                <xsl:variable name="resourceType" select="//*[local-name() = 'resourceType']"/>
+	                <xsl:variable name="formats" select="//*[local-name() = 'format']"/>
+	                <xsl:variable name="sizes" select="//*[local-name() = 'size']"/>
+	                <xsl:variable name="rights" select="//oaf:accessrights"/>
+	                <xsl:variable name="version" select="//*[local-name() = 'version']"/>
+	                <xsl:variable name="language" select="//oaf:language"/>
+	                <xsl:variable name="cobjcategory" select="//dr:CobjCategory"/>
+	                <xsl:variable name="contributor" select="//*[local-name() = 'contributor']/*[local-name() = 'contributorName']"/>
+
+	                <xsl:variable name="instanceURI">
+		                <xsl:choose>
+			                <xsl:when test="string-length( //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='DOI']) &gt; 0">
+				                <xsl:value-of select="concat('http://dx.doi.org','/', //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='DOI']/text())"/>
+			                </xsl:when>
+			                <xsl:otherwise>
+				                <xsl:choose>
+					                <xsl:when test="string-length( //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='URL']) &gt; 0">
+						                <xsl:value-of select="concat('', //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='URL'])"/>
+					                </xsl:when>
+					                <xsl:otherwise>
+						                <xsl:value-of select="concat('', //*[local-name() = 'resource']//*[local-name()='alternateIdentifier' and ./@alternateIdentifierType='URL'])"/>
+					                </xsl:otherwise>
+				                </xsl:choose>
+			                </xsl:otherwise>
+		                </xsl:choose>
+	                </xsl:variable>
+
+	                <xsl:variable name="hostedbyid"
+	                              select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+	                <xsl:variable name="hostedbyname" select="concat('', //oaf:hostedBy/@name)"/>
+	                <xsl:variable name="collectedfromid"
+	                              select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+	                <xsl:variable name="collectedfromname"
+	                              select="concat('', //oaf:collectedFrom/@name)"/>
+	                <xsl:variable name="pids"
+	                              select="//*[local-name() = 'resource']//*[local-name()='identifier'or local-name()='alternateIdentifier']"/>
+	                <ROWS>
+		                <ROW>
+			                <xsl:attribute name="value">
+				                <xsl:value-of select="dnet:odfDataset($datasetId, $about, $metadata, $titles, $subjects, $publisher, $descriptions,
+                            $dates, $dateaccepted, $resourceType, $formats, $sizes, $language, $cobjcategory, $contributor, $rights,
+                            $version, $pids, $provenance, $trust, $hostedbyid, $hostedbyname, $collectedfromid,
+                            $collectedfromname, $originalids, $instanceURI, $dateOfCollection, $dateoftransformation)"/>
+			                </xsl:attribute>
+		                </ROW>
+		                <xsl:for-each select="//*[local-name() = 'creator']">
+
+			                <xsl:variable name="personIdTemp">
+				                <xsl:choose>
+					                <xsl:when test="string-length(./*[local-name() = 'nameIdentifier']) &gt; 0">
+						                <xsl:value-of
+								                select="translate(normalize-space(./*[local-name() = 'nameIdentifier']),' .,','___')"/>
+					                </xsl:when>
+					                <xsl:otherwise>
+						                <xsl:value-of select="translate(normalize-space(./*[local-name() = 'creatorName']),' .,','___')"/>
+					                </xsl:otherwise>
+				                </xsl:choose>
+			                </xsl:variable>
+
+			                <xsl:variable name="personId" select="dnet:oafId('person', $namespaceprefix, normalize-space($personIdTemp))"/>
+			                <xsl:variable name="originalPersonId" select="./*[local-name() = 'nameIdentifier']"/>
+			                <xsl:if test="string-length($personId) &gt; 0">
+				                <xsl:variable name="position" select="position()"/>
+
+				                <ROW key="{$personId}" columnFamily="person">
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:person($personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname,
+				                              $originalPersonId, $dateOfCollection, $dateoftransformation, normalize-space(./*[local-name() = 'creatorName']),
+				                              ./*[local-name() = 'nameIdentifier'], ./*[local-name() = 'nameIdentifier']/@nameIdentifierScheme)"/>
+					                </xsl:attribute>
+				                </ROW>
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:authorship($personId, $datasetId, $position, 'isAuthorOf', 'person_dataset', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:authorship($datasetId, $personId, $position, 'hasAuthor', 'person_dataset', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+			                </xsl:if>
+		                </xsl:for-each>
+
+		                <xsl:for-each select="//*[local-name()='projectid']">
+
+			                <xsl:variable name="projectId" select="dnet:oafSplitId('project', normalize-space(.))"/>
+			                <xsl:if test="string-length($projectId) &gt; 0">
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:rel($datasetId, $projectId, 'isProducedBy', 'dataset_project', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:rel($projectId, $datasetId, 'produces', 'dataset_project', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+			                </xsl:if>
+		                </xsl:for-each>
+
+		                <xsl:for-each
+				                select="//*[local-name()='relatedIdentifier' and ./@relatedIdentifierType='OPENAIRE' and ./@relationType='IsPartOf']">
+
+			                <!-- relatedDataset ids must be in the openaire format  -->
+			                <xsl:variable name="targetId" select="dnet:oafSimpleId('dataset', normalize-space(.))"/>
+			                <xsl:if test="string-length($targetId) &gt; 0">
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:rel($datasetId, $targetId, 'isPartOf', 'dataset_dataset', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+				                <ROW>
+					                <xsl:attribute name="value">
+						                <xsl:value-of select="dnet:rel($targetId, $datasetId, 'hasPart', 'dataset_dataset', $provenance, $trust, $about)"/>
+					                </xsl:attribute>
+				                </ROW>
+			                </xsl:if>
+		                </xsl:for-each>
+	                </ROWS>
+                </xsl:if>
+            </xsl:otherwise>
+        </xsl:choose>
+    </xsl:template>
+</xsl:stylesheet>
+	</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+		<STATUS />
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimrels_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimrels_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimrels_2_hbase.xml	(revision 51225)
@@ -0,0 +1,94 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="775d4a1c-67f5-473d-a838-ab22d5c5231d_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_claimRels2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                xmlns:exslt="http://exslt.org/common"
+                xmlns:action="http://namespace.openaire.eu/action" version="1.0"
+                extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl dc dr dri oaa oaf dnet exslt">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/*">
+
+		<xsl:variable name="provenance">
+			<xsl:value-of select="//FIELD[@name = 'provenance']"/>
+		</xsl:variable>
+		<xsl:variable name="trust">0.9</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="count(//RELATION) = 0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+				<ROWS>
+					<xsl:for-each select="//RELATION">
+						<xsl:choose>
+							<xsl:when test="./@type = 'resultProject'">
+								<xsl:variable name="resultId" select="./@source"/>
+								<xsl:variable name="projectId">
+									<xsl:choose>
+										<xsl:when test="starts-with(@target, '40|')">
+											<xsl:value-of select="./@target"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="dnet:oafSplitId('project', normalize-space(@target))"/>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:variable>
+
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($resultId, $projectId, 'isProducedBy', 'publication_project', $provenance, $trust)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($projectId, $resultId, 'produces', 'publication_project', $provenance, $trust)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:when>
+							<xsl:when test="./@type = 'resultResult_publicationdataset_isRelatedTo'">
+								<xsl:variable name="source" select="./@source"/>
+								<xsl:variable name="target" select="./@target"/>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($source, $target, 'isRelatedTo', 'publication_dataset', $provenance, $trust)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($target, $source, 'isRelatedTo', 'publication_dataset', $provenance, $trust)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:when>
+						</xsl:choose>
+					</xsl:for-each>
+				</ROWS>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2updateActions.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2updateActions.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2updateActions.xml	(revision 51225)
@@ -0,0 +1,99 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="4d85a2b2-c97e-4369-ac18-bb7b4ba43c2b_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="dmf_update_action"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_odf2updateAction</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dnet="eu.dnetlib.data.transform.xml.OdfToHbaseXsltFunctions"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+                xmlns:date="java.lang.System"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:exslt="http://exslt.org/common" version="1.0"
+                extension-element-prefixes="exslt" exclude-result-prefixes="xsl dnet exslt oaf dr dri date">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:param name="trust" select="string('0.9')"/>
+	<xsl:param name="provenance" select="string('UNKNOWN')"/>
+	<xsl:param name="namespaceprefix" select="string('datacite____')"/>
+
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="metadata" select="exslt:node-set(/*[local-name()='record']/*[local-name()='metadata']/*[local-name()='resource'])"/>
+		<xsl:variable name="rightNSPrefix">
+			<xsl:choose>
+				<xsl:when test="not($namespaceprefix)">
+					<xsl:value-of select="//oaf:datasourceprefix"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="$namespaceprefix"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="count($metadata) =  0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+				<xsl:variable name="originalId" select="//*[local-name() = 'identifier' and ./@identifierType='DOI']"/>
+				<xsl:variable name="datasetId" select="dnet:oafSimpleId('dataset', //dri:objIdentifier)"/>
+
+				<xsl:if test="string-length($datasetId) &gt; 0">
+					<xsl:variable name="originalids"
+					              select="//*[local-name() = 'resource']/*[local-name()='identifier'] | //*[local-name() = 'resource']//*[local-name()='alternateIdentifier']"/>
+					<xsl:variable name="creators" select="//*[local-name() = 'creator']"/>
+					<xsl:variable name="titles" select="//*[local-name() = 'title']"/>
+					<xsl:variable name="subjects" select="//*[local-name() = 'subject']"/>
+					<xsl:variable name="publisher" select="//*[local-name() = 'publisher']"/>
+					<xsl:variable name="descriptions" select="//*[local-name() = 'description']"/>
+					<xsl:variable name="dates" select="//*[local-name() = 'date']"/>
+					<xsl:variable name="dateaccepted" select="//oaf:dateAccepted"/>
+					<xsl:variable name="resourceType" select="//*[local-name() = 'resourceType']"/>
+					<xsl:variable name="formats" select="//*[local-name() = 'format']"/>
+					<xsl:variable name="sizes" select="//*[local-name() = 'size']"/>
+					<xsl:variable name="rights" select="//oaf:accessrights"/>
+					<xsl:variable name="version" select="//*[local-name() = 'version']"/>
+					<xsl:variable name="instanceURI" select="concat('http://dx.doi.org','/',//*[local-name() = 'resource']/*[local-name() = 'identifier'])"/>
+					<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+					<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+					<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+					<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+					<xsl:variable name="dateOfCollection" select="//dr:dateOfCollection"/>
+					<xsl:variable name="dateoftransformation" select="concat('', //dr:dateOfTransformation)"/>
+					<xsl:variable name="language" select="//oaf:language"/>
+					<xsl:variable name="cobjcategory" select="//dr:CobjCategory"/>
+					<xsl:variable name="contributors" select="//*[local-name() = 'contributorName']"/>
+					<xsl:variable name="pids" select="//*[local-name() = 'resource']/*[local-name()='identifier']"/>
+					<ROWS>
+						<ROW mode="update">
+							<xsl:value-of select="dnet:odfDataset($datasetId, $about, $metadata, $titles, $subjects, $publisher, $descriptions,
+			                                            $dates, $dateaccepted, $resourceType, $formats, $sizes, $language, $cobjcategory, $contributors, $rights,
+			                                            $version, $pids, $provenance, $trust, $hostedbyid, $hostedbyname, $collectedfromid,
+			                                            $collectedfromname, $originalids, $instanceURI, $dateOfCollection, $dateoftransformation)"/>
+						</ROW>
+					</ROWS>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dissimilarity_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dissimilarity_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dissimilarity_2_hbase.xml	(revision 51225)
@@ -0,0 +1,63 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a3a05526-a544-4087-b446-a53c22b06159_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_dissimilarity2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="type" select="/ROW/FIELD[@name = 'entitytype']"/>
+		<xsl:variable name="source" select="dnet:oafSimpleId($type, /ROW/FIELD[@name = 'id1'])"/>
+		<xsl:variable name="target" select="dnet:oafSimpleId($type, /ROW/FIELD[@name = 'id2'])"/>
+		<xsl:variable name="isSimilarTo" select="'isSimilarTo'"/>
+		<xsl:variable name="relationType">
+			<xsl:choose>
+				<xsl:when test="$type = 'result'">publication_publication</xsl:when>
+				<xsl:when test="$type = 'person'">person_person</xsl:when>
+				<xsl:when test="$type = 'organization'">organization_organization</xsl:when>
+			</xsl:choose>
+		</xsl:variable>
+
+		<ROWS>
+			<xsl:if test="string-length($source) &gt; 0 and string-length($target) &gt; 0 and string-length($relationType) &gt; 0">
+				<ROW >
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($source, $target, $isSimilarTo, $relationType)"/>
+					</xsl:attribute>
+				</ROW>
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($target, $source, $isSimilarTo, $relationType)"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2insertActions.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2insertActions.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dmf2insertActions.xml	(revision 51225)
@@ -0,0 +1,215 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="15368db9-a630-47ed-b8f4-f219ae1ebc4b_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="dmf_insert_action"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_odf2insertAction</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dnet="eu.dnetlib.data.transform.xml.OdfToHbaseXsltFunctions"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr" xmlns:exslt="http://exslt.org/common"
+                version="1.0" extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl oaf dr dri dnet exslt">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="dateOfCollection" select="concat('', //dri:dateOfCollection)"/>
+		<xsl:variable name="dateoftransformation" select="concat('', //dr:dateOfTransformation)"/>
+
+		<xsl:variable name="trust" select="string('0.9')"/>
+		<xsl:variable name="provenance" select="string('sysimport:crosswalk:datasetarchive')"/>
+
+		<xsl:variable name="metadata"
+		              select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+		<xsl:variable name="namespaceprefix">
+			<xsl:choose>
+				<!-- TODO check namespaceprefix length is 12 -->
+				<xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+					<xsl:value-of select="//oaf:datasourceprefix"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="unknown_____"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when
+					test="count($metadata) = 0 or normalize-space(//oaf:skipRecord)= 'true'">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+
+				<xsl:variable name="datasetId"
+				              select="dnet:oafSimpleId('dataset', //dri:objIdentifier)"/>
+
+				<xsl:if test="string-length($datasetId) &gt; 0">
+					<xsl:variable name="originalids"
+					              select="//*[local-name() = 'resource']/*[local-name()='identifier'] | //*[local-name() = 'resource']//*[local-name()='alternateIdentifier']"/>
+					<xsl:variable name="creators" select="//*[local-name() = 'creator']"/>
+					<xsl:variable name="titles" select="//*[local-name() = 'title']"/>
+					<xsl:variable name="subjects" select="//*[local-name() = 'subject']"/>
+					<xsl:variable name="publisher" select="//*[local-name() = 'publisher']"/>
+					<xsl:variable name="descriptions" select="//*[local-name() = 'description']"/>
+					<xsl:variable name="dates" select="//*[local-name() = 'date']"/>
+					<xsl:variable name="dateaccepted" select="//oaf:dateAccepted"/>
+					<xsl:variable name="resourceType" select="//*[local-name() = 'resourceType']"/>
+					<xsl:variable name="formats" select="//*[local-name() = 'format']"/>
+					<xsl:variable name="sizes" select="//*[local-name() = 'size']"/>
+					<xsl:variable name="rights" select="//oaf:accessrights"/>
+					<xsl:variable name="version" select="//*[local-name() = 'version']"/>
+					<xsl:variable name="language" select="//oaf:language"/>
+					<xsl:variable name="cobjcategory" select="//dr:CobjCategory"/>
+					<xsl:variable name="contributor" select="//*[local-name() = 'contributor']/*[local-name() = 'contributorName']"/>
+
+					<xsl:variable name="instanceURI">
+						<xsl:choose>
+							<xsl:when
+									test="string-length( //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='DOI']) &gt; 0">
+								<xsl:value-of
+										select="concat('http://dx.doi.org','/', //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='DOI']/text())"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of
+										select="concat('', //*[local-name() = 'resource']/*[local-name()='identifier' and ./@identifierType='URL'])"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:variable>
+
+					<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+					<xsl:variable name="hostedbyname" select="concat('', //oaf:hostedBy/@name)"/>
+					<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+					<xsl:variable name="collectedfromname" select="concat('', //oaf:collectedFrom/@name)"/>
+
+					<xsl:variable name="pids" select="//*[local-name() = 'resource']//*[local-name()='identifier'or local-name()='alternateIdentifier']"/>
+
+					<ROWS>
+						<ROW>
+							<xsl:attribute name="value">
+								<xsl:value-of select="dnet:odfDataset($datasetId, $about, $metadata, $titles, $subjects, $publisher, $descriptions,
+	                                            $dates, $dateaccepted, $resourceType, $formats, $sizes, $language, $cobjcategory, $contributor, $rights,
+	                                            $version, $pids, $provenance, $trust, $hostedbyid, $hostedbyname, $collectedfromid,
+	                                            $collectedfromname, $originalids, $instanceURI, $dateOfCollection, $dateoftransformation)"/>
+							</xsl:attribute>
+						</ROW>
+						<xsl:for-each select="//*[local-name() = 'creator']">
+
+							<xsl:variable name="personIdTemp">
+								<xsl:choose>
+									<xsl:when test="string-length(./*[local-name() = 'nameIdentifier']) &gt; 0">
+										<xsl:value-of
+												select="translate(normalize-space(./*[local-name() = 'nameIdentifier']),' .,','___')"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="translate(normalize-space(./*[local-name() = 'creatorName']),' .,','___')"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+
+							<xsl:variable name="personId" select="dnet:oafId('person', $namespaceprefix, normalize-space($personIdTemp))"/>
+
+							<xsl:variable name="originalPersonId" select="./*[local-name() = 'nameIdentifier']"/>
+
+							<xsl:if test="string-length($personId) &gt; 0">
+								<xsl:variable name="position" select="position()"/>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:person($personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname,
+									      $originalPersonId, $dateOfCollection, $dateoftransformation, normalize-space(./*[local-name() = 'creatorName']),
+									      ./*[local-name() = 'nameIdentifier'], ./*[local-name() = 'nameIdentifier']/@nameIdentifierScheme)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:authorship($personId, $datasetId, $position, 'isAuthorOf', 'person_publication', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:authorship($datasetId, $personId, $position, 'hasAuthor', 'person_publication', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+						<xsl:for-each select="//*[local-name()='projectid']">
+
+							<xsl:variable name="projectId" select="dnet:oafSplitId('project', normalize-space(.))"/>
+
+							<xsl:if test="string-length($projectId) &gt; 0">
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($datasetId, $projectId, 'isProducedBy', 'dataset_project', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($projectId, $datasetId, 'produces', 'dataset_project', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+						<xsl:for-each select="//*[local-name()='relatedIdentifier' and ./@relatedIdentifierType='OPENAIRE' and ./@relationType='IsSupplementTo']">
+
+							<!-- relatedDataset ids must be in the openaire format  -->
+							<xsl:variable name="targetId" select="dnet:oafSimpleId('dataset', normalize-space(.))"/>
+
+							<xsl:if test="string-length($targetId) &gt; 0">
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($datasetId, $targetId, 'isSupplementTo', 'dataset_dataset', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($targetId, $datasetId, 'isSupplementedBy', 'dataset_dataset', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+						<xsl:for-each select="//*[local-name()='relatedIdentifier' and ./@relatedIdentifierType='OPENAIRE' and ./@relationType='IsPartOf']">
+
+							<!-- relatedDataset ids must be in the openaire format  -->
+							<xsl:variable name="datasetId" select="dnet:oafSimpleId('dataset', normalize-space(.))"/>
+
+							<xsl:if test="string-length($datasetId) &gt; 0">
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($datasetId, $datasetId, 'isPartOf', 'dataset_dataset', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($datasetId, $datasetId, 'hasPart', 'dataset_dataset', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+					</ROWS>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/persons_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/persons_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/persons_2_hbase.xml	(revision 51225)
@@ -0,0 +1,53 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="dec9fb5d-c845-4ea3-a8a4-1b8c6b2f2682_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_person2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="originalid" select="//FIELD[@name = 'personid']"/>
+		<xsl:variable name="personid" select="dnet:oafSplitId('person', $originalid)"/>
+		<xsl:variable name="dateofcollection" select="//FIELD[@name = 'dateofcollection']"/>
+		<xsl:variable name="dateoftransformation" select="//FIELD[@name = 'dateoftransformation']"/>
+		<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //FIELD[@name = 'collectedfromid'])"/>
+		<xsl:variable name="collectedfromname" select="//FIELD[@name = 'collectedfromname']"/>
+		<ROWS>
+			<xsl:if test="string-length($personid) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:oafEntity($personid, $collectedfromid, $collectedfromname,
+						$originalid, $dateofcollection, $dateoftransformation, //FIELD[not(@isNull)])"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pensoft.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pensoft.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pensoft.xml	(revision 51225)
@@ -0,0 +1,76 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="7a0f18a4-7015-45ec-a9e5-1c7368889d7f_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_pensoft</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_pensoft";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+static $varHostedByPrefix = "'openaire____::issn'";
+$varDummy = "''";
+$varHostedByName = RegExpr(xpath:"//dc:source", $var0, "s/(\s+)(\d+)(.*)$//gmi");
+$varHostedByIdTemp = RegExpr(xpath:"//dc:relation[last()]", $var0, "s/^(.*)(\/)|(-)//gmi");
+$varHostedById = xpath:"concat($varHostedByPrefix, $varHostedByIdTemp)";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+// oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varHostedByName; , @id = $varHostedById;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_ora.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_ora.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_ora.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4a574346-7e18-411e-b28c-15ea03814ee0_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_ora</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_ora";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+//preprocess p1 = dblookup("select id, officialname, accessinfopackage from datasources where accessinfopackage is not null");
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'urn:uuid:')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+$varuuid = RegExpr(xpath:"normalize-space(//dc:identifier[starts-with(., 'urn:uuid:')])", $var0, "s/^(.*urn:uuid:)//gmi");
+$varhostprefix = "'http://ora.ox.ac.uk/objects/uuid:'";
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'urn:uuid:')" dc:identifier = xpath:"concat($varhostprefix,$varuuid)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "RESTRICTED";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectcontactperson_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectcontactperson_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/projectcontactperson_2_hbase.xml	(revision 51225)
@@ -0,0 +1,52 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="9099673b-b46d-4aae-9f56-321607cbacba_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_projectContactperson2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="projectId" select="dnet:oafSplitId('project', //FIELD[@name = 'project'])"/>
+		<xsl:variable name="contactpersonId" select="dnet:oafSplitId('person', //FIELD[@name = 'contactperson'])"/>
+
+		<ROWS>
+			<xsl:if test="string-length($projectId) &gt; 0 and string-length($contactpersonId) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($projectId, $contactpersonId, //FIELD[not(@isNull)], 'hasContact', 'project_person')"/>
+					</xsl:attribute>
+				</ROW>
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($contactpersonId, $projectId, //FIELD[not(@isNull)], 'isContact', 'project_person')"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ojs.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ojs.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ojs.xml	(revision 51225)
@@ -0,0 +1,77 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="120c4a4d-48c2-4f70-9acc-335954f1eab2_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-23T19:31:11+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_ojs</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_ojs";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0 and contains(., ';')" dc:creator = xpath:"substring-before(normalize-space(.), ';')"; else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0 and not(contains(., ';'))" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+oaf:journal = set($varOfficialname, @issn = xpath:"replace(substring(//oaf:datasourceprefix, 5), '(\d{4})(\d{4})', '$1-$2')";);
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimUpdates_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimUpdates_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/claimUpdates_2_hbase.xml	(revision 51225)
@@ -0,0 +1,83 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="515444fa-b6af-4164-bf52-30e53b916a90_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="oaf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_claimUpdates2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+                xmlns:date="java.lang.System"
+                xmlns:exslt="http://exslt.org/common"
+                version="1.0"
+                extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl dc dr dri oaa oaf dnet exslt date">
+
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:param name="trust" select="string('0.9')"/>
+	<xsl:param name="provenance" select="string('UNKNOWN')"/>
+	<xsl:param name="namespaceprefix" select="string('unknown_____')"/>
+
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+		<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+		<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+		<xsl:variable name="collectedDatasourceid">
+			<xsl:choose>
+				<xsl:when test="string-length(//oaf:collectedDatasourceid) &gt; 0">
+					<xsl:value-of select="//oaf:collectedDatasourceid"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="UNKNOWN"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:choose>
+			<xsl:when test="count($metadata) = 0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+
+				<xsl:variable name="objidentifier" select="//record/*[local-name() = 'header']/*[local-name() = 'objIdentifier']"/>
+				<xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', $objidentifier)"/>
+
+				<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+				<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+
+				<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+				<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+				<ROWS>
+					<ROW mode="update">
+						<xsl:attribute name="value">
+							<xsl:value-of select="dnet:oafPublicationUpdate($publicationId, $provenance, $trust, $metadata, $hostedbyid, $hostedbyname)"/>
+						</xsl:attribute>
+					</ROW>
+				</ROWS>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_od_1222.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_od_1222.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_od_1222.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5d3132a4-e067-4716-9fa3-5e163c85638b_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-05-27T16:13:39+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_od_1222</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_od_1222";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"//dc:type[starts-with(., 'Sound')] or //dc:type[starts-with(., 'Map')]" dc:type = skipRecord(); else $varDummy = "''";
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_phaidra.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_phaidra.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_phaidra.xml	(revision 51225)
@@ -0,0 +1,80 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="d152b8be-723d-42f5-8a13-e9de7d66a2b8_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-27T00:21:15+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_phaidra</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_phaidra";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+//if xpath:"//*[local-name() = 'setSpec' and text()='ec_fundedresources']" dc:relation = skipRecord(); else $varDummy = "''";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and number(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) &gt; 100000" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = skipRecord();
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/opentrials2datacite.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/opentrials2datacite.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/opentrials2datacite.xml	(revision 51225)
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="eab4c820-e11f-4406-8b01-d31cfcccdf5f_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2014-01-08T23:27:01+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_opentrials_datacite</TITLE>
+				<CODE>
+					<![CDATA[
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"
+    xmlns:oai="http://www.openarchives.org/OAI/2.0/" xmlns:oaf="http://namespace.openaire.eu/oaf"
+    xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+    xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+    xmlns:openTrials="eu.dnetlib.data.transform.xml.OpenTrialsXsltFunctions"
+    xmlns:date="http://exslt.org/dates-and-times" extension-element-prefixes="openTrials date"
+    exclude-result-prefixes="xsl">
+
+    <xsl:output indent="yes"/>
+    <xsl:param name="varOfficialName"/>
+    <xsl:param name="varDataSourceId"/>
+
+    <xsl:template match="/">
+        <xsl:call-template name="createRecord"/>
+    </xsl:template>
+
+    <xsl:template name="createRecord">
+        <oai:record>
+            <oai:header>
+                <xsl:copy-of select="//*[local-name() = 'header']/*" copy-namespaces="no"/>
+                <dr:dateOfTransformation>
+                    <xsl:value-of select="date:date-time()"/>
+                </dr:dateOfTransformation>
+            </oai:header>
+            <oai:metadata>
+                <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                    xsi:schemaLocation="http://datacite.org/schema/kernel-3 http://schema.datacite.org/meta/kernel-3/metadata.xsd"
+                    xmlns="http://datacite.org/schema/kernel-3">
+                    <!--
+                        In order to the web URL to be properly set in the OAF final record, the main id must be an URL.
+                        Primary and secondary ids + identifiers can be set as alternate identifiers
+                    -->
+                    <identifier identifierType="URL">
+                        <xsl:value-of
+                            select="openTrials:getMainIdentifierURL(//column[@name = 'jsonprov']/text())"/>
+                    </identifier>
+                    <alternateIdentifiers>
+                        <alternateIdentifier
+                            alternateIdentifierType="{//column[./@name='primary_register']/text()}">
+                            <xsl:value-of select="//column[./@name = 'primary_id']/text()"/>
+                        </alternateIdentifier>
+                        <!--
+                        TODO: handle other ids in alternateIdentifiers. For now secondary_ids are not of our concern (as said by Evgeny from OpenTrials)
+                        But identifiers is relevant instead.
+                        <column name="secondary_ids">{"others": null}</column>
+                        <column name="identifiers">{NCT00972270, XXX}</column>
+                        -->
+                        <!-- remove '{' and '}' -->
+                        <xsl:variable name="cleanedIds"
+                            select="replace(replace(//column[@name = 'identifiers'], '{', ''), '}', '')"/>
+                        <xsl:for-each select="tokenize(cleanedIds, ',')">
+                            <alternateIdentifier>
+                                <xsl:value-of select="normalize-space(.)"/>
+                            </alternateIdentifier>
+                        </xsl:for-each>
+                    </alternateIdentifiers>
+                    <!-- No creators available -->
+                    <creators/>
+                    <titles>
+                        <xsl:variable name="scientificTitle"
+                            select="normalize-space(//column[@name = 'scientific_title'])"/>
+                        <xsl:variable name="publicTitle"
+                            select="normalize-space(//column[@name = 'public_title'])"/>
+                        <xsl:if test="string-length($scientificTitle) &gt; 0">
+                            <title>
+                                <xsl:value-of select="$scientificTitle"/>
+                            </title>
+                        </xsl:if>
+                        <xsl:if test="string-length($publicTitle) &gt; 0">
+                            <title>
+                                <xsl:value-of select="$publicTitle"/>
+                            </title>
+                        </xsl:if>
+                    </titles>
+                    <publisher>
+                        <xsl:value-of select="//column[./@name = 'primary_register']/text()"/>
+                    </publisher>
+                    <resourceType resourceTypeGeneral="Trial">Trial</resourceType>
+                    <descriptions>
+                        <xsl:variable name="description"
+                            select="normalize-space(//column[@name = 'description'])"/>
+                        <xsl:variable name="summary"
+                            select="normalize-space(//column[@name = 'brief_summary'])"/>
+                        <xsl:if test="string-length($description) &gt; 0">
+                            <description descriptionType="Abstract">
+                                <xsl:value-of select="$description"/>
+                            </description>
+                        </xsl:if>
+                        <xsl:if test="string-length($summary) &gt; 0">
+                            <description descriptionType="Abstract">
+                                <xsl:value-of select="$summary"/>
+                            </description>
+                        </xsl:if>
+                    </descriptions>
+                    <xsl:if test="string-length(//column[@name = 'target_sample_size']) &gt; 0">
+                        <sizes>
+                            <size>
+                                <xsl:value-of
+                                    select="concat('Target sample size: ', //column[@name = 'target_sample_size'])"
+                                />
+                            </size>
+                        </sizes>
+                    </xsl:if>
+                    <oaf:accessrights>UNKNOWN</oaf:accessrights>
+                    <dr:CobjCategory>0021</dr:CobjCategory>
+                    <oaf:dateAccepted>
+                        <xsl:value-of select="//column[@name = 'registration_date']"/>
+                    </oaf:dateAccepted>
+                    <!-- We'll need to do something to patch it, if possible, looking at the jsonProv source name and id -->
+                    <oaf:hostedBy id="openaire____::1256f046-bf1f-4afc-8b47-d0b147148b18"
+                        name="Unknown Repository"/>
+                    <oaf:collectedFrom>
+                        <xsl:attribute name="name">
+                            <xsl:value-of select="$varOfficialName"/>
+                        </xsl:attribute>
+                        <xsl:attribute name="id">
+                            <xsl:value-of select="$varDataSourceId"/>
+                        </xsl:attribute>
+                    </oaf:collectedFrom>
+                    <oaf:about>
+                        <oaf:datainfo>
+                            <oaf:inferred>false</oaf:inferred>
+                            <oaf:deletedbyinference>false</oaf:deletedbyinference>
+                            <oaf:trust>0.9</oaf:trust>
+                            <oaf:inferenceprovenance/>
+                            <oaf:provenanceaction classid="sysimport:crosswalk:datasetarchive"
+                                classname="sysimport:crosswalk:datasetarchive"
+                                schemeid="dnet:provenanceActions"
+                                schemename="dnet:provenanceActions"/>
+                        </oaf:datainfo>
+                    </oaf:about>
+                </resource>
+            </oai:metadata>
+            <xsl:copy-of select="//*[local-name() = 'about']"/>
+        </oai:record>
+    </xsl:template>
+</xsl:stylesheet>
+
+]]>
+</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS/>
+	</BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidc.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidc.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidc.xml	(revision 51225)
@@ -0,0 +1,317 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+			value="oaf2dc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType" />
+		<RESOURCE_KIND value="TransformationRuleDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="oaf" layout="index"
+				interpretation="openaire" />
+			<SINK_METADATA_FORMAT name="oai_dc" />
+			<IMPORTED />
+			<SCRIPT>
+				<TITLE>OAF to OAI_DC</TITLE>
+				<CODE>
+					<!-- (M): Mandatory (R): Reccomended (M w A): Mandatory when Applicable -->
+					<xsl:stylesheet xmlns:dc="http://purl.org/dc/elements/1.1/"
+						xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
+						xmlns:oaf="http://namespace.openaire.eu/oaf" version="2.0"
+						exclude-result-prefixes="oaf">
+
+
+						<xsl:output method="xml" indent="yes"
+							omit-xml-declaration="yes" />
+
+						<xsl:variable name="openaireNamespace" select="string('oai:dnet:')" />
+
+						<xsl:template match="//oaf:entity">
+							<oai_dc:dc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+								xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
+								<xsl:apply-templates />
+							</oai_dc:dc>
+						</xsl:template>
+
+						<!-- Titles (M): based on title/@classname <dc:title>main title:subtitle</dc:title> 
+							<dc:title>alternative title</dc:title> <dc:title>translated title</dc:title> 
+							We have only "main title" for now: let's keep it simple here... -->
+						<xsl:template match="oaf:result/title">
+							<dc:title>
+								<xsl:value-of select="normalize-space(./text())" />
+							</dc:title>
+						</xsl:template>
+
+						<!-- Creators (M) -->
+						<xsl:template match="oaf:result//rel[./to/@class='hasAuthor']">
+							<dc:creator>
+								<xsl:value-of select="./fullname" />
+							</dc:creator>
+						</xsl:template>
+
+						<!-- Contributors (R) not currently available -->
+						<xsl:template match="oaf:result//rel[./to/@class='hasContributor']">
+							<dc:contributor>
+								<xsl:value-of select="./fullname" />
+							</dc:contributor>
+						</xsl:template>
+
+						<!-- projectId (M w A) <dc:relation>info:eu-repo/grantAgreement/Funder/FundingProgram/ProjectID/[Jurisdiction]/[ProjectName]/[ProjectAcronym]</dc:relation> 
+							<dc:relation>info:eu-repo/grantAgreement/EC/FP7/12345//The project name/ACRO</dc:relation> 
+							<dc:relation>info:eu-repo/grantAgreement/EC/FP7/67891/EU/The 2nd project 
+							name/ACRO2</dc:relation> The rel to project: <rel> <to scheme="dnet:result_project_relations" 
+							class="isProducedBy" type="project">project_openaireid</to> <code>249516</code> 
+							<acronym>VOICE</acronym> <title>xxx</title> <contracttype schemename="ec:FP7contractTypes" 
+							classname="aaa" schemeid="ec:FP7contractTypes" classid="aaa"/> <funding> 
+							<funding_level_0>FP7</funding_level_0> <funding_level_1>FP7::SP2</funding_level_1> 
+							<funding_level_2>FP7::SP2::ERC</funding_level_2> </funding> </rel> The funding 
+							program is funding_level_0. The funder must be inferred from the contract 
+							type - until the Funders won't be added explicitely in the record. -->
+						<xsl:template match="oaf:result//rel[./to/@class='isProducedBy']">
+							<xsl:for-each select="./funding/funding_level_0">
+								<xsl:variable name="funder" select="../funder/@shortname"/>
+								<xsl:variable name="fundingProgramme" select="@name"/>
+								<xsl:variable name="jurisdiction" select="../funder/@jurisdiction"/>
+								<xsl:variable name="title" select="../../title"/>
+								<xsl:variable name="acronym" select="../../acronym"/>
+								<xsl:variable name="code" select="../../code"/>
+								<dc:relation>
+									<xsl:value-of select="concat('info:eu-repo/grantAgreement/', $funder, '/', $fundingProgramme, '/', $code, '/', $jurisdiction, '/' , $title, '/', $acronym)"/>
+								</dc:relation>
+							</xsl:for-each>
+						</xsl:template>
+
+						<!-- Access level (M) [from bestlicense@classid] : one of <dc:rights>info:eu-repo/semantics/closedAccess</dc:rights> 
+							<dc:rights>info:eu-repo/semantics/embargoedAccess</dc:rights> <dc:rights>info:eu-repo/semantics/restrictedAccess</dc:rights> 
+							<dc:rights>info:eu-repo/semantics/openAccess</dc:rights> -->
+						<xsl:template match="oaf:result/bestlicense">
+							<xsl:variable name="license">
+								<xsl:choose>
+									<xsl:when test="@classid='OPEN'">
+										<xsl:value-of select="string('info:eu-repo/semantics/openAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='CLOSED'">
+										<xsl:value-of select="string('info:eu-repo/semantics/closedAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='RESTRICTED'">
+										<xsl:value-of
+											select="string('info:eu-repo/semantics/restrictedAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='EMBARGO'">
+										<xsl:value-of
+											select="string('info:eu-repo/semantics/embargoedAccess')" />
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="string('info:eu-repo/semantics/closedAccess')" />
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+							<dc:rights>
+								<xsl:value-of select="$license" />
+							</dc:rights>
+						</xsl:template>
+
+						<!-- EmbargoEnd (M w A) (only when rights == info:eu-repo/semantics/embargoedAccess), 
+							from embargoenddate <dc:date>info:eu-repo/date/embargoEnd/1960-01-01</dc:date> -->
+						<xsl:template match="oaf:result/embargoenddate/text()">
+							<dc:date>
+								<xsl:value-of select="concat('info:eu-repo/date/embargoEnd/', .)" />
+							</dc:date>
+						</xsl:template>
+
+
+						<!-- <xsl:template match="oaf:result/originalId/text()"> <dc:identifier> 
+							<xsl:value-of select="normalize-space(.)"/> </dc:identifier> </xsl:template> -->
+
+						<!-- Alternative Identifier (R), idType from pid@classid <dc:relation> 
+							info:eu-repo/semantics/altIdentifier/[idType]/[ID] </dc:relation> -->
+						<xsl:template match="oaf:result/pid[./text()]">
+							<dc:relation>
+								<xsl:value-of
+									select="concat('info:eu-repo/semantics/altIdentifier/', @classid, '/', ./text())" />
+							</dc:relation>
+						</xsl:template>
+
+						<xsl:template
+							match="oaf:result/children/instance/webresource/url/text()">
+							<dc:identifier>
+								<xsl:value-of select="." />
+							</dc:identifier>
+						</xsl:template>
+						<!--Referenced Publication (R), from extraInfo[@typology='citations']/citation, 
+							idType from citation/id/@type, ID from citation/id/@value <dc:relation> info:eu-repo/semantics/reference/[idType]/[ID] 
+							</dc:relation> <dc:relation> info:eu-repo/semantics/reference/doi/10.1234/789.1 
+							</dc:relation> <dc:relation> info:eu-repo/semantics/reference/pmid/1234567 
+							</dc:relation> -->
+						<xsl:template
+							match="extraInfo[@typology='citations']//citation/id[./@type]">
+							<xsl:choose>
+								<xsl:when test="@type='openaire'">
+									<dc:relation>
+										<xsl:value-of
+											select="concat('info:eu-repo/semantics/reference/', @type, '/', $openaireNamespace, @value)" />
+									</dc:relation>
+
+								</xsl:when>
+								<xsl:otherwise>
+									<dc:relation>
+										<xsl:value-of
+											select="concat('info:eu-repo/semantics/reference/', @type, '/', @value)" />
+									</dc:relation>
+								</xsl:otherwise>
+							</xsl:choose>
+
+						</xsl:template>
+
+						<!-- Dataset reference (R), from: rel[./resulttyype/@classname='dataset'] 
+							<dc:relation>info:eu-repo/semantics/dataset/[idType]/[ID]</dc:relation> only 
+							available when we'll expand the PIDs in the relationship <dc:relation>info:eu-repo/semantics/dataset/doi/10.1234/789.1</dc:relation> 
+							For now we can only use openaire ids, from rel[./resulttyype/@classname='dataset']/to/text() 
+							<dc:relation>info:eu-repo/semantics/dataset/openaire/oai:dnet:[OPENAIRE_ID]</dc:relation> -->
+						<xsl:template match="oaf:result//rel[./resulttype/@classid='dataset']">
+							<dc:relation>
+								<xsl:value-of
+									select="concat('info:eu-repo/semantics/dataset/openaire/', $openaireNamespace, ./to/text())" />
+							</dc:relation>
+						</xsl:template>
+
+
+						<!-- Subjects (M w A) <dc:subject>bag of words</dc:subject> If subject@classname 
+							!= keywords, then we have a classification scheme to encode <dc:subject>info:eu-repo/classification/[scheme]/[value]</dc:subject> 
+							<dc:subject>info:eu-repo/classification/dcc/whatever</dc:subject> -->
+						<xsl:template match="oaf:result/subject[@classname='keyword']">
+							<dc:subject>
+								<xsl:value-of select="normalize-space(./text())" />
+							</dc:subject>
+						</xsl:template>
+						<xsl:template
+							match="oaf:result/subject[not(@classname='keyword') and @classid != '']">
+							<dc:subject>
+								<xsl:value-of
+									select="concat('info:eu-repo/classification/', @classid, '/', normalize-space(./text()))" />
+							</dc:subject>
+						</xsl:template>
+
+						<!--description (M w A) from description -->
+						<xsl:template match="oaf:result/description/text()">
+							<dc:description>
+								<xsl:value-of select="normalize-space(.)" />
+							</dc:description>
+						</xsl:template>
+						<!--publisher (M w A) from publisher -->
+						<xsl:template match="oaf:result/publisher/text()">
+							<dc:publisher>
+								<xsl:value-of select="normalize-space(.)" />
+							</dc:publisher>
+						</xsl:template>
+						<!-- Publication date (M) from dateofacceptance -->
+						<xsl:template match="oaf:result/dateofacceptance/text()">
+							<dc:date>
+								<xsl:value-of select="normalize-space(.)" />
+							</dc:date>
+						</xsl:template>
+
+						<!-- Publication type (M) where [type] is /instancetype[1]/classname 
+							(dnet:publication_resource vocabulary). A second dc:type (uncontrolled) can 
+							be used. <dc:type>info:eu-repo/semantics/[type]</dc:type> -->
+						<xsl:template
+							match="oaf:result/children/instance/instancetype">
+							<xsl:variable name="theInstanceType">
+								<xsl:choose>
+									<xsl:when test="@classname='Unknown'">
+										<xsl:value-of select="string('other')" />
+									</xsl:when>
+									<xsl:when test="@classname=''">
+										<xsl:value-of select="string('other')" />
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:call-template name="ConvertWordsToCamelCase">
+											<xsl:with-param name="text">
+												<xsl:value-of select="lower-case(./@classname)" />
+											</xsl:with-param>
+										</xsl:call-template>
+									</xsl:otherwise>
+								</xsl:choose>
+
+							</xsl:variable>
+							<dc:type>
+								<xsl:value-of
+									select="concat('info:eu-repo/semantics/',$theInstanceType)" />
+							</dc:type>
+						</xsl:template>
+						<!-- <xsl:template match="oaf:result/resulttype"> <dc:type> <xsl:value-of 
+							select="./@classname"/> </dc:type> </xsl:template> -->
+
+						<!-- Format (R), in theory from format, not sure we are filling it 
+							<dc:format>mediaType of the digital manifestation of the resource</dc:format> 
+							<dc:format>application/pdf</dc:format> -->
+						<xsl:template match="oaf:result/format/text()">
+							<dc:format>
+								<xsl:value-of select="normalize-space(.)" />
+							</dc:format>
+						</xsl:template>
+
+						<!-- source (R) from source -->
+						<xsl:template match="oaf:result/source/text()">
+							<dc:source>
+								<xsl:value-of select="normalize-space(.)" />
+							</dc:source>
+						</xsl:template>
+
+						<xsl:template match="oaf:result/collectedfrom">
+							<dc:source>
+								<xsl:value-of select="normalize-space(@name)" />
+							</dc:source>
+						</xsl:template>
+
+						<!-- Language (R) from language@classid -->
+						<xsl:template match="oaf:result/language">
+							<dc:language>
+								<xsl:value-of select="./@classid" />
+							</dc:language>
+						</xsl:template>
+
+						<!-- Override default template -->
+						<xsl:template match="text()|@*" />
+
+						<!-- =========================================================================== -->
+						<!-- === Convert camel case text to cameCaseText === -->
+						<!-- === Modified from http://blog.inventic.eu/2013/08/xslt-snippet-to-convert-string-from-hyphens-to-camelcase/ 
+							=== -->
+						<!-- === (c) Inventic s.r.o. ORM Designer team (http://www.orm-designer.com) 
+							=== -->
+						<!-- =========================================================================== -->
+						<xsl:template name="ConvertWordsToCamelCase">
+							<xsl:param name="text" />
+							<xsl:param name="firstLower" select="true()" />
+
+							<xsl:variable name="Upper">
+								ABCDEFGHIJKLMNOPQRSTUVQXYZ
+							</xsl:variable>
+							<xsl:variable name="Lower">
+								abcdefghijklmnopqrstuvwxyz
+							</xsl:variable>
+
+							<xsl:for-each select="tokenize($text,' ')">
+								<xsl:choose>
+									<xsl:when test="position()=1 and $firstLower = true()">
+										<xsl:value-of select="substring(.,1,1)" />
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="translate(substring(.,1,1),$Lower,$Upper)" />
+									</xsl:otherwise>
+								</xsl:choose>
+								<xsl:value-of select="substring(.,2,string-length(.))" />
+							</xsl:for-each>
+						</xsl:template>
+
+					</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS />
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcidentifier_last.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcidentifier_last.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcidentifier_last.xml	(revision 51225)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="50cbbb8f-b9d4-486d-9895-a80ca7b963b9_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_dcidentifier_last</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_dcidentifier_last";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+// this can be made easier
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[last()][starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http') and position()=last()" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last_corvinus.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last_corvinus.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last_corvinus.xml	(revision 51225)
@@ -0,0 +1,87 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="1324e914-c583-4f85-9058-51f34855c5cd_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-25T10:14:57+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_dcrelation_last_corvinus</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_dcrelation_last_corvinus";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+$varIsFunded = "false";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+// if xpath:"//dc:relation[starts-with(., 'info:eu-repo/grantAgreement')]" $varIsFunded = "true"; else $varDummy = "''";
+if xpath:"count(//dc:identifier[starts-with(.,'http://unipub.lib.uni-corvinus.hu')]) = 0 and not(//dc:relation[starts-with(., 'info:eu-repo/grantAgreement')])" dc:type = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:identifier" if xpath:"ends-with(normalize-space(.), '.pdf')" oaf:fulltext = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+$varHttpLinks = xpath:"//dc:relation[starts-with(., 'http')]";
+if xpath:"count($varHttpLinks) &amp;gt; 0" $varHttpTest = "true"; else dc:identifier = skipRecord();
+dc:identifier = xpath:"$varHttpLinks[last()][normalize-space(.)]";
+dr:CobjIdentifier = xpath:"//dc:identifier[normalize-space(.)]";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'http') and position=last()" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+dc:rights = xpath:"//dc:rights";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/') and string-length(normalize-space(.)) &gt; 40" oaf:projectid = xpath:"concat($var1, substring(normalize-space(.), 36, 6))"; else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_epic.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_epic.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_epic.xml	(revision 51225)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4d0ec267-2750-4a87-852d-90f61525a6e0_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-04-28T07:49:19+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_epic</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_epic";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+//preprocess p1 = dblookup("select id, officialname, accessinfopackage from datasources where accessinfopackage is not null");
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+// this is too restrictive, should test for dc:contributor as well
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]  or count(//dc:relation[starts-with(normalize-space(.), 'info:eu-repo/grantAgreement')]) &gt; 0" $varHttpTest = "true"; else dc:identifier = skipRecord();
+//if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+dc:identifier = xpath:"//dc:relation[starts-with(normalize-space(.), 'http')]";
+apply xpath:"//dc:identifier" if xpath:"string-length(.) &gt; 0" dr:CobjIdentifier = xpath:"normalize-space(.)"; else $varDummy = "''";
+// apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_creator_comma.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_creator_comma.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_creator_comma.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="bc13c7ee-869f-4b76-81a8-2ee6ffcb81fa_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-04-09T08:05:59+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_creator_comma</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_creator_comma";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"concat(substring-before(normalize-space(.), ' '), ', ', substring-after(normalize-space(.), ' '))"; else $varDummy = "''";
+apply xpath:"//dc:contributor" if xpath:"string-length(.) > 0" dc:contributor = xpath:"concat(substring-before(normalize-space(.), ' '), ', ', substring-after(normalize-space(.), ' '))"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dlib.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dlib.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dlib.xml	(revision 51225)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="99a3948a-ed80-4fdd-83c2-ea021b0fc069_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-02-23T15:32:50+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_dlib</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_dlib";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = xpath:"//dri:recordIdentifier";
+if xpath:"count(//dlib-meta0.1//creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+//apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dlib-meta0.1//creator" if xpath:"string-length(.) &gt; 0" dc:creator = Convert(xpath:".", Person); else $varDummy = "''";
+apply xpath:"//dlib-meta0.1/title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dlib-meta0.1//publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dlib-meta0.1//identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dlib-meta0.1//identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dlib-meta0.1/language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dlib-meta0.1/date[@date-type='publication']";
+oaf:dateAccepted = xpath:"concat(replace(//date[@date-type='publication'], '\D', ''), '-01', '-01')";
+//  Convert(xpath:"//date[@date-type='publication']", DateISO8601, "yyyy-MM-dd", "min()");
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dlib-meta0.1//type[@resource-type='work']" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+dc:rights = xpath:"//dlib-meta0.1/rights";
+oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+// $varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"//dlib-meta0.1/identifier[@uri-type='DOI']", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+oaf:journal = set(xpath:"//dlib-meta0.1//serial-name", @eissn = xpath:"//dlib-meta0.1//issn";);
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_arxiv.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_arxiv.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_arxiv.xml	(revision 51225)
@@ -0,0 +1,76 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="18b2d7cb-dd69-4c58-9bad-8fcdb5972d5c_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-01-28T13:52:15+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAREplus_arxiv</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_arxiv";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+if xpath:"count(//dc:language) = 0" dc:language = "eng"; else dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 5" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+oaf:accessrights = "OPEN";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OPENAIREplus_repec.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OPENAIREplus_repec.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OPENAIREplus_repec.xml	(revision 51225)
@@ -0,0 +1,104 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="559212dd-cca9-477e-b43c-6222da5b49e7_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2016-03-10T19:09:33+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_repec</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_repec";
+declare_ns amf = "http://amf.openlib.org";
+declare_ns repec="http://repec.openlib.org";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$varFP7 = "'corda_______::'";
+$varH2020 = "'corda__h2020::'";
+$varFCT="'fct_________::'";
+$varDummy = "''";
+// $varPmc = Convert(xpath:"substring-after(//dc:identifier, '=')", PMC);
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+// skipRecords
+if xpath:"//repec:restriction[.='Access to full text is restricted to subscribers.'] or //repec:function[.='link to article abstract page'] or //amf:file/amf:url[starts-with(., 'http://www.sciencedirect.com/')]" dc:coverage = skipRecord(); else $varDummy = "''";
+//
+apply xpath:"//amf:hasauthor/amf:person/amf:name" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//amf:amf/amf:text/amf:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//amf:keywords" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//amf:haspublisher/amf:person/amf:name" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//amf:abstract";
+$varHttpTest = "''";
+if xpath:"//amf:file/amf:url[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//amf:file/amf:url" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+//$varUrl = xpath:"concat('http://europepmc.org/articles/', $varPmc)";
+//if xpath:"string-length($varPmc) &amp;gt; 0" dc:identifier = $varUrl; else dc:identifier = xpath:"//dc:identifier";
+//if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+//apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+dr:dateOfCollection = xpath:"//dri:dateOfCollection";
+static dr:dateOfTransformation = xpath:"current-dateTime()";
+dc:type = xpath:"//amf:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+if xpath:"//amf:issuedate" oaf:dateAccepted = Convert(xpath:"descendant-or-self::amf:issuedate", DateISO8601, "yyyy-MM-dd", "min()"); else $varDummy = "''";
+if xpath:"//amf:date" oaf:dateAccepted = Convert(xpath:"descendant-or-self::amf:date", DateISO8601, "yyyy-MM-dd", "min()"); else $varDummy = "''";
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+// FP7
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varFP7, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+// H2020
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+// FCT
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/fct)/(.+)/(\d+)(.*)', 'i')]/concat($varFCT, replace(normalize-space(.), '(info:eu-repo/grantagreement/fct)/(.+)/(\d+)(.*)', '$3', 'i'))";
+dc:relation = xpath:"//dc:relation";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+dr:CobjCategory = Convert(xpath:"//amf:type", TextTypologies);
+//apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+//if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//*"]' , xpath:"./*[local-name()='record']//*[local-name()='metadata']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+$varJournal = xpath:"//amf:journaltitle";
+$varVolume = xpath:"//amf:serial/amf:volume";
+$varStartPage = xpath:"//amf:serial/amf:startpage";
+$varEndPage = xpath:"//amf:serial/amf:endpage";
+$varIssue = xpath:"//amf:serial/amf:issue";
+//if xpath:"string-length($varJournal) &gt; 0" oaf:journal = set(xpath:"//amf:journaltitle", @issn = xpath:"//amf:journaltitle";, @issn = xpath:"./@issn";, @eissn = xpath:"./@eissn";); else $varDummy = "''";
+oaf:journal = set(xpath:"//amf:journaltitle", @vol = $varVolume;, @iss =$varIssue;, @sp= $varStartPage;, @ep= $varEndPage;, @issn = xpath:"./@issn";, @eissn = xpath:"./@eissn";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/AbstractDNetXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/AbstractDNetXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/AbstractDNetXsltFunctions.java	(revision 51225)
@@ -0,0 +1,520 @@
+package eu.dnetlib.data.transform.xml;
+
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+import com.google.common.base.Splitter;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.protobuf.Descriptors.Descriptor;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+import com.google.protobuf.InvalidProtocolBufferException;
+import com.google.protobuf.Message;
+import com.google.protobuf.Message.Builder;
+import com.google.protobuf.ProtocolMessageEnum;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.FieldTypeProtos.*;
+import eu.dnetlib.data.proto.FieldTypeProtos.OAIProvenance.OriginDescription;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import eu.dnetlib.miscutils.collections.Pair;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.codec.binary.Hex;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.math.NumberUtils;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import java.nio.charset.Charset;
+import java.security.MessageDigest;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+public abstract class AbstractDNetXsltFunctions {
+
+	public static final String URL_REGEX = "^(http|https|ftp)\\://.*";
+	private static final int MAX_NSPREFIX_LEN = 12;
+
+
+	public static Predicate<String> urlFilter = s -> s.trim().matches(URL_REGEX);
+
+	// Builder for Entities
+	protected static DNGF getOaf(final DNGFEntity.Builder entity, final DataInfo.Builder info) {
+		return _getOaf(DNGF.newBuilder(), info).setKind(Kind.entity).setEntity(entity).build();
+	}
+
+	// Builder for Rels
+	protected static DNGF getOaf(final DNGFRel.Builder rel, final DataInfo.Builder info) {
+		return _getOaf(DNGF.newBuilder(), info).setKind(Kind.relation).setRel(rel).build();
+	}
+
+	private static DNGF.Builder _getOaf(final DNGF.Builder oaf, final DataInfo.Builder info) {
+		if (info != null) {
+			return oaf.setDataInfo(ensureDataInfo(info));
+		} else return oaf;
+	}
+
+	protected static DataInfo.Builder ensureDataInfo(final DataInfo.Builder info) {
+		if (info.isInitialized()) return info;
+		return getDataInfo(null, "UNKNOWN", "0.9", false, false);
+	}
+
+	protected static KeyValue getKV(final String id, final String name) {
+		return KeyValue.newBuilder().setKey(id).setValue(name).build();
+	}
+
+	protected static DNGFRel.Builder getRel(
+			final String sourceId,
+			final Type sourceType,
+			final String targetId,
+			final Type targetType,
+			final Qualifier relType,
+			final boolean isChild) {
+		return DNGFRel.newBuilder().setSource(sourceId).setTarget(targetId)
+				.setSourceType(sourceType)
+				.setTargetType(targetType).setRelType(relType)
+				.setChild(isChild);
+	}
+
+	protected static DNGFEntity.Builder getEntity(final Type type,
+			final String id,
+			final KeyValue collectedFrom,
+			final List<String> originalIds,
+			final String dateOfCollection,
+			final String dateOfTransformation,
+			final List<StructuredProperty> pids) {
+		final DNGFEntity.Builder builder = DNGFEntity.newBuilder().setType(type).setId(id);
+		if (collectedFrom != null) builder.addCollectedfrom(collectedFrom);
+		builder.setDateoftransformation(StringUtils.isBlank(dateOfTransformation) ? "" : dateOfTransformation);
+		builder.setDateofcollection(StringUtils.isBlank(dateOfCollection) ? "" : dateOfCollection);
+
+		if ((originalIds != null) && !originalIds.isEmpty()) {
+			builder.addAllOriginalId(Iterables.filter(originalIds, getPredicateNotBlankString()));
+		}
+
+		if ((pids != null) && !pids.isEmpty()) {
+			builder.addAllPid(Iterables.filter(pids, Predicates.notNull()));
+		}
+
+		return builder;
+	}
+
+    public static Predicate<String> getPredicateNotBlankString() {
+        return s -> StringUtils.isNotBlank(s);
+	}
+
+	public static DataInfo.Builder getDataInfo(final NodeList about,
+			final String provenanceaction,
+			final String trust,
+			final boolean deletedbyinference,
+			final boolean inferred) {
+
+		final DataInfo.Builder dataInfoBuilder = DataInfo.newBuilder();
+		dataInfoBuilder.setInferred(Boolean.valueOf(inferred));
+		dataInfoBuilder.setDeletedbyinference(Boolean.valueOf(deletedbyinference));
+		dataInfoBuilder.setTrust(trust);
+		dataInfoBuilder.setProvenanceaction(getSimpleQualifier(provenanceaction, "dnet:provenanceActions").build());
+
+		// checking instanceof because when receiving an empty <oaf:datainfo> we don't want to parse it.
+		if (((about != null) && (about.getLength() > 0)) /* && (dataInfo instanceof org.w3c.dom.Element) */) {
+
+			final org.w3c.dom.Element dataInfoElement = getDirectChild((org.w3c.dom.Element) about.item(0), "datainfo");
+			if (dataInfoElement != null) {
+				org.w3c.dom.Element elem = getDirectChild(dataInfoElement, "inferred");
+				dataInfoBuilder.setInferred(Boolean.valueOf(getStringValue(elem, String.valueOf(inferred))));
+
+				elem = getDirectChild(dataInfoElement, "deletedbyinference");
+				dataInfoBuilder.setDeletedbyinference(Boolean.valueOf(getStringValue(elem, String.valueOf(deletedbyinference))));
+
+				elem = getDirectChild(dataInfoElement, "trust");
+				dataInfoBuilder.setTrust(getStringValue(elem, trust));
+
+				elem = getDirectChild(dataInfoElement, "inferenceprovenance");
+				dataInfoBuilder.setInferenceprovenance(getStringValue(elem));
+
+				elem = getDirectChild(dataInfoElement, "provenanceaction");
+				final Qualifier.Builder pBuilder = Qualifier.newBuilder();
+				if (elem != null && elem.hasAttributes()) {
+					final NamedNodeMap attributes = elem.getAttributes();
+					pBuilder.setClassid(getAttributeValue(attributes, "classid"));
+					pBuilder.setClassname(getAttributeValue(attributes, "classname"));
+					pBuilder.setSchemeid(getAttributeValue(attributes, "schemeid"));
+					pBuilder.setSchemename(getAttributeValue(attributes, "schemename"));
+				} else {
+					pBuilder.mergeFrom(getSimpleQualifier(provenanceaction, "dnet:provenanceActions").build());
+				}
+				dataInfoBuilder.setProvenanceaction(pBuilder);
+			}
+		}
+
+		return dataInfoBuilder;
+	}
+
+	protected static OAIProvenance getOAIProvenance(final NodeList about) {
+
+		OAIProvenance.Builder oaiProv = OAIProvenance.newBuilder();
+
+		if (((about != null) && (about.getLength() > 0))) {
+
+			final org.w3c.dom.Element provenance = getDirectChild((org.w3c.dom.Element) about.item(0), "provenance");
+
+			if (provenance != null) {
+				final org.w3c.dom.Element origDesc = getDirectChild(provenance, "originDescription");
+				oaiProv.setOriginDescription(buildOriginDescription(origDesc, OriginDescription.newBuilder()));
+			}
+		}
+
+		return oaiProv.build();
+	}
+
+	private static OriginDescription buildOriginDescription(final org.w3c.dom.Element origDesc, final OriginDescription.Builder od) {
+		od.setHarvestDate(origDesc.getAttribute("harvestDate")).setAltered(Boolean.valueOf(origDesc.getAttribute("altered")));
+
+		org.w3c.dom.Element elem = getDirectChild(origDesc, "baseURL");
+		od.setBaseURL(getStringValue(elem));
+
+		elem = getDirectChild(origDesc, "identifier");
+		od.setIdentifier(getStringValue(elem));
+
+		elem = getDirectChild(origDesc, "datestamp");
+		od.setDatestamp(getStringValue(elem));
+
+		elem = getDirectChild(origDesc, "metadataNamespace");
+		od.setMetadataNamespace(getStringValue(elem));
+
+		elem = getDirectChild(origDesc, "originDescription");
+
+		if (elem != null) {
+
+			od.setOriginDescription(buildOriginDescription(elem, OriginDescription.newBuilder()));
+		}
+
+		return od.build();
+	}
+
+	protected static String getStringValue(final org.w3c.dom.Element elem, final String defaultValue) {
+		return (elem != null && elem.getTextContent() != null) ? elem.getTextContent() : defaultValue;
+	}
+
+	protected static String getStringValue(final org.w3c.dom.Element elem) {
+		return getStringValue(elem, "");
+	}
+
+	protected static String getAttributeValue(final NamedNodeMap attributes, final String name) {
+		final Node attr = attributes.getNamedItem(name);
+		if (attr == null) return "";
+		final String value = attr.getNodeValue();
+		return value != null ? value : "";
+	}
+
+	protected static org.w3c.dom.Element getDirectChild(final org.w3c.dom.Element parent, final String name) {
+		for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
+			if ((child instanceof org.w3c.dom.Element) && name.equals(child.getLocalName())) return (org.w3c.dom.Element) child;
+		}
+		return null;
+	}
+
+	protected static Qualifier.Builder getSimpleQualifier(final String classname, final String schemename) {
+		return getQualifier(classname, classname, schemename, schemename);
+	}
+
+	protected static Qualifier.Builder getSimpleQualifier(final ProtocolMessageEnum classname, final String schemename) {
+		return getQualifier(classname.toString(), classname.toString(), schemename, schemename);
+	}
+
+	protected static Qualifier.Builder getQualifier(final String classid, final String classname, final String schemeid, final String schemename) {
+		return Qualifier.newBuilder().setClassid(classid).setClassname(classname).setSchemeid(schemeid).setSchemename(schemename);
+	}
+
+	protected static Qualifier.Builder setQualifier(final Qualifier.Builder qualifier, final List<String> fields) {
+		if ((fields == null) || fields.isEmpty() || fields.get(0).isEmpty()) return null;
+
+		if ((fields != null) && !fields.isEmpty() && (fields.get(0) != null)) {
+			qualifier.setClassid(fields.get(0));
+			qualifier.setClassname(fields.get(0));
+		}
+		return qualifier;
+	}
+
+	protected static void addStructuredProps(final Builder builder,
+			final FieldDescriptor fd,
+			final List<String> values,
+			final String classid,
+			final String schemeid) {
+		if (values != null) {
+			for (final String s : values) {
+				addField(builder, fd, getStructuredProperty(s, classid, classid, schemeid, schemeid));
+			}
+		}
+	}
+
+	protected static List<StructuredProperty> parsePids(final NodeList nodelist) {
+
+		final List<StructuredProperty> pids = Lists.newArrayList();
+
+		for (int i = 0; i < nodelist.getLength(); i++) {
+			final Node node = nodelist.item(i);
+			Node pidType = null;
+			if (node.getNodeType() == Node.ELEMENT_NODE) {
+				if (node.getLocalName().equalsIgnoreCase("identifier")) {
+					pidType = node.getAttributes().getNamedItem("identifierType");
+				}
+				//this is to handle dataset pids
+				if (node.getLocalName().equalsIgnoreCase("alternateIdentifier")) {
+					pidType = node.getAttributes().getNamedItem("alternateIdentifierType");
+				}
+
+				for (int j = 0; j < node.getChildNodes().getLength(); j++) {
+					final Node child = node.getChildNodes().item(j);
+
+					if ((child.getNodeType() == Node.TEXT_NODE) && (pidType != null) && (pidType.getNodeValue() != null) && !pidType.getNodeValue().isEmpty()
+							&& !pidType.getNodeValue().equalsIgnoreCase("url")) {
+
+						final String type = pidType.getNodeValue().toLowerCase();
+
+						final String value = child.getTextContent();
+
+						pids.add(getStructuredProperty(value, type, type, "dnet:pid_types", "dnet:pid_types"));
+						break;
+					}
+				}
+			}
+		}
+		return pids;
+	}
+
+	@SuppressWarnings("unchecked")
+	protected static void addField(final Builder builder, final FieldDescriptor descriptor, Object value) {
+
+		if (value == null) return;
+
+		if (value instanceof List<?>) {
+			for (final Object o : (List<Object>) value) {
+				addField(builder, descriptor, o);
+			}
+		} else {
+			Object fieldValue = value;
+			switch (descriptor.getType()) {
+			case BOOL:
+				fieldValue = Boolean.valueOf(value.toString());
+				break;
+			case BYTES:
+				fieldValue = value.toString().getBytes(Charset.forName("UTF-8"));
+				break;
+			case DOUBLE:
+				fieldValue = Double.valueOf(value.toString());
+				break;
+			case FLOAT:
+				fieldValue = Float.valueOf(value.toString());
+				break;
+			case INT32:
+			case INT64:
+			case SINT32:
+			case SINT64:
+				fieldValue = Integer.valueOf(value.toString());
+				break;
+			case MESSAGE:
+				final Builder q = builder.newBuilderForField(descriptor);
+
+				if (value instanceof Builder) {
+					value = ((Builder) value).build();
+					final byte[] b = ((Message) value).toByteArray();
+					try {
+						q.mergeFrom(b);
+					} catch (final InvalidProtocolBufferException e) {
+						throw new IllegalArgumentException("Unable to merge value: " + value + " with builder: " + q.getDescriptorForType().getName());
+					}
+				} else if (Qualifier.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof Qualifier) {
+						q.mergeFrom((Qualifier) value);
+					} else {
+						parseMessage(q, Qualifier.getDescriptor(), value.toString(), "@@@");
+					}
+				} else if (StructuredProperty.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof StructuredProperty) {
+						q.mergeFrom((StructuredProperty) value);
+					} else {
+						parseMessage(q, StructuredProperty.getDescriptor(), value.toString(), "###");
+					}
+				} else if (KeyValue.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof KeyValue) {
+						q.mergeFrom((KeyValue) value);
+					} else {
+						parseMessage(q, KeyValue.getDescriptor(), value.toString(), "&&&");
+					}
+				} else if (StringField.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof StringField) {
+						q.mergeFrom((StringField) value);
+					} else {
+						q.setField(StringField.getDescriptor().findFieldByName("value"), value);
+					}
+				} else if (BoolField.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof BoolField) {
+						q.mergeFrom((BoolField) value);
+					} else if (value instanceof String) {
+						q.setField(BoolField.getDescriptor().findFieldByName("value"), Boolean.valueOf((String) value));
+					} else {
+						q.setField(BoolField.getDescriptor().findFieldByName("value"), value);
+					}
+				} else if (IntField.getDescriptor().getName().equals(q.getDescriptorForType().getName())) {
+					if (value instanceof IntField) {
+						q.mergeFrom((IntField) value);
+					} else if (value instanceof String) {
+						q.setField(IntField.getDescriptor().findFieldByName("value"), NumberUtils.toInt((String) value));
+					} else {
+						q.setField(IntField.getDescriptor().findFieldByName("value"), value);
+					}
+				}
+
+				fieldValue = q.buildPartial();
+				break;
+			default:
+				break;
+			}
+
+			doAddField(builder, descriptor, fieldValue);
+		}
+
+	}
+
+	protected static void doAddField(final Builder builder, final FieldDescriptor fd, final Object value) {
+		if (value != null) {
+			if (fd.isRepeated()) {
+				builder.addRepeatedField(fd, value);
+			} else if (fd.isOptional() || fd.isRequired()) {
+				builder.setField(fd, value);
+			}
+		}
+	}
+
+	protected static void parseMessage(final Builder builder, final Descriptor descriptor, final String value, final String split) {
+
+		Iterable<Pair> iterablePair = () -> {
+
+			final Iterator<FieldDescriptor> fields = descriptor.getFields().iterator();
+			final Iterator<String> values = Lists.newArrayList(Splitter.on(split).trimResults().split(value)).iterator();
+
+			return new Iterator<Pair>() {
+				@Override
+				public boolean hasNext() {
+					return fields.hasNext() && values.hasNext();
+				}
+
+				@Override
+				public Pair next() {
+					final FieldDescriptor field = fields.next();
+					final String value1 = values.next();
+					return new Pair(field, value1);
+				}
+
+				@Override
+				public void remove() {
+					throw new UnsupportedOperationException("cannot remove");
+				}
+			};
+		};
+
+//		final IterablePair<FieldDescriptor, String> iterablePair =
+//				new IterablePair<FieldDescriptor, String>(descriptor.getFields(), Lists.newArrayList(Splitter
+//						.on(split).trimResults().split(value)));
+
+		for (final Pair<FieldDescriptor, String> p : iterablePair) {
+			addField(builder, p.getKey(), p.getValue());
+		}
+	}
+
+	protected static String base64(final byte[] data) {
+		final byte[] bytes = Base64.encodeBase64(data);
+		return new String(bytes);
+	}
+
+	public static String replace(final String s, final String regex, final String replacement) {
+		return s.replaceAll(regex, replacement);
+	}
+
+	public static String trim(final String s) {
+		return s.trim();
+	}
+
+	protected static String removePrefix(final Type type, final String s) {
+		return removePrefix(type.toString(), s);
+	}
+
+	private static String removePrefix(final String prefix, final String s) {
+		return StringUtils.removeStart("" + s, prefix + "|");
+	}
+
+	protected static Qualifier.Builder getDefaultQualifier(final String scheme) {
+		final Qualifier.Builder qualifier = Qualifier.newBuilder().setSchemeid(scheme).setSchemename(scheme);
+		return qualifier;
+	}
+
+	protected static StructuredProperty getStructuredProperty(final String value,
+			final String classid,
+			final String classname,
+			final String schemeid,
+			final String schemename) {
+		if ((value == null) || value.isEmpty()) return null;
+		return StructuredProperty.newBuilder().setValue(value).setQualifier(getQualifier(classid, classname, schemeid, schemename)).build();
+	}
+
+	protected static StringField.Builder sf(final String s) {
+		return StringField.newBuilder().setValue(s);
+	}
+
+	public static String generateNsPrefix(final String prefix, final String externalId) {
+		return StringUtils.substring(prefix + StringUtils.leftPad(externalId, MAX_NSPREFIX_LEN - prefix.length(), "_"), 0, MAX_NSPREFIX_LEN);
+	}
+
+	public static String md5(final String s) {
+		try {
+			final MessageDigest md = MessageDigest.getInstance("MD5");
+			md.update(s.getBytes("UTF-8"));
+			return new String(Hex.encodeHex(md.digest()));
+		} catch (final Exception e) {
+			System.err.println("Error creating id");
+			return null;
+		}
+	}
+
+	public static String oafId(final String entityType, final String prefix, final String id) {
+		if (id.isEmpty() || prefix.isEmpty()) return "";
+		return oafSimpleId(entityType, prefix + "::" + md5(id));
+	}
+
+	public static String oafSimpleId(final String entityType, final String id) {
+		String returnValue = (Type.valueOf(entityType).getNumber() + "|" + id).replaceAll("\\s|\\n", "");
+		return returnValue;
+	}
+
+	public static String oafSplitId(final String entityType, final String fullId) {
+		return oafId(entityType, StringUtils.substringBefore(fullId, "::"), StringUtils.substringAfter(fullId, "::"));
+	}
+
+	/**
+	 * Utility method, allows to perform param based map lookups in xsl
+	 *
+	 * @param map
+	 * @param key
+	 * @return value associated to the key.
+	 */
+	public static Object lookupValue(final Map<String, Object> map, final String key) {
+		return map.get(key);
+	}
+
+	/**
+	 * Utility method, allows to perform param based map lookups in xsl
+	 *
+	 * @param map
+	 * @param key
+	 * @return value associated to the key.
+	 */
+	public static int mustMerge(final Map<String, Object> map, final String key) {
+		final Object val = lookupValue(map, key);
+		return (val != null) && (val instanceof String) && val.equals("true") ? 1 : 0;
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_dc2oaf_narcis.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_dc2oaf_narcis.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_dc2oaf_narcis.xml	(revision 51225)
@@ -0,0 +1,256 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="9cb0ed27-005c-4355-beff-f8e9a23c5a08_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2016-02-17T15:54:56+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_dc2oaf_narcis</TITLE>
+                <CODE>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1" 
+                             xmlns:dri="http://www.driver-repository.eu/namespace/dri" 
+                             xmlns:dc="http://purl.org/dc/elements/1.1/" 
+                             xmlns:oaf="http://namespace.openaire.eu/oaf" 
+                             xmlns:dr="http://www.driver-repository.eu/namespace/dr" 
+                             xmlns:transformExt="http://namespace.openaire.eu/java/org.apache.commons.codec.digest.DigestUtils" 
+                             xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                             extension-element-prefixes="transformExt TransformationFunction"
+                             exclude-result-prefixes="transformExt TransformationFunction" &gt;
+                        &lt;xsl:output indent="yes" omit-xml-declaration="yes"/&gt;
+
+  &lt;xsl:param name="varOfficialName" /&gt;
+  &lt;xsl:param name="varDsType" /&gt;
+  &lt;xsl:param name="varDataSourceId" /&gt;
+  &lt;xsl:param name="varFP7" select="'corda_______::'"/&gt;
+  &lt;xsl:param name="varH2020" select="'corda__h2020::'"/&gt;
+
+  &lt;xsl:param name="repoCode" select="substring-before(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], ':')"/&gt;
+
+  &lt;xsl:param name="index" select="0"/&gt;
+  &lt;xsl:param name="transDate" select="current-dateTime()"/&gt;
+  &lt;xsl:variable name="tf" select="TransformationFunction:getInstance()"/&gt;
+
+
+
+&lt;xsl:variable name="vCodes"&gt;
+  &lt;codes&gt;
+   &lt;code key="uva" value="od_______323"   id="opendoar____::323" name="Universiteit van Amsterdam Digital Academic Repository"/&gt;
+   &lt;code key="uvapub" value="od_______323"   id="opendoar____::323" name="Universiteit van Amsterdam Digital Academic Repository"/&gt;
+   &lt;code key="cwi" value="od______2358" id="opendoar____::2358" name="Repository CWI Amsterdam"/&gt; &lt;!-- CWI --&gt;
+   &lt;code key="eur" value="od______1113"  id="opendoar____::1113" name="Erasmus University Institutional Repository"/&gt;
+   &lt;code key="wur" value="od_______370"  id="opendoar____::370" name="Wageningen Yield"/&gt;
+   &lt;code key="uu" value="od_______101"    id="opendoar____::101" name="Utrecht University Repository"/&gt;
+   &lt;code key="ru" value="od______1236"    id="opendoar____::1236" name="Radboud Repository"/&gt; &lt;!-- Radboud --&gt;
+   &lt;code key="run" value="od______1236"  id="opendoar____::1236" name="Radboud Repository"/&gt; &lt;!-- Radboud --&gt;
+   &lt;code key="uvt" value="od_______550"   id="opendoar____::550" name="Tilburg University Repository"/&gt; &lt;!-- Tilburg --&gt;
+   &lt;code key="aup" value="od________19"   id="opendoar____::19" name="Amsterdam University Press Publications"/&gt; &lt;!-- amsterdam univ. press --&gt;
+   &lt;code key="rug" value="od_______189"  id="opendoar____::189" name="University of Groningen Digital Archive"/&gt; &lt;!-- groningen --&gt;
+   &lt;code key="dans" value="r384e1237760"  id="re3data_____::r3d100010214" name="EASY"/&gt; &lt;!--easy --&gt;
+   &lt;code key="differ" value="differ______"  id="openaire____::75ee19e2-ff9e-47f7-bed6-2e3ee23e2b49" name="Dutch Institute for Fundamental Energy Research"/&gt;
+   &lt;code key="kit" value="od______1423"  id="opendoar____::1423" name="Search4Dev"/&gt; &lt;!-- search4dev --&gt;
+   &lt;code key="ul" value="od_______202"  id="opendoar____::202" name="Leiden University Repository"/&gt; &lt;!-- leiden --&gt;
+   &lt;code key="um" value="od________83"  id="opendoar____::83" name="UM Publications"/&gt;
+   &lt;code key="knaw" value="od______1476"  id="opendoar____::1476" name="KNAW Repository"/&gt;
+   &lt;code key="vu" value="od_______369"  id="opendoar____::369" name="DSpace at VU"/&gt;
+   &lt;code key="ut" value="od_______354"  id="opendoar____::354" name="Universiteit Twente Repository"/&gt;
+   &lt;code key="hbo" value="hbo_________"  id="openaire____::79c8217f-00ee-4902-9743-9e11b4970c60" name="HBO Kennisbank"/&gt;
+   &lt;code key="kim" value="kim_________"  id="openaire____::b1b15b72-bf0b-4f91-9f95-dab2e43d3eaa" name="Publicaties KiM"/&gt;
+   &lt;code key="nivel" value="nivel_____nl"  id="driver______::daf0542d-1ef5-4f9d-80f1-62849b92aefa" name="NIVEL publications"/&gt;
+   &lt;code key="ntrl" value="od_______913"  id="opendoar____::913" name="Naturalis Publications"/&gt;
+   &lt;code key="nyenrode" value="nyenrode____"  id="openaire____::e57352f3-516b-42cb-b666-2480233c6513" name="Publications of the University Nyenrode"/&gt;
+   &lt;code key="ou" value="od_______233"  id="opendoar____::233" name="DSpace at Open Universiteit Nederland "/&gt;
+   &lt;code key="ptu" value="ptu_________"  id="openaire____::openaire____::f834f1fe-8198-4929-ac0b-b1c1bf166f38" name="Protestantse Theologische Universiteit"/&gt;
+   &lt;code key="rivm" value="od_______881"  id="opendoar____::881" name="Web-based Archive of RIVM Publications"/&gt;
+   &lt;code key="scp" value="scp_________"  id="openaire____::088a0087-4bc6-4c38-a052-b446c3b225a7" name="Sociaal en Cultureel Planbureau"/&gt;
+   &lt;code key="swov" value="swov________"  id="openaire____::06d89df2-b613-4989-9dc3-f60f2fc593f6" name="Stichting Wetenschappelijk Onderzoek Verkeersveiligheid (SWOV) Library Repository"/&gt;
+   &lt;code key="tno" value="tno_________"  id="openaire____::58fd0ad2-c476-11e5-80b3-0021e9e777ac" name="TNO Repository - hosted by TU Delft Library"/&gt;
+   &lt;code key="tue" value="od_______567"  id="opendoar____::567" name="Repository TU/e"/&gt;
+   &lt;code key="tuk" value="tuk_________"  id="openaire____::df55d991-1ebb-459c-aed6-559bcbb1d277::" name="Theological University Kampen"/&gt;
+   &lt;code key="uvh" value="uvh_______nl"  id="driver______::a422c38b-73de-44bf-a340-a4fd5f0817ea" name="Universiteit voor Humanistiek"/&gt;
+   &lt;code key="tua" value="tua_________"   id="openaire____::cd073e1e-2fe9-4ea7-aea5-dc6855c347f7" name="Theological University Apeldoorn"/&gt;
+   &lt;code key="tud" value="od_______571"   id="opendoar____::571" name="TU Delft Repository"/&gt;
+   &lt;code key="wodc" value="wodc______nl"   id="driver______::03c60250-9d65-44fe-85d3-23503b3303af" name="WODC Repository Ministerie van Veiligheid en Justitie"/&gt; 
+   &lt;code key="unesco" value="unesco___ihe"  id="2877c7c4-b57a-4f62-9c16-d7faa5b0b98b" name="UNESCO-IHE Institute for Water Education"/&gt;
+  &lt;/codes&gt;
+ &lt;/xsl:variable&gt;
+&lt;!-- not considered
+hbo added
+tno added
+differ added
+nyenrode added
+beeldengeluis todo, not yet found in metadata
+philips todo, not yet found in metadata
+scp added
+swov added
+tuk added
+tua added
+ptu added
+ut_restricted ? merge with ut?
+nda
+neyenrode
+--&gt;
+&lt;xsl:key name="kCodeByName" match="code" use="string(@key)"/&gt;
+
+
+               &lt;xsl:template name="terminate"&gt;
+                	&lt;xsl:message terminate="yes"&gt;
+                             	record is not compliant, transformation is interrupted.
+                	&lt;/xsl:message&gt;
+               &lt;/xsl:template&gt;
+
+                        &lt;xsl:template match="/"&gt;
+                              &lt;record&gt;
+                                  &lt;xsl:apply-templates select="//*[local-name() = 'header']" /&gt;
+                                  &lt;metadata&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:title"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:title'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:creator"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:creator'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:contributor"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:contributor'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:description"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:description'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:subject"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:subject'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:publisher"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:publisher'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:source"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:source'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;dc:language&gt;
+                                             &lt;xsl:value-of select="TransformationFunction:convertString($tf, //dc:language, 'Languages')"/&gt;
+                                    &lt;/dc:language&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:rights"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:rights'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:relation"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:relation'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:if test="not(//dc:identifier[starts-with(., 'http')])"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                                   &lt;/xsl:if&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:identifier[starts-with(., 'http')]"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:identifier'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+         &lt;xsl:for-each select="//dc:relation"&gt;
+            &lt;xsl:if test="matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', 'i')"&gt;
+                &lt;oaf:projectid&gt;
+                    &lt;xsl:value-of select="concat($varFP7, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))"/&gt;
+                &lt;/oaf:projectid&gt;
+            &lt;/xsl:if&gt;
+            &lt;xsl:if test="matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')"&gt;
+                &lt;oaf:projectid&gt;
+                    &lt;xsl:value-of select="concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))"/&gt;
+                &lt;/oaf:projectid&gt;
+            &lt;/xsl:if&gt;
+         &lt;/xsl:for-each&gt;
+
+
+&lt;!--
+                                    &lt;xsl:if test="not(//didl:Component/didl:Resource[@mimeType='application/pdf'])"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                                   &lt;/xsl:if&gt;
+--&gt;
+
+                                  &lt;oaf:accessrights&gt;
+                                    &lt;xsl:value-of select="TransformationFunction:convert($tf, //dc:rights, 'AccessRights')"/&gt;
+                                  &lt;/oaf:accessrights&gt;
+                                  &lt;dr:CobjCategory&gt;
+                                  &lt;xsl:value-of 
+                 select="TransformationFunction:convertString($tf, //dc:type, 'TextTypologies')" /&gt;
+         &lt;/dr:CobjCategory&gt;
+
+         &lt;oaf:dateAccepted&gt;
+               &lt;xsl:value-of select="TransformationFunction:convertString($tf, //dc:date, 'DateISO8601')"/&gt;
+         &lt;/oaf:dateAccepted&gt;
+
+
+&lt;!--
+                                    &lt;oaf:fulltext&gt;&lt;xsl:value-of select="//didl:Component/didl:Resource[@mimeType='application/pdf']/@ref"/&gt;&lt;/oaf:fulltext&gt;
+--&gt;
+         &lt;oaf:hostedBy&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="key('kCodeByName', $repoCode, $vCodes)/@name"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="key('kCodeByName', $repoCode, $vCodes)/@id"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:hostedBy&gt;
+         &lt;oaf:collectedFrom&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="$varOfficialName"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="$varDataSourceId"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:collectedFrom&gt;
+                                  &lt;/metadata&gt;
+                                &lt;xsl:copy-of select="//*[local-name() = 'about']" /&gt;
+                              &lt;/record&gt;
+
+                        &lt;/xsl:template&gt;
+
+         &lt;xsl:template name="allElements"&gt;
+             &lt;xsl:param name="sourceElement"/&gt;
+             &lt;xsl:param name="targetElement"/&gt;
+             &lt;xsl:for-each select="$sourceElement"&gt;
+                &lt;xsl:element name="{$targetElement}"&gt;
+                    &lt;xsl:value-of select="normalize-space(.)"/&gt;
+                &lt;/xsl:element&gt;
+             &lt;/xsl:for-each&gt;
+          &lt;/xsl:template&gt;
+
+
+                      &lt;xsl:template match="//*[local-name() = 'header']"&gt;
+                         &lt;xsl:copy&gt;
+                            &lt;xsl:apply-templates  select="node()|@*"/&gt;
+                             &lt;xsl:element name="dr:dateOfTransformation"&gt;
+                                 &lt;xsl:value-of select="$transDate"/&gt;
+                             &lt;/xsl:element&gt;
+                         &lt;/xsl:copy&gt;
+                        &lt;/xsl:template&gt;
+
+&lt;!--
+                       &lt;xsl:template match="dri:objIdentifier"&gt;
+                         &lt;xsl:variable name="objIdentifier" select="substring-after(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], ':')"/&gt;
+                         &lt;xsl:variable name="nsPrefix" select="key('kCodeByName', $repoCode, $vCodes)/@value"/&gt;
+                         &lt;xsl:if test="string-length($nsPrefix) = 0"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                         &lt;/xsl:if&gt;
+                        &lt;xsl:copy&gt;
+                        &lt;xsl:value-of select="concat( $nsPrefix , '::', transformExt:md5Hex(string($objIdentifier)))"/&gt;
+                        &lt;/xsl:copy&gt;
+                       &lt;/xsl:template&gt;
+--&gt;
+                       &lt;xsl:template match="node()|@*"&gt;
+                            &lt;xsl:copy&gt;
+                                 &lt;xsl:apply-templates select="node()|@*"/&gt;
+                            &lt;/xsl:copy&gt;
+                       &lt;/xsl:template&gt;
+                    &lt;/xsl:stylesheet&gt;</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_nlm2oaf_pmc.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_nlm2oaf_pmc.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_nlm2oaf_pmc.xml	(revision 51225)
@@ -0,0 +1,262 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="f20483e7-46c4-4cec-87a8-17a0cbe1a003_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2016-03-11T12:07:02+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_nlm2oaf_pmc</TITLE>
+                <CODE>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1" 
+                             xmlns:dri="http://www.driver-repository.eu/namespace/dri" 
+                             xmlns:dc="http://purl.org/dc/elements/1.1/" 
+                             xmlns:oaf="http://namespace.openaire.eu/oaf" 
+                             xmlns:dr="http://www.driver-repository.eu/namespace/dr" 
+                             xmlns:transformExt="http://namespace.openaire.eu/java/org.apache.commons.codec.digest.DigestUtils" 
+                             xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                             extension-element-prefixes="transformExt TransformationFunction"
+                             exclude-result-prefixes="transformExt TransformationFunction" &gt;
+                        &lt;xsl:output indent="yes" omit-xml-declaration="yes"/&gt;
+
+  &lt;xsl:param name="varOfficialName" /&gt;
+  &lt;xsl:param name="varDsType" /&gt;
+  &lt;xsl:param name="varDataSourceId" /&gt;
+  &lt;xsl:param name="varFP7" select="'corda_______::'"/&gt;
+  &lt;xsl:param name="varH2020" select="'corda__h2020::'"/&gt;
+  &lt;xsl:param name="epmcUrlPrefix" select="'http://europepmc.org/articles/'" /&gt;
+  &lt;xsl:param name="repoCode" select="substring-before(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], ':')"/&gt;
+
+  &lt;xsl:param name="index" select="0"/&gt;
+  &lt;xsl:param name="transDate" select="current-dateTime()"/&gt;
+  &lt;xsl:variable name="tf" select="TransformationFunction:getInstance()"/&gt;
+&lt;xsl:variable name="year" select="format-number(//*[local-name()='article-meta']//*[local-name()='pub-date'][@pub-type='epub']/*[local-name()='year'], '0000')" /&gt;
+  &lt;xsl:variable name="month" select="format-number(//*[local-name()='article-meta']//*[local-name()='pub-date'][@pub-type='epub']/*[local-name()='month'], '00')" /&gt;
+  &lt;xsl:variable name="day" select="format-number(//*[local-name()='article-meta']//*[local-name()='pub-date'][@pub-type='epub']/*[local-name()='day'], '00')" /&gt;
+
+               &lt;xsl:template name="terminate"&gt;
+                	&lt;xsl:message terminate="yes"&gt;
+                             	record is not compliant, transformation is interrupted.
+                	&lt;/xsl:message&gt;
+               &lt;/xsl:template&gt;
+
+                        &lt;xsl:template match="/"&gt;
+                              &lt;record&gt;
+                                  &lt;xsl:apply-templates select="//*[local-name() = 'header']" /&gt;
+                                  &lt;metadata&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name() = 'article-meta']//*[local-name()='article-title']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:title'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="authors"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name() = 'contrib'][@contrib-type='author']"/&gt;
+                                    &lt;/xsl:call-template&gt;
+&lt;!--                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:contributor"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:contributor'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+--&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='article-meta']/*[local-name()='abstract']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:description'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='article-categories']//*[local-name()='subject']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:subject'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='kwd-group']//*[local-name()='kwd']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:subject'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='publisher']/*[local-name()='publisher-name']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:publisher'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='journal-meta']//*[local-name()='journal-title']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:source'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:element name="dc:language"&gt;
+                                                                          &lt;xsl:text&gt;eng&lt;/xsl:text&gt;
+                                    &lt;/xsl:element&gt;
+                                    &lt;xsl:element name="dc:identifier"&gt;
+                                            &lt;xsl:value-of select="concat($epmcUrlPrefix, //*[local-name()='article-id'][@pub-id-type='pmcid'])" /&gt;
+                                    &lt;/xsl:element&gt;
+                                    &lt;xsl:element name="oaf:dateAccepted"&gt;
+                                            &lt;xsl:choose&gt;
+                                            &lt;xsl:when test="//*[local-name()='article-meta']//*[local-name()='pub-date'][@pub-type='epub']" &gt;
+                                               &lt;xsl:if test="string(number($month)) eq 'NaN'" &gt;
+                                               &lt;xsl:value-of select="concat($year, '-', '01', '-', '01')" /&gt;
+                                               &lt;/xsl:if&gt;
+                                               &lt;xsl:if test="string(number($month)) != 'NaN'" &gt;
+                                               &lt;xsl:value-of select="concat($year, '-', $month, '-', '01')" /&gt;
+                                               &lt;/xsl:if&gt;
+                                            &lt;/xsl:when&gt;
+                                            &lt;xsl:otherwise&gt;
+                                               &lt;xsl:value-of select="concat(//*[local-name()='article-meta']//*[local-name()='pub-date'][@pub-type='ppub']/*[local-name()='year'], '-01-01')" /&gt;
+                                            &lt;/xsl:otherwise&gt;
+                                            &lt;/xsl:choose&gt;
+                                    &lt;/xsl:element&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='permissions']/*[local-name()='copyright-statement']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:rights'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='permissions']/*[local-name()='license']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:rights'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='fn-group']//*[local-name()='fn']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:relation'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="identifiers"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='article-id']"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                  &lt;xsl:element name="oaf:accessrights"&gt;
+                                             &lt;xsl:text&gt;OPEN&lt;/xsl:text&gt;
+                                  &lt;/xsl:element&gt;
+                                  &lt;xsl:element name="dr:CobjCategory"&gt;
+                                             &lt;xsl:text&gt;0001&lt;/xsl:text&gt;
+                                  &lt;/xsl:element&gt;
+                                    &lt;xsl:call-template name="journal"&gt;
+                                            &lt;xsl:with-param name="journalTitle" select="//*[local-name()='journal-meta']//*[local-name()='journal-title']"/&gt;
+                                            &lt;xsl:with-param name="issn" select="//*[local-name()='journal-meta']/*[local-name()='issn'][@pub-type='ppub']"/&gt;
+                                            &lt;xsl:with-param name="eissn" select="//*[local-name()='journal-meta']/*[local-name()='issn'][@pub-type='epub']"/&gt;
+                                            &lt;xsl:with-param name="vol" select="//*[local-name()='article-meta']/*[local-name()='volume']"/&gt;
+                                            &lt;xsl:with-param name="issue" select="//*[local-name()='article-meta']/*[local-name()='issue']"/&gt;
+                                            &lt;xsl:with-param name="sp" select="//*[local-name()='article-meta']/*[local-name()='fpage']"/&gt;
+                                            &lt;xsl:with-param name="ep" select="//*[local-name()='article-meta']/*[local-name()='lpage']"/&gt;
+                                    &lt;/xsl:call-template&gt;
+         &lt;oaf:hostedBy&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="$varOfficialName"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="$varDataSourceId"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:hostedBy&gt;
+         &lt;oaf:collectedFrom&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="$varOfficialName"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="$varDataSourceId"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:collectedFrom&gt;
+                                  &lt;/metadata&gt;
+                                &lt;xsl:copy-of select="//*[local-name() = 'about']" /&gt;
+                              &lt;/record&gt;
+
+                        &lt;/xsl:template&gt;
+
+         &lt;xsl:template name="allElements"&gt;
+             &lt;xsl:param name="sourceElement"/&gt;
+             &lt;xsl:param name="targetElement"/&gt;
+             &lt;xsl:for-each select="$sourceElement"&gt;
+                &lt;xsl:element name="{$targetElement}"&gt;
+                    &lt;xsl:value-of select="normalize-space(.)"/&gt;
+                &lt;/xsl:element&gt;
+             &lt;/xsl:for-each&gt;
+          &lt;/xsl:template&gt;
+
+          &lt;xsl:template name="journal"&gt;
+             &lt;xsl:param name="journalTitle"/&gt;
+             &lt;xsl:param name="issn"/&gt;
+             &lt;xsl:param name="eissn"/&gt;
+             &lt;xsl:param name="vol"/&gt;
+             &lt;xsl:param name="issue"/&gt;
+             &lt;xsl:param name="sp"/&gt;
+             &lt;xsl:param name="ep"/&gt;
+                &lt;xsl:element name="oaf:journal"&gt;
+                    &lt;xsl:attribute name="issn"&gt;
+                    &lt;xsl:value-of select="normalize-space($issn)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:attribute name="eissn"&gt;
+                    &lt;xsl:value-of select="normalize-space($eissn)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:attribute name="vol"&gt;
+                    &lt;xsl:value-of select="normalize-space($vol)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:attribute name="iss"&gt;
+                    &lt;xsl:value-of select="normalize-space($issue)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:attribute name="sp"&gt;
+                    &lt;xsl:value-of select="normalize-space($sp)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:attribute name="ep"&gt;
+                    &lt;xsl:value-of select="normalize-space($ep)"/&gt;
+                    &lt;/xsl:attribute&gt;
+                    &lt;xsl:value-of select="normalize-space($journalTitle)"/&gt;
+                &lt;/xsl:element&gt;
+          &lt;/xsl:template&gt;
+
+
+          &lt;xsl:template name="identifiers"&gt;
+             &lt;xsl:param name="sourceElement"/&gt;
+                &lt;xsl:element name="oaf:identifier"&gt;
+                         &lt;xsl:attribute name="identifierType"&gt;
+                               &lt;xsl:text&gt;doi&lt;/xsl:text&gt;
+                         &lt;/xsl:attribute&gt;
+                         &lt;xsl:value-of select="$sourceElement[@pub-id-type='doi']"/&gt;
+                &lt;/xsl:element&gt;
+                &lt;xsl:element name="oaf:identifier"&gt;
+                         &lt;xsl:attribute name="identifierType"&gt;
+                               &lt;xsl:text&gt;pmc&lt;/xsl:text&gt;
+                         &lt;/xsl:attribute&gt;
+                         &lt;xsl:value-of select="$sourceElement[@pub-id-type='pmcid']"/&gt;
+                &lt;/xsl:element&gt;
+                &lt;xsl:element name="oaf:identifier"&gt;
+                         &lt;xsl:attribute name="identifierType"&gt;
+                               &lt;xsl:text&gt;pmid&lt;/xsl:text&gt;
+                         &lt;/xsl:attribute&gt;
+                         &lt;xsl:value-of select="$sourceElement[@pub-id-type='pmid']"/&gt;
+                &lt;/xsl:element&gt;
+          &lt;/xsl:template&gt;
+
+          &lt;xsl:template name="authors"&gt;
+             &lt;xsl:param name="sourceElement"/&gt;
+             &lt;xsl:for-each select="$sourceElement"&gt;
+                &lt;xsl:element name="dc:creator"&gt;
+                    &lt;xsl:if test="./*[local-name()='contrib-id'][@contrib-id-type='orcid']"&gt;
+                         &lt;xsl:attribute name="nameIdentifierScheme"&gt;
+                             &lt;xsl:text&gt;ORCID&lt;/xsl:text&gt;
+                         &lt;/xsl:attribute&gt;
+                         &lt;xsl:attribute name="schemeURI"&gt;
+                             &lt;xsl:text&gt;http://orcid.org/&lt;/xsl:text&gt;
+                         &lt;/xsl:attribute&gt; 
+                         &lt;xsl:attribute name="nameIdentifier"&gt;
+                             &lt;xsl:value-of select="substring-after(./*[local-name()='contrib-id'][@contrib-id-type='orcid'], 'http://orcid.org/')"/&gt;
+                         &lt;/xsl:attribute&gt; 
+                    &lt;/xsl:if&gt;
+                    &lt;xsl:value-of select="concat(normalize-space(./*[local-name()='name']/*[local-name()='surname']), ', ', normalize-space(./*[local-name()='name']/*[local-name()='given-names']))"/&gt;
+                &lt;/xsl:element&gt;
+             &lt;/xsl:for-each&gt;              
+          &lt;/xsl:template&gt;
+
+
+
+                       &lt;xsl:template match="//*[local-name() = 'header']"&gt;
+&lt;xsl:copy&gt;
+     &lt;xsl:apply-templates  select="node()|@*"/&gt;
+                             &lt;xsl:element name="dr:dateOfTransformation"&gt;
+                                 &lt;xsl:value-of select="$transDate"/&gt;
+                             &lt;/xsl:element&gt;
+  &lt;/xsl:copy&gt;
+                        &lt;/xsl:template&gt;
+
+
+                       &lt;xsl:template match="node()|@*"&gt;
+                            &lt;xsl:copy&gt;
+                                 &lt;xsl:apply-templates select="node()|@*"/&gt;
+                            &lt;/xsl:copy&gt;
+                       &lt;/xsl:template&gt;
+                    &lt;/xsl:stylesheet&gt;</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_puma.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_puma.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_puma.xml	(revision 51225)
@@ -0,0 +1,89 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="3fe5fd31-1b14-427d-934b-5d5dba6cf5cc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_puma</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_puma";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::$1'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+$varPrj1 = RegExpr(xpath:"//dc:relation[1][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+$varPrj2 = RegExpr(xpath:"//dc:relation[2][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+$varPrj3 = RegExpr(xpath:"//dc:relation[3][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+$varPrj4 = RegExpr(xpath:"//dc:relation[4][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+$varPrj5 = RegExpr(xpath:"//dc:relation[5][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+$varPrj6 = RegExpr(xpath:"//dc:relation[6][starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')]", $var1, "s/^.*info:eu-repo\/grantAgreement\/EC\/FP7\/(\d\d\d\d\d\d).*//gmi");
+if xpath:"string-length($varPrj1) = 20" oaf:projectid = $varPrj1; else $var0 = "''";
+if xpath:"string-length($varPrj2) = 20" oaf:projectid = $varPrj2; else $var0 = "''";
+if xpath:"string-length($varPrj3) = 20" oaf:projectid = $varPrj3; else $var0 = "''";
+if xpath:"string-length($varPrj4) = 20" oaf:projectid = $varPrj4; else $var0 = "''";
+if xpath:"string-length($varPrj5) = 20" oaf:projectid = $varPrj5; else $var0 = "''";
+if xpath:"string-length($varPrj6) = 20" oaf:projectid = $varPrj6; else $var0 = "''";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gm"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gm"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pmc.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pmc.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_pmc.xml	(revision 51225)
@@ -0,0 +1,94 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="e63b5bd2-6a52-4a39-ada9-ed4b3f073176_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_pmc</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_pmc";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+// $varPmc = Convert(xpath:"substring-after(//dc:identifier, '=')", PMC);
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = Convert(xpath:".", Person); else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+//$varUrl = xpath:"concat('http://europepmc.org/articles/', $varPmc)";
+//if xpath:"string-length($varPmc) &gt; 0" dc:identifier = $varUrl; else dc:identifier = xpath:"//dc:identifier";
+//if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+//apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+//apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+//if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varDOI = RegExpr(xpath:"//dc:identifier[starts-with(., 'doi:')]", $var0, "s/^(.*doi: )//gmi");
+$varPMC = RegExpr(xpath:"//dc:identifier[starts-with(., 'PMC:')]", $var0, "s/^(.*PMC: )//gmi");
+$varPMID = RegExpr(xpath:"//dc:identifier[starts-with(., 'PMID:')]", $var0, "s/^(.*PMID: )//gmi");
+$varIND = RegExpr(xpath:"//dc:identifier[starts-with(., 'IND:')]", $var0, "s/^(.*IND: )//gmi");
+oaf:identifier = set($varPMC, @identifierType = "pmc";);
+oaf:identifier = set($varDOI, @identifierType = "doi";);
+oaf:identifier = set($varPMID, @identifierType = "pmid";);
+oaf:identifier = set($varIND, @identifierType = "ind";);
+//oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/OafToHbaseXsltFunctions.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/OafToHbaseXsltFunctions.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/OafToHbaseXsltFunctions.java	(revision 51225)
@@ -0,0 +1,220 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+import com.google.protobuf.Descriptors.Descriptor;
+import eu.dnetlib.data.graph.model.DNGFRowKeyDecoder;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.FieldTypeProtos.*;
+import eu.dnetlib.data.proto.PersonProtos.Person;
+import eu.dnetlib.data.proto.PublicationProtos.Publication;
+import eu.dnetlib.data.proto.TypeProtos.Type;
+import org.apache.commons.lang3.StringUtils;
+import org.w3c.dom.NodeList;
+
+public class OafToHbaseXsltFunctions extends CommonDNetXsltFunctions {
+
+	public static String oafPublication(
+			final String resultId,
+			final String provenance,
+			final String trust,
+			final NodeList about,
+			final String hostedbyId,
+			final String hostedbyName,
+			final String collectedFromId,
+			final String collectedFromName,
+			final String originalId,
+			final String dateOfCollection,
+			final String dateOfTransformation,
+			final NodeList nodelist) {
+		try {
+			final String entityId = DNGFRowKeyDecoder.decode(resultId).getKey();
+			final ValueMap values = ValueMap.parseNodeList(nodelist);
+			final Descriptor mDesc = Publication.Metadata.getDescriptor();
+
+			final Publication.Metadata.Builder metadata = buildMetadata(values, mDesc);
+			final Publication.Builder result = buildPublication(metadata, values, mDesc, hostedbyId, hostedbyName);
+			final DNGFEntity.Builder entity = buildOafEntity(result, entityId, nodelist, getKV(collectedFromId, collectedFromName), originalId);
+			entity.setDateofcollection(dateOfCollection)
+					.setDateoftransformation(dateOfTransformation).setOaiprovenance(getOAIProvenance(about));
+
+			final DNGF oaf = getOaf(entity, getDataInfo(about, provenance, trust, false, false));
+			return base64(oaf.toByteArray());
+		} catch (final Throwable e) {
+			handleException(e, resultId, hostedbyId, hostedbyName, provenance, trust, collectedFromId, collectedFromName, originalId, dateOfCollection);
+		}
+		return null;
+	}
+
+	public static String oafPublicationUpdate(final String resultId,
+			final String provenance,
+			final String trust,
+			final NodeList nodelist,
+			final String hostedbyId,
+			final String hostedbyName) {
+		try {
+			final String entityId = DNGFRowKeyDecoder.decode(resultId).getKey();
+			final ValueMap values = ValueMap.parseNodeList(nodelist);
+			final Descriptor mDesc = Publication.Metadata.getDescriptor();
+
+			final Publication.Metadata.Builder metadata = buildMetadata(values, mDesc);
+			final Publication.Builder result = buildPublication(metadata, values, mDesc, hostedbyId, hostedbyName);
+
+			final DNGFEntity.Builder entity = buildOafEntity(result, entityId, nodelist, null, null);
+			final DNGF oaf = getOaf(entity, null);
+			return base64(oaf.toByteArray());
+		} catch (final Throwable e) {
+			handleException(e, resultId, hostedbyId, hostedbyName, provenance, trust, null, null, null, null);
+		}
+		return null;
+	}
+
+	private static DNGFEntity.Builder buildOafEntity(final Publication.Builder pub,
+			final String entityId,
+			final NodeList nodelist,
+			KeyValue collectedFrom,
+			String originalId) {
+
+		final List<StructuredProperty> pids = Lists.newArrayList();
+		pids.addAll(parsePids(nodelist));
+
+		final DNGFEntity.Builder entity =
+				getEntity(Type.publication, entityId, collectedFrom, StringUtils.isBlank(originalId) ? null : Lists.newArrayList(originalId), null, null, pids)
+						.setPublication(pub);
+		return entity;
+	}
+
+	protected static Publication.Metadata.Builder buildMetadata(final ValueMap values, final Descriptor mDesc) {
+		final Publication.Metadata.Builder metadata = Publication.Metadata.newBuilder();
+		addStructuredProps(metadata, mDesc.findFieldByName("subject"), values.get("subject").listValues(), "keyword", "dnet:result_subject");
+		addStructuredProps(metadata, mDesc.findFieldByName("title"), values.get("title").listValues(), "main title", "dnet:dataCite_title");
+		for (final String fieldname : Lists.newArrayList("description", "source", "contributor")) {
+			if (values.get(fieldname) != null) {
+				for (final String s : values.get(fieldname).listValues()) {
+					addField(metadata, mDesc.findFieldByName(fieldname), s);
+				}
+			}
+		}
+		addField(metadata, mDesc.findFieldByName("language"), setQualifier(getDefaultQualifier("dnet:languages"), values.get("language").listValues()));
+		addField(metadata, mDesc.findFieldByName("dateofacceptance"), values.get("dateaccepted").listValues());
+		addField(metadata, mDesc.findFieldByName("publisher"), values.get("publisher").listValues());
+		addField(metadata, mDesc.findFieldByName("embargoenddate"), values.get("embargoenddate").listValues());
+		addField(metadata, mDesc.findFieldByName("storagedate"), values.get("storagedate").listValues());
+
+		addField(metadata, mDesc.findFieldByName("resulttype"), getSimpleQualifier("publication", "dnet:result_typologies"));
+
+		addField(metadata, mDesc.findFieldByName("fulltext"), values.get("fulltext").listValues());
+		addField(metadata, mDesc.findFieldByName("format"), values.get("format").listValues());
+		if (values.get("concept") != null) {
+			for (final Element e : values.get("concept")) {
+				final String id = e.getAttributes().get("id");
+				if (StringUtils.isBlank(id)) throw new IllegalArgumentException("Context id cannot be blank");
+				metadata.addContext(Context.newBuilder().setId(id));
+			}
+		}
+		if (values.get("journal") != null) {
+			for (final Element e : values.get("journal")) {
+
+				final Journal.Builder journal = Journal.newBuilder();
+				if (e.getText() != null) {
+					journal.setName(e.getText());
+				}
+
+				final Map<String, String> attr = e.getAttributes();
+				if (attr != null) {
+					if (attr.get("issn") != null) {
+						journal.setIssnPrinted(attr.get("issn"));
+					}
+					if (attr.get("eissn") != null) {
+						journal.setIssnOnline(attr.get("eissn"));
+					}
+					if (attr.get("lissn") != null) {
+						journal.setIssnLinking(attr.get("lissn"));
+					}
+				}
+				metadata.setJournal(journal.build());
+			}
+		}
+		return metadata;
+	}
+
+	protected static Publication.Builder buildPublication(final Publication.Metadata.Builder metadata,
+			final ValueMap values,
+			final Descriptor mDesc,
+			final String hostedbyId,
+			final String hostedbyName) {
+		final Publication.Builder result = Publication.newBuilder();
+		if (values.get("creator") != null) {
+			for (final String fullname : Iterables.limit(values.get("creator").listValues(), 10)) {
+
+				final Person.Metadata.Builder authorMetadata = Person.Metadata.newBuilder();
+
+				authorMetadata.setFullname(sf(fullname));
+
+				final eu.dnetlib.pace.model.Person p = new eu.dnetlib.pace.model.Person(fullname, false);
+				if (p.isAccurate()) {
+					authorMetadata.setFirstname(sf(p.getNormalisedFirstName()));
+					authorMetadata.clearSecondnames().addSecondnames(sf(p.getNormalisedSurname()));
+					authorMetadata.setFullname(sf(p.getNormalisedFullname()));
+				}
+
+				result.addAuthor(Person.newBuilder().setMetadata(authorMetadata));
+			}
+		}
+
+		final Instance.Builder instance = Instance.newBuilder().setHostedby(getKV(hostedbyId, hostedbyName));
+
+		addField(instance, Instance.getDescriptor().findFieldByName("licence"),
+				setQualifier(getDefaultQualifier("dnet:access_modes"), values.get("accessrights").listValues()));
+		addField(instance, Instance.getDescriptor().findFieldByName("instancetype"),
+				setQualifier(getDefaultQualifier("dnet:publication_resource"), values.get("cobjcategory").listValues()));
+
+		if (values.get("identifier") != null) {
+			addField(instance, Instance.getDescriptor().findFieldByName("url"),
+					Lists.newArrayList(Iterables.filter(values.get("identifier").listValues(), urlFilter)));
+		}
+
+		result.addInstance(instance);
+
+		final List<Element> extrefs = values.get("reference");
+		if (!extrefs.isEmpty()) {
+			final Descriptor extDesc = ExternalReference.getDescriptor();
+			for (final Element element : extrefs) {
+				final ExternalReference.Builder extref = ExternalReference.newBuilder();
+				addField(extref, extDesc.findFieldByName("url"), element.getText());
+				addField(extref, extDesc.findFieldByName("sitename"), element.getAttributes().get("source"));
+				addField(extref, extDesc.findFieldByName("refidentifier"), element.getAttributes().get("identifier"));
+				addField(extref, extDesc.findFieldByName("label"), element.getAttributes().get("title"));
+				addField(extref, extDesc.findFieldByName("query"), element.getAttributes().get("query"));
+				addField(extref, extDesc.findFieldByName("qualifier"),
+						setQualifier(getDefaultQualifier("dnet:externalReference_typologies"), Lists.newArrayList(element.getAttributes().get("type")))
+								.build());
+
+				result.addExternalReference(extref);
+			}
+		}
+
+		return result.setMetadata(metadata);
+	}
+
+	private static void handleException(Throwable e, final String resultId, final String hostedbyId, final String hostedbyName,
+			final String provenance, final String trust, final String collectedFromId, final String collectedFromName,
+			final String originalId, final String dateOfCollection) {
+		System.err.println("resultId: " + resultId);
+		if (StringUtils.isNotBlank(hostedbyId)) System.err.println("hostedbyId: " + hostedbyId);
+		if (StringUtils.isNotBlank(hostedbyName)) System.err.println("hostedbyName: " + hostedbyName);
+		if (StringUtils.isNotBlank(provenance)) System.err.println("provenance: " + provenance);
+		if (StringUtils.isNotBlank(trust)) System.err.println("trust: " + trust);
+		if (StringUtils.isNotBlank(collectedFromId)) System.err.println("collectedFromId: " + collectedFromId);
+		if (StringUtils.isNotBlank(collectedFromName)) System.err.println("collectedFromName: " + collectedFromName);
+		if (StringUtils.isNotBlank(originalId)) System.err.println("originalId: " + originalId);
+		if (StringUtils.isNotBlank(dateOfCollection)) System.err.println("dateOfCollection: " + dateOfCollection);
+		e.printStackTrace();
+		throw new RuntimeException(e);
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/ValueMap.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/ValueMap.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/xml/ValueMap.java	(revision 51225)
@@ -0,0 +1,66 @@
+package eu.dnetlib.data.transform.xml;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import com.google.common.collect.Maps;
+
+@SuppressWarnings("serial")
+public class ValueMap extends HashMap<String, ElementList> {
+
+	public static ValueMap parseNodeList(final NodeList nodeList) {
+		final ValueMap values = new ValueMap();
+
+		for (int i = 0; i < nodeList.getLength(); i++) {
+			getNodeValue(nodeList.item(i), values);
+		}
+		return values;
+	}
+
+	protected static void getNodeValue(final Node node, final ValueMap values) {
+
+		final String nodeName = node.getLocalName().toLowerCase();
+
+		final Node nodeText = node.getFirstChild();
+		final Element element = nodeText != null ? new Element(nodeText.getNodeValue()) : new Element();
+		final Map<String, String> attrs = Maps.newHashMap();
+
+		final NamedNodeMap attributeList = node.getAttributes();
+		for (int j = 0; j < attributeList.getLength(); j++) {
+			Node attr = attributeList.item(j);
+			if ((attr.getNodeValue() != null) && !attr.getNodeValue().isEmpty()) {
+				attrs.put(attr.getLocalName(), attr.getNodeValue());
+			}
+		}
+		element.setAttributes(attrs);
+
+		if (!element.isEmpty()) {
+			if (!values.containsKey(nodeName)) {
+				values.put(nodeName, new ElementList());
+			}
+
+			values.get(nodeName).add(element);
+		}
+	}
+
+	@Override
+	public ElementList get(final Object key) {
+		ElementList e = super.get(key);
+		return e != null ? e : new ElementList();
+	}
+
+	@Override
+	public String toString() {
+		StringBuilder sb = new StringBuilder();
+		sb.append("{");
+		for (String k : this.keySet()) {
+			sb.append(k).append("=").append(this.get(k)).append("\n");
+		}
+		sb.append("}");
+		return sb.toString();
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/nlm2oaf_cleaning_OPENAIREplus.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/nlm2oaf_cleaning_OPENAIREplus.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/nlm2oaf_cleaning_OPENAIREplus.xml	(revision 51225)
@@ -0,0 +1,68 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="8c64ef19-449e-45fd-a70b-1af37b9cd10b_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-06-19T15:27:44+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>nlm2oaf_cleaning_OPENAIREplus</TITLE>
+                <CODE>declare_script "nlm2oaf_cleaning_OpenAIREplus";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = xpath:"//dri:recordIdentifier";
+apply xpath:"//article-meta//contrib[@contrib-type='author']/name" if xpath:"true()" dc:creator =  xpath:"concat(./surname, ', ', ./given-names)"; else $varDummy = "''";
+dc:title = xpath:"//article-meta/title-group/article-title";
+apply xpath:"//article-meta//subj-group[@subj-group-type='heading']" if xpath:"true()" dc:subject = xpath:"normalize-space(./subject)"; else $varDummy = "''";
+apply xpath:"//article-meta/kwd-group/kwd" if xpath:"true()" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:publisher = xpath:"normalize-space(//journal-meta/publisher/publisher-name)";
+dc:description = xpath:"//article-meta/abstract";
+$varDoi = xpath:"//article-meta/article-id[@pub-id-type='doi']";
+dc:identifier = xpath:"concat('http://dx.doi.org/', $varDoi)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+//dc:language = Convert(xpath:"//dc:language", Languages);
+dc:language = "eng";
+$varDateEpub = xpath:"//article-meta/pub-date[@pub-type='epub']";
+oaf:dateAccepted = xpath:"concat($varDateEpub/year, '-', $varDateEpub/month, '-', $varDateEpub/day)";
+//
+//oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+dr:CobjCategory = "0001";
+oaf:accessrights = "OPEN";
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+oaf:identifier = set($varDoi, @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+$varJournal = xpath:"//journal-meta/journal-title";
+$varEissn = xpath:"//journal-meta/issn[@pub-type='epub']";
+$varVolume = xpath:"//article-meta/volume";
+//$varStartPage = xpath:"//amf:serial/amf:startpage";
+//$varEndPage = xpath:"//amf:serial/amf:endpage";
+//$varIssue = xpath:"//amf:serial/amf:issue";
+// $varIssue = "";
+// oaf:journal = set($varJournal, @vol = $varVolume;, @iss =$varIssue;, @sp= $varStartPage;, @ep= $varEndPage;, @issn = xpath:"./@issn";, @eissn = xpath:"./@eissn";);
+oaf:journal = set($varJournal, @vol = $varVolume;, @issn = $varEissn;, @eissn = $varEissn;);
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_dcrelation_last.xml	(revision 51225)
@@ -0,0 +1,83 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="351c08cd-08a7-4a7b-b629-80b828553164_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_dcrelation_last</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_dcrelation_last";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+$varHttpLinks = xpath:"//dc:relation[starts-with(., 'http')]";
+if xpath:"count($varHttpLinks) &gt; 0" $varHttpTest = "true"; else dc:identifier = skipRecord();
+dc:identifier = xpath:"$varHttpLinks[last()][normalize-space(.)]";
+dr:CobjIdentifier = xpath:"//dc:identifier[normalize-space(.)]";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'http') and position=last()" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_relation.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_relation.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_relation.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c0fb3b80-8466-466c-89b1-a5d1e3d60910_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_dc_relation</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_dc_relation";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+//preprocess p1 = dblookup("select id, officialname, accessinfopackage from datasources where accessinfopackage is not null");
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:relation[starts-with(., 'http')]" $varHttpTest = "true"; else dc:relation = skipRecord();
+apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:identifier" if xpath:"string-length(.) > 0" dr:CobjIdentifier = xpath:"normalize-space(.)"; else $varDummy = "''";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+if xpath:"count(//dc:language) > 0" dc:language = Convert(xpath:"//dc:language", Languages); else dc:language = "eng";
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_1299.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_1299.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_1299.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="044e8e7c-0861-42d5-9b4a-15252faa446e_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-29T10:05:49+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_1299</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_1299";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0 or //dc:creator[starts-with(., '?????')]" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+// if xpath:"//dc:title[starts-with(., '?????')]" dc:title = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_lpInIdentifier_ftInRelationFirst.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_lpInIdentifier_ftInRelationFirst.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_lpInIdentifier_ftInRelationFirst.xml	(revision 51225)
@@ -0,0 +1,79 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="610ea7e1-751c-48ef-a958-1cfdb803565e_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-29T14:37:31+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_lpInIdentifier_ftInRelationFirst</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_lpInIdentifier_ftInRelationFirst";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+dc:rights = xpath:"//dc:rights";
+dc:type = xpath:"//dc:type";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+oaf:fulltext = xpath:"normalize-space(//dc:relation[starts-with(., 'http') and ends-with(normalize-space(.), '.pdf')][1])";
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_tropmed.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_tropmed.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_tropmed.xml	(revision 51225)
@@ -0,0 +1,80 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="75b06691-81d5-47c4-9626-bf1dd5b21122_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_tropmed</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_tropmed";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http://hdl.handle.net/10390/')" dc:identifier = xpath:"concat('http://dspace.itg.be/handle/10390/', substring-after(normalize-space(.), 'http://hdl.handle.net/10390/'))"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_scientificreports.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_scientificreports.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_scientificreports.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="93547998-a573-4f8a-bce3-a8f9cb32acbd_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-12-11T10:51:43+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_scientificreports</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_scientificreports";
+// make DOIs to URLs
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'doi:')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'doi:')" dc:identifier = xpath:"concat('http://dx.doi.org/', substring-after(normalize-space(.), 'doi:'))"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datacite_rules.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datacite_rules.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datacite_rules.xml	(revision 51225)
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="754faf14-fe72-46b3-a219-e0423f8bb732_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-01-08T23:27:01+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_cleaning_datacite</TITLE>
+                <CODE><![CDATA[
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
+ 		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+        	xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                extension-element-prefixes="TransformationFunction"
+                exclude-result-prefixes="TransformationFunction">
+
+  <xsl:param name="varOfficialName" />
+  <xsl:param name="varDsType" />
+  <xsl:param name="varDataSourceId" />
+  <xsl:param name="varCorda" select="'corda_______::'"/>
+  <xsl:param name="varHostedByOfficialName" select="'Unknown Repository'"/>
+  <xsl:param name="varHostedByDataSourceId" select="'openaire____::1256f046-bf1f-4afc-8b47-d0b147148b18'"/>
+
+  <xsl:param name="index" select="0"/>
+  <xsl:variable name="tf" select="TransformationFunction:getInstance()"/>
+
+
+  <xsl:template match="/">
+    <xsl:variable name="datasourcePrefix"
+             select="normalize-space(//oaf:datasourceprefix)" />
+    <xsl:call-template name="validRecord" />
+  </xsl:template>
+
+
+  <xsl:template name="validRecord">
+    <record>
+      <xsl:copy-of select="//*[local-name() = 'header']" />
+
+      <metadata>
+        <xsl:copy-of select="//*[local-name() = 'metadata']/*[local-name() = 'resource']" />
+
+         <xsl:if test="//*[local-name()='date']/@dateType='Available'">
+            <xsl:variable name='varEmbargoEndDate' 
+                select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='date'][@dateType='Available']), 'DateISO8601')"/>
+            <xsl:choose>
+              <xsl:when test="string-length($varEmbargoEndDate) > 0">
+                <oaf:embargoenddate>
+                  <xsl:value-of select="$varEmbargoEndDate"/>
+                </oaf:embargoenddate>
+              </xsl:when>
+              <xsl:otherwise>
+               <oaf:skip>
+                 <xsl:value-of select="TransformationFunction:skipRecord($tf, $index)"/>
+               </oaf:skip>
+              </xsl:otherwise>
+            </xsl:choose>
+         </xsl:if>
+
+         <xsl:choose>
+           <xsl:when test="//*[local-name()='resourceType']/@resourceTypeGeneral='Dataset'">
+
+             <dr:CobjCategory>
+               <xsl:value-of 
+                     select="TransformationFunction:convertString($tf, //*[local-name()='resourceType']/@resourceTypeGeneral, 'TextTypologies')" />
+             </dr:CobjCategory>
+           </xsl:when>
+           <xsl:otherwise>
+               <oaf:skip>
+                 <xsl:value-of select="TransformationFunction:skipRecord($tf, $index)"/>
+               </oaf:skip>
+           </xsl:otherwise>
+         </xsl:choose>
+
+         <oaf:dateAccepted>
+               <xsl:value-of select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='publicationYear']), 'DateISO8601')"/>           
+         </oaf:dateAccepted>
+         <xsl:choose>
+
+          <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+<!--          <xsl:when test="//*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+-->
+          <xsl:otherwise>
+          <xsl:choose>
+           <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'http://creativecommons.org') or starts-with(normalize-space(.), 'Creative Commons')]">
+              <oaf:accessrights>
+                 <xsl:text>OPEN</xsl:text>
+              </oaf:accessrights>
+            </xsl:when>
+            <xsl:when test="//*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'http://creativecommons.org')]">
+             <oaf:accessrights>
+                 <xsl:text>OPEN</xsl:text>
+             </oaf:accessrights>
+            </xsl:when>
+            <xsl:otherwise>
+              <oaf:accessrights>
+                 <xsl:text>CLOSED</xsl:text>
+              </oaf:accessrights>
+            </xsl:otherwise> 
+          </xsl:choose>
+         </xsl:otherwise>
+        </xsl:choose>
+
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+
+<!--
+    <xsl:if test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics/embargoedAccess')]">
+        <oaf:embargoenddate>
+          <xsl:value-of select="//*[local-name()='date']/@dateType='Available'"/>
+        </oaf:embargoenddate>
+    </xsl:if>
+-->
+
+         <xsl:for-each select="//*[local-name()='nameIdentifier']">
+            <xsl:if test="string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6">
+                <oaf:projectid>
+                    <xsl:value-of select="TransformationFunction:regExpr($tf, normalize-space(.), $varCorda, 's/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gm')"/>
+                </oaf:projectid>
+            </xsl:if>
+         </xsl:for-each>
+
+         <oaf:hostedBy>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varHostedByOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varHostedByDataSourceId"/>
+            </xsl:attribute>
+         </oaf:hostedBy>
+         <oaf:collectedFrom>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varDataSourceId"/>
+            </xsl:attribute>
+         </oaf:collectedFrom>
+      </metadata>
+      <xsl:copy-of select="//*[local-name() = 'about']" />
+   </record>
+  </xsl:template>
+<!--
+  <xsl:template match="//*[local-name()='language']">
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+  </xsl:template>
+-->
+</xsl:stylesheet>
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Column.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Column.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/transform/Column.java	(revision 51225)
@@ -0,0 +1,26 @@
+package eu.dnetlib.data.transform;
+
+public class Column<N, V> {
+
+	private N name;
+
+	private V value;
+
+	public static <N, V> Column<N, V> newInstance(final N name, final V value) {
+		return new Column<N, V>(name, value);
+	}
+
+	public Column(final N name, final V value) {
+		this.name = name;
+		this.value = value;
+	}
+
+	public N getName() {
+		return name;
+	}
+
+	public V getValue() {
+		return value;
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_person_normalization.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_person_normalization.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_person_normalization.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c6a65d3b-16ea-423e-ac79-3821f1655986_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_person_normalization</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_person_normalization";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+//apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = Convert(xpath:".", Person); else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFDecoder.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFDecoder.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/model/DNGFDecoder.java	(revision 51225)
@@ -0,0 +1,217 @@
+package eu.dnetlib.data.graph.model;
+
+import java.util.List;
+import java.util.Map.Entry;
+
+import com.google.protobuf.*;
+import com.google.protobuf.Descriptors.EnumValueDescriptor;
+import com.google.protobuf.Descriptors.FieldDescriptor;
+
+import com.google.protobuf.GeneratedMessage.GeneratedExtension;
+import eu.dnetlib.data.graph.utils.RelDescriptor;
+import eu.dnetlib.data.proto.DNGFProtos.DNGF;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFEntity;
+import eu.dnetlib.data.proto.DNGFProtos.DNGFRel;
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import eu.dnetlib.data.proto.KindProtos.Kind;
+
+/**
+ * Helper class, to be used as accessor helper over the DNGF structure.
+ *
+ * @author claudio
+ *
+ */
+public class DNGFDecoder {
+
+	/**
+	 * DNGF object
+	 */
+	private DNGF dngf;
+
+	/**
+	 * Cached sub decoder
+	 */
+	private DNGFEntityDecoder entityDecoder = null;
+
+	/**
+	 * Cached sub decoder
+	 */
+	private DNGFRelDecoder relDecoder = null;
+
+	protected DNGFDecoder(final byte[] value) {
+		this(value, null);
+	}
+
+	protected DNGFDecoder(final byte[] value, final GeneratedExtension... ge) {
+		try {
+			final ExtensionRegistry registry = ExtensionRegistry.newInstance();
+			if (ge != null) {
+				for(GeneratedExtension e : ge) {
+					registry.add(e);
+				}
+			}
+			this.dngf = DNGF.parseFrom(value, registry);
+
+		} catch (InvalidProtocolBufferException e) {
+			throw new RuntimeException("unable to deserialize proto: " + new String(value));
+		}
+	}
+
+	private DNGFDecoder(final DNGF dngf) {
+		this.dngf = dngf;
+	}
+
+    public static DNGFDecoder decode(final DNGF dngf) {
+        return new DNGFDecoder(dngf);
+    }
+
+    public static DNGFDecoder decode(final byte[] b) {
+        return new DNGFDecoder(b);
+    }
+
+    public static DNGFDecoder decode(final byte[] b, final GeneratedExtension... ge) {
+        return new DNGFDecoder(b, ge);
+    }
+
+    private static String escapeXml(final String value) {
+        return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
+    }
+
+	public Kind getKind() {
+		return dngf.getKind();
+	}
+
+    // Entity
+
+	public DNGF getDNGF() {
+		return dngf;
+	}
+
+	public GeneratedMessage getMetadata() {
+		return decodeEntity().getMetadata();
+	}
+
+	public GeneratedMessage getDNGFEntity() {
+		return decodeEntity().getEntity();
+	}
+
+	public String getEntityId() {
+		return decodeEntity().getId();
+	}
+
+	public DNGFEntity getEntity() {
+		return dngf.getEntity();
+	}
+
+
+    // Rel
+
+	public DNGFEntityDecoder decodeEntity() {
+		if (entityDecoder == null) {
+			entityDecoder = DNGFEntityDecoder.decode(getEntity());
+		}
+		return entityDecoder;
+	}
+
+	public DNGFRel getDNGFRel() {
+		return dngf.getRel();
+	}
+
+	public Qualifier relType() {
+		return decodeRel().getRelType();
+	}
+
+	public String relTypeName() {
+		return relType().toString();
+	}
+
+	public String relSourceId() {
+		return decodeRel().getRelSourceId();
+	}
+
+	public String relTargetId() {
+		return decodeRel().getRelTargetId();
+	}
+
+	private DNGFRelDecoder decodeRel() {
+		if (relDecoder == null) {
+			relDecoder = DNGFRelDecoder.decode(getDNGFRel());
+		}
+		return relDecoder;
+	}
+
+	public byte[] toByteArray() {
+		return dngf.toByteArray();
+	}
+
+	public String getColumnFamily() {
+		switch (getKind()) {
+		case entity:
+			return "metadata";
+		case relation:
+			return "rels";
+		default:
+			throw new IllegalArgumentException("invalid kind");
+		}
+	}
+
+	public String getRowkey() {
+		switch (getKind()) {
+		case entity:
+			return getEntityId();
+		case relation:
+			return getDNGFRel().getSource();
+		default:
+			throw new IllegalArgumentException("invalid kind");
+		}
+	}
+
+	public String getQualifier() {
+		switch (getKind()) {
+		case entity:
+			return getEntity().getType().toString();
+		case relation:
+			return getRelDescriptor().qualifier();
+		default:
+			throw new IllegalArgumentException("invalid kind");
+		}
+	}
+
+	public String asXml() {
+		StringBuilder sb = new StringBuilder("<oaf>");
+
+		for (Entry<FieldDescriptor, Object> e : dngf.getAllFields().entrySet()) {
+			asXml(sb, e.getKey(), e.getValue());
+		}
+		sb.append("</oaf>");
+		return sb.toString();
+	}
+
+	@SuppressWarnings("unchecked")
+	private void asXml(final StringBuilder sb, final FieldDescriptor fd, final Object value) {
+
+		if (fd.isRepeated() && (value instanceof List<?>)) {
+			for (Object o : ((List<Object>) value)) {
+				asXml(sb, fd, o);
+			}
+		} else if (fd.getType().equals(FieldDescriptor.Type.MESSAGE)) {
+			sb.append("<" + fd.getName() + ">");
+			for (Entry<FieldDescriptor, Object> e : ((Message) value).getAllFields().entrySet()) {
+				asXml(sb, e.getKey(), e.getValue());
+			}
+			sb.append("</" + fd.getName() + ">");
+		} else if (fd.getType().equals(FieldDescriptor.Type.ENUM)) {
+			sb.append("<" + fd.getName() + ">");
+			sb.append(((EnumValueDescriptor) value).getName());
+			sb.append("</" + fd.getName() + ">");
+		} else {
+			sb.append("<" + fd.getName() + ">");
+			sb.append(escapeXml(value.toString()));
+			sb.append("</" + fd.getName() + ">");
+		}
+	}
+
+    public RelDescriptor getRelDescriptor() {
+        return decodeRel().getRelDescriptor();
+    }
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_narcis.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_narcis.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_narcis.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="48a51f8f-4667-4a89-a812-16e82c5380dc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-12-04T10:05:24+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_narcis</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_narcis";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+$varHostedById = "'opendoar____::101'";
+$varHostedByName = "'Igitur Archief - Utrecht Publishing and Archiving Service'";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varHostedByName; , @id = $varHostedById;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nemertes.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nemertes.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nemertes.xml	(revision 51225)
@@ -0,0 +1,85 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a02ac18a-c8a4-483f-8934-5ab3f5776bf7_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-12-07T12:51:19+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_nemertes</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_nemertes";
+// nemertes specific rulescript to fix url in dc:identifier
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+//$varHttpIdentifier = xpath:"//dc:identifier[starts-with(., 'http')][1]";
+apply xpath:"//dc:identifier"  if xpath:"contains(.,'dspace/handle/123456789')" dc:identifier = xpath:"concat('http://hdl.handle.net/10889/', substring-after(., '123456789/'))"; else varDummy = "''";
+// dc:identifier = xpath:"normalize-space(.)";
+apply xpath:"//dc:identifier[not(contains(.,'dspace/handle/123456789'))]"  if xpath:"starts-with(.,'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+// apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" $varDummy = "''"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_hku.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_hku.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_hku.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5fb66d83-2f9c-4a54-8b92-30486a0c99d3_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-03-19T12:49:39+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_hku</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_hku";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http://hdl.handle.net')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+// if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+if xpath:"not(//dc:rights[starts-with(., 'Creative Commons')] or //dc:publisher[starts-with(., 'BioMed Central')] or //dc:publisher[starts-with(., 'Public Library of Science')] or //dc:identifier[starts-with(., 'PMC')])" dc:publisher = skipRecord(); else oaf:accessrights = "OPEN";
+
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_milano.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_milano.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_milano.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c190a6a3-83dd-43a8-b9b2-f4db6a72beca_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_milano</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_milano";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics/closedAccess')] and not(//dc:relation[starts-with(normalize-space(.), 'info:eu-repo/grantAgreement')])" dc:relation = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_skipTestRecords.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_skipTestRecords.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_skipTestRecords.xml	(revision 51225)
@@ -0,0 +1,80 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="e9a05808-f08a-4f75-9c22-b4f1d7b54f95_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_skipTestRecords</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_skipTestRecords";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:relation[starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/12345')]" dc:relation = skipRecord(); else $varDummy = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/utils/RelDescriptor.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/utils/RelDescriptor.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/graph/utils/RelDescriptor.java	(revision 51225)
@@ -0,0 +1,136 @@
+package eu.dnetlib.data.graph.utils;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier;
+import org.apache.commons.lang3.StringUtils;
+
+public class RelDescriptor {
+
+    public static final String ONTOLOGY_SEPARATOR = "_";
+
+	public static final String QUALIFIER_SEPARATOR = ":";
+
+	public static final String RELTYPE_REGEX = "(\\w+_\\w+)_(\\w+)";
+	public static final String ID_REGEX = "([0-9][0-9]\\|.{12}::[a-zA-Z0-9]{32})";
+
+	public static final Pattern QUALIFIER_PATTERN = Pattern.compile("^" + RELTYPE_REGEX + "$");
+	public static final Pattern FULL_QUALIFIER_PATTERN = Pattern.compile("^" + RELTYPE_REGEX + QUALIFIER_SEPARATOR + ID_REGEX + "$");
+
+    private String code;
+
+	private String ontologyCode;
+
+	private String termCode;
+
+	private String targetId = null;
+
+    public RelDescriptor(final String ontologyCode, final String termCode) {
+        this.ontologyCode = ontologyCode;
+        this.termCode = termCode;
+        this.code = ontologyCode + ONTOLOGY_SEPARATOR + termCode;
+    }
+
+	public RelDescriptor(final String ontologyCode, final String termCode, final String targetId) {
+		this(ontologyCode, termCode);
+		this.targetId = targetId;
+	}
+
+	public RelDescriptor(final String value) {
+		if (StringUtils.isBlank(value)) {
+			throw new IllegalArgumentException("empty value is not permitted");
+		}
+
+		final Matcher matcher = QUALIFIER_PATTERN.matcher(value);
+		if (matcher.matches()) {
+			this.code = value;
+			this.ontologyCode = matcher.group(1);
+			this.termCode = matcher.group(2);
+		} else {
+			final Matcher fullMatcher = FULL_QUALIFIER_PATTERN.matcher(value);
+			if (fullMatcher.matches()) {
+				this.code = fullMatcher.group(1) + ONTOLOGY_SEPARATOR + fullMatcher.group(2);
+				this.ontologyCode = fullMatcher.group(1);
+				this.termCode = fullMatcher.group(2);
+				this.targetId = fullMatcher.group(3);
+			} else {
+				throw new IllegalArgumentException(String.format("invalid qualifier format: '%s'", value));
+			}
+		}
+    }
+
+    public String shortQualifier() {
+    	return getOntologyCode() + ONTOLOGY_SEPARATOR + getTermCode();
+    }
+
+    public String qualifier() {
+		return qualifier(getTargetId());
+    }
+
+	public String qualifier(final String targetId) {
+		if (StringUtils.isBlank(targetId)) {
+			throw new IllegalStateException("incomplete qualifier");
+		}
+
+		return shortQualifier() + QUALIFIER_SEPARATOR + targetId;
+	}
+
+	public static String asString(final Qualifier qualifier) {
+    	if (qualifier == null) {
+		    throw new IllegalArgumentException("invalid qualifier");
+	    }
+    	return qualifier.getSchemeid() + ONTOLOGY_SEPARATOR + qualifier.getClassid();
+	}
+
+	public Qualifier asQualifier() {
+		return Qualifier.newBuilder()
+				.setClassid(getTermCode()).setClassname(getTermCode())
+				.setSchemeid(getOntologyCode()).setSchemename(getOntologyCode()).build();
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public String getOntologyCode() {
+		return ontologyCode;
+	}
+
+	public String getTermCode() {
+		return termCode;
+	}
+
+	@Override
+	public String toString() {
+		return getCode();
+	}
+
+	@Override
+	public int hashCode() {
+		final int prime = 31;
+		int result = 1;
+		result = (prime * result) + ((code == null) ? 0 : code.hashCode());
+		return result;
+	}
+
+	@Override
+	public boolean equals(final Object obj) {
+		if (this == obj) return true;
+		if (obj == null) return false;
+		if (getClass() != obj.getClass()) return false;
+		RelDescriptor other = (RelDescriptor) obj;
+		if (code == null) {
+			if (other.code != null) return false;
+		} else if (!code.equals(other.code)) return false;
+		return true;
+	}
+
+	public String getTargetId() {
+		return targetId;
+	}
+
+	public void setTargetId(final String targetId) {
+		this.targetId = targetId;
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_pangaea_datacite.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_pangaea_datacite.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_pangaea_datacite.xml	(revision 51225)
@@ -0,0 +1,157 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a9649911-1697-47df-922a-23ac4c1e593a_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-07-17T10:41:08+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_cleaning_pangaea_datacite</TITLE>
+                <CODE><![CDATA[
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
+ 		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+        	xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                extension-element-prefixes="TransformationFunction"
+                exclude-result-prefixes="TransformationFunction">
+
+  <xsl:param name="varOfficialName" />
+  <xsl:param name="varDsType" />
+  <xsl:param name="varDataSourceId" />
+  <xsl:param name="varCorda" select="'corda_______::'"/>
+
+  <xsl:param name="index" select="0"/>
+  <xsl:variable name="tf" select="TransformationFunction:getInstance()"/>
+
+
+  <xsl:template match="/">
+    <xsl:variable name="datasourcePrefix"
+             select="normalize-space(//oaf:datasourceprefix)" />
+    <xsl:call-template name="validRecord" />
+  </xsl:template>
+
+
+  <xsl:template name="validRecord">
+    <record>
+      <xsl:copy-of select="//*[local-name() = 'header']" />
+
+      <metadata>
+        <xsl:copy-of select="//*[local-name() = 'metadata']/*[local-name() = 'resource']" />
+
+		<xsl:copy-of select="//*[local-name() = 'metadata']/*[local-name() = 'relatedPublication']" copy-namespaces="no"/>
+		<xsl:copy-of select="//*[local-name() = 'metadata']/*[local-name() = 'relatedDataSet']" copy-namespaces="no"/>
+
+         <xsl:if test="//*[local-name()='date']/@dateType='Available'">
+            <xsl:variable name='varEmbargoEndDate' 
+                select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='date'][@dateType='Available']), 'DateISO8601')"/>
+            <xsl:choose>
+              <xsl:when test="string-length($varEmbargoEndDate) > 0">
+                <oaf:embargoenddate>
+                  <xsl:value-of select="$varEmbargoEndDate"/>
+                </oaf:embargoenddate>
+              </xsl:when>
+              <xsl:otherwise>
+               <oaf:skip>
+                 <xsl:value-of select="TransformationFunction:skipRecord($tf, $index)"/>
+               </oaf:skip>
+              </xsl:otherwise>
+            </xsl:choose>
+         </xsl:if>
+
+         <dr:CobjCategory><xsl:value-of 
+                 select="TransformationFunction:convertString($tf, //*[local-name()='resourceType']/@resourceTypeGeneral, 'TextTypologies')" />
+         </dr:CobjCategory>
+
+         <oaf:dateAccepted>
+               <xsl:value-of select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='publicationYear']), 'DateISO8601')"/>           
+         </oaf:dateAccepted>
+         <xsl:choose>
+
+          <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+          <xsl:when test="//*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:choose>
+             <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'http://creativecommons.org')]">
+              <oaf:accessrights>
+                 <xsl:text>OPEN</xsl:text>
+              </oaf:accessrights>
+             </xsl:when>
+             <xsl:otherwise>
+              <oaf:accessrights>
+                 <xsl:text>CLOSED</xsl:text>
+              </oaf:accessrights>
+             </xsl:otherwise> 
+            </xsl:choose>
+          </xsl:otherwise>
+         </xsl:choose>
+
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+
+<!--
+    <xsl:if test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics/embargoedAccess')]">
+        <oaf:embargoenddate>
+          <xsl:value-of select="//*[local-name()='date']/@dateType='Available'"/>
+        </oaf:embargoenddate>
+    </xsl:if>
+-->
+
+         <xsl:for-each select="//*[local-name()='nameIdentifier']">
+            <xsl:if test="string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6">
+                <oaf:projectid>
+                    <xsl:value-of select="TransformationFunction:regExpr($tf, normalize-space(.), $varCorda, 's/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gm')"/>
+                </oaf:projectid>
+            </xsl:if>
+         </xsl:for-each>
+
+
+         <oaf:hostedBy>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varDataSourceId"/>
+            </xsl:attribute>
+         </oaf:hostedBy>
+         <oaf:collectedFrom>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varDataSourceId"/>
+            </xsl:attribute>
+         </oaf:collectedFrom>
+      </metadata>
+      <xsl:copy-of select="//*[local-name() = 'about']" />
+   </record>
+  </xsl:template>
+
+<!--
+  <xsl:template match="//*[local-name()='language']">
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+  </xsl:template>
+-->
+</xsl:stylesheet>
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_source.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_source.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_dc_source.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="0c46760d-4787-4b56-87a7-ab91983b7494_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_dc_source</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_dc_source";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"not(starts-with(normalize-space(.), 'http'))" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:source[starts-with(., 'http')]" $varHttpTest = "true"; else dc:source = skipRecord();
+dc:identifier = xpath:"//dc:source[starts-with(normalize-space(.), 'http')]";
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nivel.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nivel.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_nivel.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="8836d313-164c-4842-bf8d-d42076dd3b52_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-12-05T08:46:44+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_nivel</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_nivel";
+// nivel specific language handling
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language//*[local-name='text']", Languages);
+//dc:language = Convert(xpath:"//dc:language//*[local-name='text'][language='0']", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/index/CloudIndexClient.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/index/CloudIndexClient.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/data/index/CloudIndexClient.java	(revision 51225)
@@ -0,0 +1,109 @@
+package eu.dnetlib.data.index;
+
+import java.util.List;
+
+import com.google.common.base.Function;
+
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.solr.client.solrj.SolrQuery;
+import org.apache.solr.client.solrj.impl.CloudSolrServer;
+import org.apache.solr.client.solrj.response.QueryResponse;
+import org.apache.solr.client.solrj.response.UpdateResponse;
+import org.apache.solr.common.SolrInputDocument;
+
+/**
+ * Created by michele on 11/11/15.
+ */
+public class CloudIndexClient {
+
+	private static final Log log = LogFactory.getLog(CloudIndexClient.class);
+	private static final String INDEX_RECORD_RESULT_FIELD = "dnetResult";
+
+	private final CloudSolrServer solrServer;
+
+	protected CloudIndexClient(final CloudSolrServer solrServer) {
+		this.solrServer = solrServer;
+	}
+
+	public int feed(final String record, final String indexDsId, final Function<String, String> toIndexRecord) throws CloudIndexClientException {
+		try {
+			final SolrInputDocument doc = prepareSolrDocument(record, indexDsId, toIndexRecord);
+			if ((doc == null) || doc.isEmpty()) throw new CloudIndexClientException("Invalid solr document");
+			return feed(doc);
+		} catch (final Throwable e) {
+			throw new CloudIndexClientException("Error feeding document", e);
+		}
+	}
+
+	public int feed(final SolrInputDocument document) throws CloudIndexClientException {
+		try {
+			final UpdateResponse res = solrServer.add(document);
+			//log.debug("feed time for single records, elapsed time: " + HumanTime.exactly(res.getElapsedTime()));
+			if (res.getStatus() != 0) {
+				throw new CloudIndexClientException("bad status: " + res.getStatus());
+			}
+			solrServer.commit();
+			return res.getStatus();
+		} catch (final Throwable e) {
+			throw new CloudIndexClientException("Error feeding document", e);
+		}
+	}
+
+	public void feed(final List<SolrInputDocument> docs, final AfterFeedingCallback callback) throws CloudIndexClientException {
+		try {
+			final UpdateResponse res = solrServer.add(docs);
+			//log.debug("feed time for " + docs.size() + " records, elapsed tipe: : " + HumanTime.exactly(res.getElapsedTime()));
+			solrServer.commit();
+			if (callback != null) {
+				callback.doAfterFeeding(res);
+			}
+			if (res.getStatus() != 0) throw new CloudIndexClientException("bad status: " + res.getStatus());
+		} catch (final Throwable e) {
+			throw new CloudIndexClientException("Error feeding documents", e);
+		}
+	}
+
+	public SolrInputDocument prepareSolrDocument(final String record, final String indexDsId, final Function<String, String> toIndexRecord)
+			throws CloudIndexClientException {
+		try {
+			/*
+			final StreamingInputDocumentFactory documentFactory = new StreamingInputDocumentFactory();
+
+			final String version = (new SimpleDateFormat("yyyy-MM-dd\'T\'hh:mm:ss\'Z\'")).format(new Date());
+			final String indexRecord = toIndexRecord.apply(record);
+
+			if (log.isDebugEnabled()) {
+				log.debug("***************************************\nSubmitting index record:\n" + indexRecord + "\n***************************************\n");
+			}
+
+			return documentFactory.parseDocument(version, indexRecord, indexDsId, INDEX_RECORD_RESULT_FIELD);*/
+			return null;
+		} catch (final Throwable e) {
+			throw new CloudIndexClientException("Error creating solr document", e);
+		}
+	}
+
+	public boolean isRecordIndexed(final String id) throws CloudIndexClientException {
+		try {
+			final SolrQuery query = new SolrQuery();
+			query.setQuery("objidentifier:\"" + id + "\"");
+			final QueryResponse res = solrServer.query(query);
+			return res.getResults().size() > 0;
+		} catch (final Throwable e) {
+			throw new CloudIndexClientException("Error searching documents", e);
+		}
+	}
+
+	public void close() {
+		if (solrServer != null) {
+			solrServer.shutdown();
+		}
+	}
+
+	public interface AfterFeedingCallback {
+
+		void doAfterFeeding(final UpdateResponse response);
+	}
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_kassel.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_kassel.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_kassel.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4a9a5f07-01c1-49c9-ad73-bbbb3807229c_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-30T15:11:52+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_kassel</TITLE>
+                <CODE><![CDATA[
+// reason for deviation from standard rule script: concat('http://nbn-resolving.org/', normalize-space(.))
+declare_script "dc_cleaning_OpenAIREplus_compliant_kassel";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'urn:nbn')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'urn:nbn')" dc:identifier = xpath:"concat('http://nbn-resolving.org/', normalize-space(.))"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/pace/model/ProtoDocumentBuilder.java
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/pace/model/ProtoDocumentBuilder.java	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/java/eu/dnetlib/pace/model/ProtoDocumentBuilder.java	(revision 51225)
@@ -0,0 +1,36 @@
+package eu.dnetlib.pace.model;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.collect.Maps;
+import com.google.protobuf.GeneratedMessage;
+
+import eu.dnetlib.data.transform.AbstractProtoMapper;
+
+public class ProtoDocumentBuilder extends AbstractProtoMapper {
+
+	public static MapDocument newInstance(final String id, final GeneratedMessage proto, final List<FieldDef> fields) {
+		final Map<String, Field> fieldMap = new ProtoDocumentBuilder().generateFieldMap(proto, fields);
+		return new MapDocument(id, fieldMap);
+	}
+
+	private Map<String, Field> generateFieldMap(final GeneratedMessage proto, final List<FieldDef> fields) {
+		final Map<String, Field> fieldMap = Maps.newHashMap();
+
+		for (final FieldDef fd : fields) {
+
+			final FieldList fl = new FieldListImpl(fd.getName(), fd.getType());
+
+			for (final Object o : processPath(proto, fd.getPathList(), fd.getType())) {
+
+				fl.add(new FieldValueImpl(fd.getType(), fd.getName(), o));
+			}
+
+			fieldMap.put(fd.getName(), fl);
+		}
+
+		return fieldMap;
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/EntityGrouperConfigurationDSResources/EntityGrouperConfigurationDSResourceType/c2b7fa8b-a3a3-439b-9799-02ea17e4d598.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/EntityGrouperConfigurationDSResources/EntityGrouperConfigurationDSResourceType/c2b7fa8b-a3a3-439b-9799-02ea17e4d598.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/EntityGrouperConfigurationDSResources/EntityGrouperConfigurationDSResourceType/c2b7fa8b-a3a3-439b-9799-02ea17e4d598.xml	(revision 51225)
@@ -0,0 +1,55 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c2b7fa8b-a3a3-439b-9799-02ea17e4d598_RW50aXR5R3JvdXBlckNvbmZpZ3VyYXRpb25EU1Jlc291cmNlcy9FbnRpdHlHcm91cGVyQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="EntityGrouperConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="EntityGrouperConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <GROUP><![CDATA[
+    index.conf {
+         publication { dups = true, links = [
+            { relType = publication_publication_isMergedIn, targetEntity = publication, expandAs = child, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype] },
+            { relType = publication_publication_merges, targetEntity = publication, expandAs = child, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype] },
+            { relType = publication_publication_isRelatedTo, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,pid] },
+            { relType = publication_publication_isAmongTopNSimilarDocuments, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },
+            { relType = publication_publication_hasAmongTopNSimilarDocuments, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },
+            { relType = publication_publication_isSupplementTo, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },
+            { relType = publication_publication_isSupplementedBy, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },
+            { relType = publication_publication_isPartOf, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] },
+            { relType = publication_publication_hasPart, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,similarity,type,pid] }
+         ]},
+         dataset { dups = true, links = [
+            { relType = dataset_dataset_isRelatedTo, targetEntity = publication, expandAs = rel, symmetric = true, fields = [title,dateofacceptance,publisher,resulttype,pid] }
+         ]},
+         person { dups = false, links = [
+            { relType = person_publication_isAuthorOf, targetEntity = publication, expandAs = rel, symmetric = true, fields = [fullname,ranking] },
+            { relType = person_publication_isAuthorOf, targetEntity = dataset, expandAs = rel, symmetric = true, fields = [fullname,ranking] },
+            { relType = project_person_isContact, targetEntity = project, expandAs = rel, symmetric = true, fields = [fullname,email,fax,phone] }
+         ]},
+         datasource { dups = false, links = [
+            { relType = datasource_organization_provides, targetEntity = organization, expandAs = rel, symmetric = true, fields = [officialname,websiteurl,datasourcetype,aggregatortype,openairecompatibility] }
+         ]},
+         organization { dups = false, links = [
+            { relType = project_organization_isParticipant, targetEntity = project, expandAs = rel, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] },
+            { relType = datasource_organization_isProvidedBy, targetEntity = datasource, expandAs = rel, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] },
+            { relType = organization_organization_merges, targetEntity = organization, expandAs = child, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] },
+            { relType = organization_organization_isMergedIn, targetEntity = organization, expandAs = child, symmetric = true, fields = [legalname,legalshortname,websiteurl,country] }
+         ]},
+         unknown { dups = false, links = []},
+         project { dups = false, links = [
+            { relType = project_organization_hasParticipant, targetEntity = organization, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] },
+            { relType = publication_project_produces, targetEntity = publication, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] },
+            { relType = dataset_project_produces, targetEntity = dataset, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] },
+            { relType = project_person_hasContact, targetEntity = person, expandAs = rel, symmetric = true, fields = [code,acronym,title,websiteurl,contracttype,fundingtree] }
+         ]}}
+                ]]></GROUP>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/919cd504-6a4b-4de1-a33c-ad26ece21350.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/919cd504-6a4b-4de1-a33c-ad26ece21350.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/919cd504-6a4b-4de1-a33c-ad26ece21350.xml	(revision 51225)
@@ -0,0 +1,53 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="919cd504-6a4b-4de1-a33c-ad26ece21350_TURGb3JtYXREU1Jlc291cmNlcy9NREZvcm1hdERTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="MDFormatDSResourceType"/>
+        <RESOURCE_KIND value="MDFormatDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2008-05-22T14:40:04+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <NAME>OPENAIRE</NAME>
+            <DESCRIPTION>Openaire Metadata Format</DESCRIPTION>
+            <INTERPRETATION>dedup</INTERPRETATION>
+            <SCHEMA uri=""/>
+        </CONFIGURATION>
+        <STATUS>
+            <LAYOUTS>
+                <LAYOUT name="index">
+                    <FIELDS>
+                        <!-- COMMON FIELDS -->
+                        <FIELD name="oaftype" path="entity/type" tokenizable="false" indexable="true" stat="false" result="false"/>
+                        <FIELD name="objIdentifier" path="entity/id" tokenizable="false" indexable="true" stat="false" result="false"/>
+                        <FIELD name="collectedfrom" path="entity/collectedfrom/value" tokenizable="false" indexable="true" result="false" stat="false" />
+                        <FIELD name="pid" path="entity/pid/value" tokenizable="false" stat="false" result="false" indexable="true"/>
+                        <FIELD name="deletedbyinference" path="dataInfo/deletedbyinference" tokenizable="false" stat="false" result="false" indexable="true"/>
+                       	<FIELD name="inferred" path="dataInfo/inferred" tokenizable="false" stat="false" result="false" indexable="true"/>                 
+						<FIELD name="actionset" indexable="true" stat="false" tokenizable="false" result="false"/>
+
+                        <!-- ORGANIZATION FIELDS -->
+                        <FIELD name="organizationlegalname" path="entity/organization/metadata/legalname/value | entity/children/organization/metadata/legalname/value" type="ngramtext" stat="false" indexable="true" result="false"/>
+                        <FIELD name="organizationlegalshortname" path="entity/organization/metadata/legalshortname/value | entity/children/organization/metadata/legalshortname/value" type="ngramtext" stat="false" indexable="true" result="false"/>
+                        <FIELD name="organizationwebsiteurl" path="entity/organization/metadata/websiteurl/value" stat="false" indexable="true" result="false"/>
+
+                        <!-- PERSON FIELDS -->
+                        <FIELD name="personfirstname" path="entity/person/metadata/firstname/value" stat="false" indexable="true" result="false"/>
+                        <FIELD name="personsecondnames" path="entity/person/metadata/secondnames/value" stat="false" indexable="true" result="false"/>
+                        <FIELD name="personfullname" path="entity/person/metadata/fullname/value" stat="false" indexable="true" result="false"/>
+
+                        <!-- PUBLICATION FIELDS -->
+                        <FIELD indexable="true" name="pubtitle" path="entity/publication/metadata/title/value | entity/children/publication/metadata/title/value" result="false" stat="false"/>
+                        <FIELD indexable="true" name="pubdescription" path="entity/publication/metadata/description/value | entity/children/publication/metadata/description/value" result="false" stat="false"/>
+                        <FIELD indexable="true" name="pubauthor" path="entity/publication/author/metadata/fullname/value | entity/children/publication/author/metadata/fullname/value" result="false" stat="false"/>
+
+                        <!-- DATASET FIELDS -->
+                        <FIELD indexable="true" name="datasettitle" path="entity/dataset/metadata/title/value | entity/children/dataset/metadata/title/value" result="false" stat="false"/>
+                        <FIELD indexable="true" name="datasetdescription" path="entity/dataset/metadata/description/value | entity/children/dataset/metadata/description/value" result="false" stat="false"/>
+                        <FIELD indexable="true" name="datasetauthor" path="entity/dataset/author/metadata/fullname/value | entity/children/dataset/author/metadata/fullname/value" result="false" stat="false"/>
+       	 			</FIELDS>
+                </LAYOUT>
+            </LAYOUTS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeRelationVersion.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeRelationVersion.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupMergeRelationVersion.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="c675a104-0eac-44fe-8149-00b105d005e8_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="mergeRelationVersionJob" type="mapreduce">
+			<DESCRIPTION>map only job that merges multiple versions of relationships stored in the same cells</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupMergeRelationVersionMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.Writable" />
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+				<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+				<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" param="entityTypeId" />
+				</FILTERS>
+				<FAMILIES>
+					<FAMILY value="rels" readVersions="true" />
+				</FAMILIES>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0" />
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/publication.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/publication.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/publication.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="acaf1433-8a35-4708-b903-ab35c899851d_RGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupOrchestrationDSResourceType"/>
+        <RESOURCE_KIND value="DedupOrchestrationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION enabled="true">
+            <DEDUPLICATION>
+                <ENTITY name="publication" code="50" label="Publication" />
+                <ACTION_SET id="dedup-similarity-publication" />
+                <SCAN_SEQUENCE>
+                	<SCAN id="c611ec67-eefc-4ffe-a5d4-cb3fc40a8baf_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                </SCAN_SEQUENCE>
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/dedup-similarity-dataset.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/dedup-similarity-dataset.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/dedup-similarity-dataset.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="31272b5f-19c4-4cb2-b67a-69b0653e430d_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+		<RESOURCE_KIND value="ActionManagerSetDSResources"/>
+		<RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+		<DATE_OF_CREATION value="2014-11-17T21:50:06+00:00"/>
+	</HEADER>
+	<BODY>
+		<SET directory="dedup-similarity-dataset" id="dedup-similarity-dataset">dedup-similarity-dataset</SET>
+		<IMPACT>INSERT_UPDATE</IMPACT>
+		<RAW_SETS>
+			<LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+		</RAW_SETS>
+		<STATUS>
+			<LAST_EXECUTION_DATE/>
+			<NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+			<NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+		</STATUS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ubiquitypress.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ubiquitypress.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ubiquitypress.xml	(revision 51225)
@@ -0,0 +1,86 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="b7773110-4beb-45f7-adf1-9cb4037fad58_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-23T09:58:00+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_ubiquitypress</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_ubiquitypress";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+declare_ns oai = "http://www.openarchives.org/OAI/2.0/";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0 and contains(., ';')" dc:creator = xpath:"substring-before(normalize-space(.), ';')"; else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0 and not(contains(., ';'))" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+// apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'http')" oaf:fulltext = xpath:"replace(normalize-space(.),'article/view', 'article/download')"; else $varDummy = "''";
+oaf:fulltext = xpath:"replace(//dc:relation[count(//dc:format[.='application/pdf']/preceding-sibling::dc:format)+1], 'article/view', 'article/download')";
+// oaf:fulltext = xpath:"count(//dc:format[.='application/pdf']/preceding-sibling::dc:format)";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+dc:date = xpath:"//dc:date";
+dc:format = xpath:"//dc:format";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:". and not(//oai:setSpec[.='up:DP']) and not(//oai:setSpec[.='up:SMP'])" dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+if xpath:"//oai:setSpec[.='up:DP']" dr:CobjCategory = "0031"; else $varDummy = "''";
+if xpath:"//oai:setSpec[.='up:SMP']" dr:CobjCategory = "0032"; else $varDummy = "''";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+// oaf:journal = set($varOfficialname, @issn = xpath:"replace(//oaf:datasourceprefix, 'issn', '')";);
+oaf:journal = set($varOfficialname, @issn = xpath:"//dc:source[2]";);
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/person.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/person.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/person.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="7a975214-9579-4991-9fb9-b25381db29a0_RGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupOrchestrationDSResourceType"/>
+        <RESOURCE_KIND value="DedupOrchestrationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION enabled="false">
+            <DEDUPLICATION>
+                <ENTITY name="person" code="30" label="Person" />
+                <ACTION_SET id="dedup-similarity-person" />
+                <SCAN_SEQUENCE>
+                	<SCAN id="2a81faf4-3412-48e2-a0a5-045636dedfb1_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                </SCAN_SEQUENCE>
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2HdfsActionsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2HdfsActionsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupSimilarity2HdfsActionsJob.xml	(revision 51225)
@@ -0,0 +1,71 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="baa63c0c-0ff3-4a15-93c1-e361800e9ca8_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="dedupSimilarity2HdfsActionsJob" type="mapreduce">
+			<DESCRIPTION>map reduce job that scans a given entity type and creates the similarRel graph</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat" />
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupSimilarityToHdfsActionsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+
+				<!-- OUTPUT -->
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Text" />
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.compress.map.output" value="true" />
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />
+
+				<PROPERTY key="mapred.output.compress" value="true"/>
+				<PROPERTY key="mapred.output.compression.type" value="BLOCK"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="10" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+				<PARAM name="mapred.output.dir" required="true" description="target hbase table" />
+				<PARAM name="dedup.conf" required="true" description="dedup configuration" />
+				<PARAM name="rawSetId" required="true" description="raw set identifier" />
+				<PARAM name="similarityCF" required="true" description="similarity column family name" />
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" param="entityTypeId" />
+				</FILTERS>
+				<FAMILIES>
+					<FAMILY value="metadata" />
+					<FAMILY value="rels" qualifier="person_person_isSimilarTo" />
+					<FAMILY value="rels" qualifier="dataset_dataset_isSimilarTo" />
+					<FAMILY value="rels" qualifier="publication_publication_isSimilarTo" />
+					<FAMILY value="rels" qualifier="organization_organization_isSimilarTo" />
+				</FAMILIES>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0" />
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OpenAIREplus_compliant_hal.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OpenAIREplus_compliant_hal.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc_cleaning_OpenAIREplus_compliant_hal.xml	(revision 51225)
@@ -0,0 +1,76 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ba70f93a-9309-40f5-8988-6018baf2b3e1_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-12-07T11:53:28+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_hal</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_hal";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+declare_ns oai = "http://www.openarchives.org/OAI/2.0/";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:contributor[starts-with(., 'European Project')]" if xpath:"string-length(replace(., '.*(\d{6,6}).*', '$1')) = 6" oaf:projectid = xpath:"concat($var1, replace(., '.*(\d{6,6}).*', '$1'))"; else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description/normalize-space(.)";
+$varHttpTest = "''";
+oaf:fulltext = xpath:"//dc:identifier[ends-with(., 'document')]";
+if xpath:"//dc:identifier[ends-with(., 'document')] or //dc:contributor[starts-with(., 'European Project')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+dc:type = xpath:"//dc:type";
+dc:format = xpath:"//dc:format";
+dc:date = xpath:"//dc:date";
+dc:language = Convert(xpath:"//dc:language", Languages);
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+// apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+if xpath:"//dc:identifier[ends-with(., 'document')]"  oaf:accessrights = "OPEN"; else oaf:accessrights = "CLOSED";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-preprocessing.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-preprocessing.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-preprocessing.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="55349610-304f-4629-b981-8d646bc25353_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T17:27:12+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-dataset-entities-preprocessing">iis-dataset-entities-preprocessing</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T17:27:12+00:00" creationDate="2014-11-17T13:20:05+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-researchinitiative.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-researchinitiative.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-researchinitiative.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="2aecb09f-83a7-4882-aea3-6ef37fa0c019_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:05+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-researchinitiative">iis-researchinitiative</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-citations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-citations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-citations.xml	(revision 51225)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="bb72e3e4-4f83-490c-848a-d7bb612fedbd_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:06+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-document-citations">iis-document-citations</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/graph.mdformat.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/graph.mdformat.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/MDFormatDSResources/MDFormatDSResourceType/graph.mdformat.xml	(revision 51225)
@@ -0,0 +1,357 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="7786e31f-7fad-45c1-a676-f6e1da9d66ed_TURGb3JtYXREU1Jlc291cmNlcy9NREZvcm1hdERTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="MDFormatDSResourceType"/>
+        <RESOURCE_KIND value="MDFormatDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2008-05-22T14:40:04+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <NAME>DNGF</NAME>
+            <DESCRIPTION>Graph Metadata Format</DESCRIPTION>
+            <INTERPRETATION>openaire</INTERPRETATION>
+            <SCHEMA uri=""/>
+        </CONFIGURATION>
+        <STATUS>
+            <LAYOUTS>
+                <LAYOUT name="index">
+	                <FIELDS>
+		                <FIELD name="oafentity" xpath="//*[local-name() = 'entity']" indexable="false" tokenizable="true" result="true" stat="false"/>
+		                <FIELD name="oaftype" value="local-name(//*[local-name()='entity']/*)" tokenizable="false" result="false" indexable="true"
+		                       stat="false"/>
+		                <FIELD name="objIdentifier" indexable="true" tokenizable="false" xpath="//header/dri:objIdentifier" stat="false" result="false"/>
+
+		                <!-- DATASOURCE FIELDS -->
+		                <FIELD name="datasourceofficialname" xpath="//*[local-name()='entity']/*[local-name()='datasource']/officialname" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="datasourceenglishname" xpath="//*[local-name()='entity']/*[local-name()='datasource']/englishname" stat="false"
+		                       indexable="true" result="false"/>
+
+		                <FIELD name="datasourceoddescription" xpath="//*[local-name()='entity']/*[local-name()='datasource']/oddescription" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="datasourceodsubjects" xpath="//*[local-name()='entity']/*[local-name()='datasource']/odsubjects" stat="false"
+		                       tokenizable="false" indexable="true" result="false"/>
+		                <FIELD name="datasourceodlanguages" xpath="//*[local-name()='entity']/*[local-name()='datasource']/odlanguages" stat="false"
+		                       tokenizable="false" indexable="true" result="false"/>
+		                <FIELD name="datasourceodcontenttypes" xpath="//*[local-name()='entity']/*[local-name()='datasource']/odcontenttypes" stat="false"
+		                       tokenizable="false" indexable="true" result="false"/>
+		                <FIELD name="datasourcetypeuiid" xpath="//*[local-name()='entity']/*[local-name()='datasource']/datasourcetypeui/@classid"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="datasourcecompatibilityid" xpath="//*[local-name()='entity']/*[local-name()='datasource']/openairecompatibility/@classid"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="datasourcecompatibilityname"
+		                       xpath="//*[local-name()='entity']/*[local-name()='datasource']/openairecompatibility/@classname" tokenizable="false" stat="false"
+		                       indexable="true" result="false" multivalued="false"/>
+
+		                <!-- ORGANIZATION FIELDS -->
+		                <FIELD name="organizationlegalshortname" xpath="//*[local-name()='entity']/*[local-name()='organization']/legalshortname"
+		                       type="ngramtext" stat="false" indexable="true" result="false"/>
+		                <FIELD name="organizationlegalname" xpath="//*[local-name()='entity']/*[local-name()='organization']/legalname" type="ngramtext"
+		                       stat="false" indexable="true" result="false"/>
+		                <FIELD name="organizationeclegalbody" xpath="//*[local-name()='entity']/*[local-name()='organization']/eclegalbody" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationeclegalperson" xpath="//*[local-name()='entity']/*[local-name()='organization']/eclegalperson" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationecnonprofit" xpath="//*[local-name()='entity']/*[local-name()='organization']/ecnonprofit" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationecresearchorganization"
+		                       xpath="//*[local-name()='entity']/*[local-name()='organization']/ecresearchorganization" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="organizationecinternationalorganizationeurinterests"
+		                       xpath="//*[local-name()='entity']/*[local-name()='organization']/ecinternationalorganizationeurinterests" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationecinternationalorganization"
+		                       xpath="//*[local-name()='entity']/*[local-name()='organization']/ecinternationalorganization" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="organizationecenterprise" xpath="//*[local-name()='entity']/*[local-name()='organization']/ecenterprise" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationecsmevalidated" xpath="//*[local-name()='entity']/*[local-name()='organization']/ecsmevalidated" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationecnutscode" xpath="//*[local-name()='entity']/*[local-name()='organization']/ecnutscode" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="organizationcountryid" xpath="//*[local-name()='entity']/*[local-name()='organization']/country/@classid"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="organizationcountryname" xpath="//*[local-name()='entity']/*[local-name()='organization']/country/@classname"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+
+		                <!-- PERSON FIELDS -->
+		                <FIELD name="personfirstname" xpath="//*[local-name()='entity']/*[local-name()='person']/firstname" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="personsecondnames" xpath="//*[local-name()='entity']/*[local-name()='person']/secondnames" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="personfullname" xpath="//*[local-name()='entity']/*[local-name()='person']/fullname" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="personcountryid" xpath="//*[local-name()='entity']/*[local-name()='person']/nationality/@classid" tokenizable="false"
+		                       stat="false" indexable="true" result="false" multivalued="false"/>
+
+		                <!-- PROJECT FIELDS -->
+		                <FIELD name="projectcode" xpath="//*[local-name()='entity']/*[local-name()='project']/code" type="ngramtext" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="projectacronym" xpath="//*[local-name()='entity']/*[local-name()='project']/acronym" type="ngramtext" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="projecttitle" xpath="//*[local-name()='entity']/*[local-name()='project']/title" type="ngramtext" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="projectstartdate" value="//*[local-name()='entity']/*[local-name()='project']/startdate" type="date" stat="false"
+		                       indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectstartyear" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='project']/startdate)"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectenddate" value="//*[local-name()='entity']/*[local-name()='project']/enddate" type="date" stat="false"
+		                       indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectendyear" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='project']/enddate)" tokenizable="false"
+		                       stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectcallidentifier" xpath="//*[local-name()='entity']/*[local-name()='project']/callidentifier" tokenizable="false"
+		                       stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectkeywords" xpath="//*[local-name()='entity']/*[local-name()='project']/keywords" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="projectduration" xpath="//*[local-name()='entity']/*[local-name()='project']/duration" tokenizable="false" stat="false"
+		                       indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectecsc39" xpath="//*[local-name()='entity']/*[local-name()='project']/ecsc39" tokenizable="false" stat="false"
+		                       indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectoamandatepublications" xpath="//*[local-name()='entity']/*[local-name()='project']/oamandatepublications"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectecarticle29_3" xpath="//*[local-name()='entity']/*[local-name()='project']/ecarticle29_3" tokenizable="false"
+		                       stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectsubject" xpath="//*[local-name()='entity']/*[local-name()='project']/subjects" stat="false" tokenizable="false"
+		                       indexable="true" result="false"/>
+
+		                <FIELD name="projectcontracttypeid" xpath="//*[local-name()='entity']/*[local-name()='project']/contracttype/@classid"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="projectcontracttypename" xpath="//*[local-name()='entity']/*[local-name()='project']/contracttype/@classname"
+		                       tokenizable="false" stat="false" indexable="true" result="false" multivalued="false"/>
+		                <FIELD name="fundinglevel0_id" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/id"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel0_name" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/name"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel0_description"
+		                       xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/description" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="fundinglevel1_id" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_1/id"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel1_name" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_1/name"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel1_description"
+		                       xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_1/description" stat="false"
+		                       indexable="true" result="false"/>
+		                <FIELD name="fundinglevel2_id" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_2/id"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel2_name" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_2/name"
+		                       tokenizable="false" stat="false" indexable="true" result="false"/>
+		                <FIELD name="fundinglevel2_description"
+		                       xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_2/description" stat="false"
+		                       indexable="true" result="false"/>
+		                <!--  PROJECTS' FUNDER FIELDS: indexable only with the new funding path/context handling -->
+		                <FIELD name="funderid" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree/funder/id" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="fundershortname" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree/funder/shortname"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+		                <FIELD name="fundername" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree/funder/name" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD indexable="true" name="funderoriginalname" result="false" stat="false" tokenizable="false"
+		                       xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree/funder/originalname"/>
+		                <FIELD name="funderjurisdiction" xpath="//*[local-name()='entity']/*[local-name()='project']/fundingtree/funder/jurisdiction"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+
+		                <!-- RESULT FIELDS -->
+		                <FIELD name="resulttitle"
+		                       xpath="//*[local-name() = 'entity']/*[local-name() ='dataset']/title | //*[local-name()='entity']/*[local-name()='dataset']/children/dataset/title |
+									  //*[local-name() = 'entity']/*[local-name() ='publication']/title | //*[local-name()='entity']/*[local-name()='publication']/children/publication/title"
+		                       stat="false" result="false" indexable="true"/>
+		                <FIELD name="resultsubject" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/subject"
+		                       tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="resultsubjectclass" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/subject/@classname"
+		                       tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="resultembargoenddate" value="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/embargoenddate"
+		                       type="date" stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resultembargoendyear" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/embargoenddate)"
+		                       tokenizable="false" stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resulttypeid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/resulttype/@classid"
+		                       tokenizable="false" stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resulttypename" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/resulttype/@classname"
+		                       tokenizable="false" stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resultlanguageid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/language/@classid" tokenizable="false"
+		                       indexable="true" result="false" stat="false" multivalued="false"/>
+		                <FIELD name="resultlanguagename" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/language/@classname" tokenizable="false"
+		                       indexable="true" result="false" stat="false" multivalued="false"/>
+		                <FIELD name="resultpublisher" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/*[local-name()='publisher']" indexable="true"
+		                       result="false" stat="false"/>
+		                <FIELD name="resultdescription" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']//*[local-name()='description']"
+		                       result="false" indexable="true" stat="false"/>
+		                <FIELD name="resultrights" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/licence/@classname"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+		                <FIELD name="resultrightsid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/licence/@classid"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+		                <FIELD name="resultbestlicense" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/bestlicense/@classname" tokenizable="false"
+		                       indexable="true" result="false" stat="false" multivalued="false"/>
+		                <FIELD name="resultbestlicenseid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/bestlicense/@classid" tokenizable="false"
+		                       indexable="true" result="false" stat="false" multivalued="false"/>
+
+		                <FIELD name="resultdateofacceptance" value="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/dateofacceptance" type="date"
+		                       stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resultacceptanceyear" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/dateofacceptance)"
+		                       tokenizable="false" stat="false" result="false" indexable="true" multivalued="false"/>
+		                <FIELD name="resulthostingdatasourceid"
+		                       xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/*[local-name()='hostedby']/@id" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+		                <FIELD name="resulthostingdatasourcename"
+		                       xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/*[local-name()='hostedby']/@name"
+		                       tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="instancetypename"
+		                       xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/*[local-name()='instancetype']/@classname"
+		                       tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="instancetypenameid"
+		                       xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/children/instance/*[local-name()='instancetype']/@classid"
+		                       tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="resultdupid" xpath="//*[local-name()='entity']/*//children/result/@objidentifier" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+
+		                <FIELD name="externalrefsite" xpath="//*[local-name()='entity']/*//children/externalreference/sitename" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="externalreflabel" xpath="//*[local-name()='entity']/*//children/externalreference/label" tokenizable="true" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="externalrefclass" xpath="//*[local-name()='entity']/*//children/externalreference/qualifier/@classid" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+		                <FIELD name="externalrefid" xpath="//*[local-name()='entity']/*//children/externalreference/refidentifier" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+
+		                <!--  REL FIELDS -->
+		                <FIELD name="reldatasourcecompatibilityid"
+		                       xpath="//*[local-name()='entity']/*//rel[./to/@type='datasource']/openairecompatibility/@classid" tokenizable="false"
+		                       indexable="true" stat="false" result="false"/>
+		                <FIELD name="relpersonid" xpath="//*[local-name()='entity']/*//rel/to[@type='person']" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="relperson" xpath="//*[local-name()='entity']/*//rel[./to/@type='person']/fullname" stat="false" indexable="true"
+		                       result="false"/>
+		                <FIELD name="relprojectid" xpath="//*[local-name()='entity']/*//rel/to[@type='project']" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="relprojectcode" xpath="//*[local-name()='entity']/*//rel[to/@type='project']/code" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="relprojectname" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/acronym" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relprojecttitle" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/title" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="relcontracttypeid" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/contracttype/@classid"
+		                       tokenizable="false" indexable="true" stat="false" result="false"/>
+		                <FIELD name="relcontracttypename" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/contracttype/@classname"
+		                       indexable="true" stat="false" result="false"/>
+		                <FIELD name="relorganizationcountryid" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classid"
+		                       tokenizable="false" indexable="true" stat="false" result="false"/>
+		                <FIELD name="relorganizationcountryname" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classname"
+		                       indexable="true" stat="false" result="false"/>
+		                <FIELD name="relorganizationid" xpath="//*[local-name()='entity']/*//rel/to[@type='organization']" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relorganizationname" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/legalname" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relorganizationshortname" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/legalshortname" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relresultid" xpath="//*[local-name()='entity']/*//rel/to[@type='result']" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="relfundinglevel0_id" xpath="//*[local-name()='entity']//rel/funding/funding_level_0" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relfundinglevel1_id" xpath="//*[local-name()='entity']//rel/funding/funding_level_1" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relfundinglevel2_id" xpath="//*[local-name()='entity']//rel/funding/funding_level_2" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relfundinglevel0_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_0/@name" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+		                <FIELD name="relfundinglevel1_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_1/@name" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+		                <FIELD name="relfundinglevel2_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_2/@name" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+
+		                <FIELD name="relinferred" xpath="//*[local-name()='entity']//rel/@inferred" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="reltrust" xpath="//*[local-name()='entity']//rel/@trust" tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="relinferenceprovenance" xpath="//*[local-name()='entity']//rel/@inferenceprovenance" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="relprovenanceactionclassid" xpath="//*[local-name()='entity']//rel/@provenanceaction" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+
+		                <!--  PROJECTS' FUNDER FIELDS: indexable only with the new funding path/context handling -->
+		                <FIELD name="relfunderid" xpath="//*[local-name()='entity']//rel/funding/funder/@id" tokenizable="false" indexable="true" result="false"
+		                       stat="false"/>
+		                <FIELD name="relfundershortname" xpath="//*[local-name()='entity']//rel/funding/funder/@shortname" tokenizable="false" indexable="true"
+		                       result="false" stat="false"/>
+		                <FIELD name="relfundername" xpath="//*[local-name()='entity']//rel/funding/funder/@name" tokenizable="false" indexable="true"
+		                       result="false" stat="false"/>
+		                <FIELD name="relfunderjurisdiction" xpath="//*[local-name()='entity']//rel/funding/funder/@jurisdiction" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+
+		                <!-- COMMON FIELDS -->
+
+		                <FIELD name="dateofcollection" value="//header/*[local-name()='dateOfCollection']" type="date" stat="false" result="false"
+		                       indexable="true" multivalued="false"/>
+		                <FIELD name="collectedfromdatasourceid" xpath="//*[local-name()='entity']//*[local-name()='collectedfrom']/@id" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="collectedfromdatasourcename" xpath="//*[local-name()='entity']//*[local-name()='collectedfrom']/@name" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+
+		                <FIELD name="pid" xpath="//*[local-name()='entity']//pid" tokenizable="false" stat="false" result="false" indexable="true"/>
+		                <FIELD name="pidclassid" xpath="//*[local-name()='entity']//pid/@classid" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="pidclassname" xpath="//*[local-name()='entity']//pid/@classname" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+
+		                <FIELD name="inferred" xpath="//*[local-name()='entity']//datainfo/inferred" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="deletedbyinference" xpath="//*[local-name()='entity']//datainfo/deletedbyinference" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="trust" xpath="//*[local-name()='entity']//datainfo/trust" tokenizable="false" stat="false" result="false"
+		                       indexable="true"/>
+		                <FIELD name="inferenceprovenance" xpath="//*[local-name()='entity']//datainfo/inferenceprovenance" tokenizable="false" stat="false"
+		                       result="false" indexable="true"/>
+		                <FIELD name="provenanceactionclassid" xpath="//*[local-name()='entity']//datainfo/provenanceaction/@classid" tokenizable="false"
+		                       stat="false" result="false" indexable="true"/>
+
+		                <FIELD name="contextid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/@id" tokenizable="false" indexable="true"
+		                       result="false" stat="false"/>
+		                <FIELD name="contexttype" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/@type" tokenizable="false" indexable="true"
+		                       result="false" stat="false"/>
+		                <FIELD name="contextname" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/@label" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <!-- Need spaecial fields for community (research initiative) context in order to exclude funders from the context browse -->
+		                <FIELD name="communityid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context[@type='community']/@id" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="communityname" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context[@type='community']/@label"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+
+		                <FIELD name="categoryid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/category/@id" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="categoryname" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/category/@label" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="conceptid" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/category//concept/@id" tokenizable="false"
+		                       indexable="true" result="false" stat="false"/>
+		                <FIELD name="conceptname" xpath="//*[local-name()='entity']/*[local-name()='publication' or local-name()='dataset']/context/category//concept/@label"
+		                       tokenizable="false" indexable="true" result="false" stat="false"/>
+
+		                <!-- COUNTER FIELDS -->
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_dedup" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_dedup/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_authorship" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_authorship/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_participation" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_participation/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_similarity" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_similarity/@value"/>
+
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_publicationdataset" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_publicationdataset/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_publicationdataset_claimed" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_publicationdataset_claimed/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_publicationdataset_collected" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_publicationdataset_collected/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_publicationdataset_inferred" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_publicationdataset_inferred/@value"/>
+
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_outcome" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_outcome/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_outcome_claimed" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_outcome_claimed/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_outcome_collected" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_outcome_collected/@value"/>
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_outcome_inferred" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_outcome_inferred/@value"/>
+
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_affiliation" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_affiliation/@value"/>
+
+		                <FIELD header="true" multivalued="false" indexable="true" name="counter_doi" result="false" stored="true" type="int" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_doi/@value"/>
+	                </FIELDS>
+                </LAYOUT>
+                <LAYOUT name="store">
+                    <FIELDS>
+                        <FIELD xpath="//dc:language" stat="true" indexable="false" name="language" result="false"/>
+                        <FIELD xpath="//dr:repositoryCountry" name="repositoryCountry" stat="true" result="false" indexable="false"/>
+                    </FIELDS>
+                </LAYOUT>
+            </LAYOUTS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-preprocessing.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-preprocessing.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-preprocessing.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="45b785fe-1f56-493f-9207-c4d4c326e68e_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T17:27:12+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-referenced-datasets-preprocessing">iis-referenced-datasets-preprocessing</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" creationDate="2014-11-17T13:20:05+00:00" lastUpdate="2014-11-17T17:27:12+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-main.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-main.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-datasets-main.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="9908ac97-58f9-489b-bfc5-923e2c9e63ab_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:05+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-referenced-datasets-main">iis-referenced-datasets-main</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization.xml	(revision 51225)
@@ -0,0 +1,25 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4b9a58d4-a048-4161-b5b1-a5cdf78a9956_RGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupOrchestrationDSResourceType"/>
+        <RESOURCE_KIND value="DedupOrchestrationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION enabled="true">
+            <DEDUPLICATION>
+                <ENTITY name="organization" code="20" label="Organization" />
+                <ACTION_SET id="dedup-similarity-organization" />
+                <SCAN_SEQUENCE>
+                	<SCAN id="98494a63-f5d1-46f7-9afd-e026c1dda913_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                	<SCAN id="1d52dba7-1902-4c25-bf5b-3598f29ef11c_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                </SCAN_SEQUENCE>
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-wos-entities.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-wos-entities.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-wos-entities.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ffbbde12-8694-40b8-926c-acd9e401b927_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T17:27:12+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-wos-entities">iis-wos-entities</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" creationDate="2014-11-17T13:20:05+00:00" lastUpdate="2014-11-17T17:27:12+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindPersonRootsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindPersonRootsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindPersonRootsJob.xml	(revision 51225)
@@ -0,0 +1,66 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="8ec4731e-4e91-4863-9a4b-7f0a8ca0542e_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupFindPersonRootsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that find the root of a similarity group (person)</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupFindRootsPersonMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupFindRootsPersonReducer" />
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />				
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.Writable" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />		
+			
+				<PROPERTY key="mapred.reduce.tasks" value="100" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+			        <FAMILY value="datasetDataset_dedupSimilarity_isSimilarTo" />
+			        <FAMILY value="publicationPublication_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-extracted-metadata.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-extracted-metadata.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-extracted-metadata.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="9e9498ed-b91b-40ce-bb6a-5e1741f2d077_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:05+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-extracted-metadata">iis-extracted-metadata</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" creationDate="2014-11-17T17:40:59+00:00" lastUpdate="2014-11-17T21:50:05+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingQuickJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingQuickJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/iisPreprocessingQuickJob.xml	(revision 51225)
@@ -0,0 +1,51 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="13beed98-81bf-4fbd-ab4f-de071177997c_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+    	<HADOOP_JOB name="iisPreprocessingQuickJob" type="oozie">
+        	<DESCRIPTION>IIS preprocessing</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+				<!-- Cluster wide -->
+                <PROPERTY key="queueName" value="default"/>
+				<PROPERTY key="user.name" value="dnet" />
+
+				<!-- Runtime -->
+                <PROPERTY key="workingDir" value="/tmp/integration/working_dir/preprocessing_quick_test"/>
+                <PROPERTY key="oozie.wf.validate.ForkJoin" value="false"/>
+                <PROPERTY key="input_referenceextraction_project" value="/user/marek.horst/share/referenceextraction/document_projects/2014-04-11"/>
+                <PROPERTY key="input_referenceextraction_dataset" value="/user/marek.horst/share/referenceextraction/document_datasets/all/2014-04-11"/>
+                <PROPERTY key="export_action_hbase_table_initialize" value="false"/>
+            </STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+ 		       	<PARAM name="import_content_object_store_location" required="true" description="mdstore service location" />
+        		<PARAM name="import_mdstore_service_location" required="true" description="mdstore service location" />
+        		<PARAM name="import_dataset_mdstore_ids_csv" required="true" description="mdstore id for dataset records" />
+        		<PARAM name="import_wos_mdstore_id" required="true" description="mdstore id for WoS records" />
+        		<PARAM name="import_database_service_location" required="true" description="database service endpoint" />
+        		<PARAM name="import_content_datacite_objectstores_csv" required="true" description="objecstore ids subject to dataset reference extraction" />
+        		<PARAM name="import_content_wos_plaintext_objectstores_csv" required="true" description="objecstore ids for WoS plaintext" />
+	      		<PARAM name="export_action_hbase_table_name" required="true" description="destination action manager table" />
+        		<PARAM name="export_action_hbase_remote_zookeeper_quorum" required="true" description="ZK quorum" />
+        		<PARAM name="export_action_hbase_remote_zookeeper_clientport" required="true" description="ZK port" />
+        		<PARAM name="nameNode" required="true" description="hdfs name node" />
+        		<PARAM name="jobTracker" required="true" description="job tracker name" />
+        		<PARAM name="oozie.wf.application.path" required="true" description="oozie job application absolute path" />
+       			<PARAM name="export_action_set_id_document_referencedProjects" required="true" description="target action set for project references" />
+       			<PARAM name="export_action_set_id_document_referencedDatasets" required="true" description="target action set for dataset references" />
+       			<PARAM name="export_action_set_id_entity_wos" required="true" description="target action set for WoS entities" />
+     			<PARAM name="export_action_set_id_entity_dataset" required="true" description="target action set for dataset entities" />
+        	</JOB_INTERFACE>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.02.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.02.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.02.xml	(revision 51225)
@@ -0,0 +1,68 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="82b1c7fb-c36c-4291-8863-0393c7c588ee_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+           	<DESCRIPTION>1 - Person: Decision tree</DESCRIPTION>
+            <DEDUPLICATION>
+			{
+				"wf" : {
+			        "threshold" : "1.0",
+			        "dedupRun" : "001",
+			        "entityType" : "person",
+			        "orderField" : "fullname",
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "person" ],
+			        "includeChildren" : "true"
+			    },
+				"pace" : {
+					"clustering" : [
+						{ "name" : "personclustering", "fields" : [ "person" ], "params" : { } }
+					],
+					"model" : [
+			            { "name" : "fullname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person/metadata/fullname/value", "params" : { } },
+			            { "name" : "person", "algo" : "PersonDistance", "type" : "JSON", "weight" : "0.7", "ignoreMissing" : "false", "path" : "person", "params" : { "common.anchors" : "1", "common.surnames" : "3" } },
+			            { "name" : "lastname", "algo" : "Null", "type" : "String", "weight" : "0", "ignoreMissing" : "true", "path" : "person/metadata/secondnames/value" }
+					],
+					"blacklists" : {
+			            "lastname" : [
+				            "(?i)^wang$",
+				            "(?i)^~wang$",
+				            "(?i)^zhang$",
+				            "(?i)^zhou$",
+				            "(?i)^zhao$",
+				            "(?i)^li$",
+				            "(?i)^~li$",
+				            "(?i)^liu$",
+				            "(?i)^chen$",
+				            "(?i)^yang$",
+				            "(?i)^kim$",
+				            "(?i)^xu$",
+				            "(?i)^huang$",
+				            "(?i)^sun$",
+				            "(?i)^lee$",
+				            "(?i)^ma$",
+				            "(?i)^kim$",
+				            "(?i)^hu$",
+				            "(?i)^wu$",
+				            "(?i)^zhu$",
+				            "(?i)^lu$"
+			            ]
+	                }
+				}
+			}
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindRootsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindRootsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupFindRootsJob.xml	(revision 51225)
@@ -0,0 +1,60 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="61f9270e-ffc1-4095-9f76-3852e4d227fb_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupFindRootsJob" type="mapreduce">
+ 			<DESCRIPTION>map reduce job that find the root of a similarity group</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />				
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.DedupFindRootsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+				
+				<!-- MISC -->				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />		
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />				
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />     
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+        			<FAMILY param="entityType" />
+        			<FAMILY value="resultResult_dedupSimilarity_isSimilarTo" />
+        			<FAMILY value="personPerson_dedupSimilarity_isSimilarTo" />
+     				<FAMILY value="organizationOrganization_dedupSimilarity_isSimilarTo" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/publication.step.01.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/publication.step.01.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/publication.step.01.xml	(revision 51225)
@@ -0,0 +1,288 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c611ec67-eefc-4ffe-a5d4-cb3fc40a8baf_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+	        <DESCRIPTION>1 - Publication: Match against the title, whose numbers must match</DESCRIPTION>
+            <DEDUPLICATION>
+ 			{ 
+				"wf" : { 
+			        "threshold" : "0.99", 
+			        "dedupRun" : "001", 
+			        "entityType" : "publication",
+			        "orderField" : "title", 
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "publication", "personPublication_authorship_hasAuthor", "publicationProject_outcome_isProducedBy", "publicationPublication_isRelatedTo_isRelatedTo", "publicationPublication_similarity_isAmongTopNSimilarDocuments", "publicationPublication_similarity_hasAmongTopNSimilarDocuments" ],
+			        "includeChildren" : "true" 
+			    },
+				"pace" : {		
+					"clustering" : [
+						{ "name" : "ngrampairs", "fields" : [ "title" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+						{ "name" : "suffixprefix", "fields" : [ "title" ], "params" : { "max" : "1", "len" : "3" } } 
+					],	
+			  		"conditions" : [ 
+			  			{ "name" : "titleVersionMatch", "fields" : [ "title" ] },
+			  			{ "name" : "sizeMatch", "fields" : [ "authors" ] }
+			  		],		
+					"model" : [
+						{ "name" : "title", "algo" : "Level2Levenstein", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "publication/metadata/title/value" },
+						{ "name" : "authors", "algo" : "Null", "type" : "List", "weight" : "0.0", "ignoreMissing" : "true", "path" : "publication/author/metadata/fullname/value" }
+					],
+					"blacklists" : { 
+						"title" : [
+				
+				"^THE ASSOCIATION AND THE GENERAL MEDICAL COUNCIL$",
+				"^Problems with perinatal pathology\.?$",
+				
+				"(?i)^Cases? of Puerperal Convulsions$",
+				"(?i)^Operative Gyna?ecology$",
+				"(?i)^Mind the gap\!?\:?$",
+				"^Chronic fatigue syndrome\.?$",
+				"^Cartas? ao editor Letters? to the Editor$",
+				"^Note from the Editor$",
+				"^Anesthesia Abstract$",
+				
+				"^Annual report$",
+				"(?i)^“?THE RADICAL PREVENTION OF VENEREAL DISEASE\.?”?$",
+				"(?i)^Graph and Table of Infectious Diseases?$",
+				"^Presentation$",
+				"(?i)^Reviews and Information on Publications$",
+				"(?i)^PUBLIC HEALTH SERVICES?$",
+				"(?i)^COMBINED TEXT-?BOOK OF OBSTETRICS AND GYN(Æ|ae)COLOGY$",
+				"(?i)^Adrese autora$",
+				"(?i)^Systematic Part .*\. Catalogus Fossilium Austriae, Band 2: Echinoidea neogenica$",
+				"(?i)^Acknowledgement to Referees$",
+				"(?i)^Behçet's disease\.?$",
+				"(?i)^Isolation and identification of restriction endonuclease.*$",
+				"(?i)^CEREBROVASCULAR DISEASES?.?$",
+				"(?i)^Screening for abdominal aortic aneurysms?\.?$",
+				"^Event management$",
+				"(?i)^Breakfast and Crohn's disease.*\.?$",
+				"^Cálculo de concentraciones en disoluciones acuosas. Ejercicio interactivo\..*\.$",
+				"(?i)^Genetic and functional analyses of SHANK2 mutations suggest a multiple hit model of Autism spectrum disorders?\.?$",
+				"^Gushi hakubutsugaku$",
+
+				"^Starobosanski nadpisi u Bosni i Hercegovini \(.*\)$",							
+				"^Intestinal spirocha?etosis$",
+				"^Treatment of Rodent Ulcer$",
+				"(?i)^\W*Cloud Computing\W*$",
+				"^Compendio mathematico : en que se contienen todas las materias mas principales de las Ciencias que tratan de la cantidad$",				
+				"^Free Communications, Poster Presentations: Session [A-F]$",
+				
+				"^“The Historical Aspects? of Quackery\.?”$",
+				"^A designated centre for people with disabilities operated by St John of God Community Services (Limited|Ltd), Louth$",
+				"^P(er|re)-Mile Premiums for Auto Insurance\\.?$",
+				"(?i)^Case Report$",							
+				"^Boletín Informativo$",
+				"(?i)^Glioblastoma Multiforme$",
+				"(?i)^Nuevos táxones animales descritos en la península Ibérica y Macaronesia desde 1994 \\(.*\\)$",
+				"^Zaměstnanecké výhody$",
+				"(?i)^The Economics of Terrorism and Counter-Terrorism: A Survey \\(Part .*\\)$",
+				"(?i)^Carotid body tumours?\\.?$", 
+				"(?i)^\\[Españoles en Francia : La condición Emigrante.*\\]$",
+				"^Avant-propos$",
+				"(?i)^St\. Patrick's Cathedral, Dublin, County Dublin - Head(s)? and Capital(s)?$",
+				"(?i)^St\. Patrick's Cathedral, Dublin, County Dublin - Bases?$",
+				"(?i)^PUBLIC HEALTH VERSUS THE STATE$",							
+				"^Viñetas de Cortázar$",
+				"(?i)^Search for heavy neutrinos and W(\\[|_|\\(|_\\{|-)?R(\\]|\\)|\\})? bosons with right-handed couplings in a left-right symmetric model in pp collisions at.*TeV(\.)?$",
+				"(?i)^Measurement of the pseudorapidity and centrality dependence of the transverse energy density in Pb(-?)Pb collisions at.*tev(\.?)$",				
+				"(?i)^Search for resonances decaying into top-quark pairs using fully hadronic decays in pp collisions with ATLAS at.*TeV$",
+				"(?i)^Search for neutral minimal supersymmetric standard model Higgs bosons decaying to tau pairs in pp collisions at.*tev$",
+
+				"(?i)^Relatório de Estágio (de|em) Angiologia e Cirurgia Vascular$",
+				"^Aus der AGMB$",				
+
+				"^Znanstveno-stručni prilozi$",
+				"(?i)^Zhodnocení finanční situace podniku a návrhy na zlepšení$",
+				"(?i)^Evaluation of the Financial Situation in the Firm and Proposals to its Improvement$",
+	            "(?i)^Hodnocení finanční situace podniku a návrhy na její zlepšení$",
+				"^Finanční analýza podniku$",
+				"^Financial analysis( of business)?$",
+				"(?i)^Textbook of Gyn(a)?(Æ)?(e)?cology$",
+				"^Jikken nihon shūshinsho$",
+				"(?i)^CORONER('|s)(s|') INQUESTS$",
+				"(?i)^(Μελέτη παραγόντων )?risk management( για ανάπτυξη και εφαρμογή ενός πληροφοριακού συστήματος| και ανάπτυξη συστήματος)?$",				
+				"(?i)^Consultants' contract(s)?$",
+				"(?i)^Upute autorima$",
+				"(?i)^Bijdrage tot de Kennis van den Godsdienst der Dajaks van Lan(d|f)ak en Tajan$",
+				"^Joshi shin kokubun$",
+				"^Kōtō shōgaku dokuhon nōson'yō$",
+				"^Jinjō shōgaku shōka$",
+				"^Shōgaku shūjichō$",
+				"^Nihon joshi dokuhon$",
+				"^Joshi shin dokuhon$",
+				"^Chūtō kanbun dokuhon$",
+				"^Wabun dokuhon$",
+				"(?i)^(Analysis of economy selected village or town|Rozbor hospodaření vybrané obce či města)$",
+				"(?i)^cardiac rehabilitation$",
+				"(?i)^Analytical summary$",
+				"^Thesaurus resolutionum Sacrae Congregationis Concilii$",
+				"(?i)^Sumario analítico(\\s{1})?(Analitic summary)?$", 
+				"^Prikazi i osvrti$",
+				"^Rodinný dům s provozovnou$",
+				"^Family house with an establishment$",
+				"^Shinsei chūtō shin kokugun$",
+				"^Pulmonary alveolar proteinosis(\\.?)$",
+				"^Shinshū kanbun$",
+				"^Viñeta(s?) de Rodríguez$",
+				"(?i)^RUBRIKA UREDNIKA$",
+				"^A Matching Model of the Academic Publication Market$",
+				"^Yōgaku kōyō$",
+
+				"^Internetový marketing$",
+				"^Internet marketing$",
+				"^Chūtō kokugo dokuhon$",
+				"^Kokugo dokuhon$",
+				"^Antibiotic Cover for Dental Extraction(s?)$",
+				"^Strategie podniku$",				
+				"^Strategy of an Enterprise$",
+				"(?i)^respiratory disease(s?)(\.?)$",
+				"^Award(s?) for Gallantry in Civil Defence$",
+				"^Podniková kultura$",
+				"^Corporate Culture$",
+				"^Severe hyponatraemia in hospital inpatient(s?)(\.?)$",
+				"^Pracovní motivace$",
+				"^Work Motivation$",
+				"^Kaitei kōtō jogaku dokuhon$",
+				"^Konsolidovaná účetní závěrka$",
+				"^Consolidated Financial Statements$",
+				"(?i)^intracranial tumour(s?)$",
+				"^Climate Change Mitigation Options and Directed Technical Change: A Decentralized Equilibrium Analysis$",
+				"^\\[CERVECERIAS MAHOU(\\.|\\:) INTERIOR\\] \\[Material gráfico\\]$",
+				"^Housing Market Dynamics(\\:|\\.) On the Contribution of Income Shocks and Credit Constraint(s?)$",
+				"^\\[Funciones auxiliares de la música en Radio París,.*\\]$",
+				"^Úroveň motivačního procesu jako způsobu vedení lidí$",
+				"^The level of motivation process as a leadership$",
+				"^Pay-beds in N(\\.?)H(\\.?)S(\\.?) Hospitals$",
+				"(?i)^news and events$",
+				"(?i)^NOVOSTI I DOGAĐAJI$",
+				"^Sansū no gakushū$",
+				"^Posouzení informačního systému firmy a návrh změn$",
+				"^Information System Assessment and Proposal for ICT Modification$",
+				"^Stresové zatížení pracovníků ve vybrané profesi$",
+				"^Stress load in a specific job$",
+				
+				"^Sunday: Poster Sessions, Pt.*$",
+				"^Monday: Poster Sessions, Pt.*$",
+				"^Wednesday: Poster Sessions, Pt.*",
+				"^Tuesday: Poster Sessions, Pt.*$",
+				
+				"^Analýza reklamy$",
+				"^Analysis of advertising$",
+
+				"^Shōgaku shūshinsho$",
+				"^Shōgaku sansū$",
+				"^Shintei joshi kokubun$",
+				"^Taishō joshi kokubun dokuhon$",
+				"^Joshi kokubun$",				
+												
+				"^Účetní uzávěrka a účetní závěrka v ČR$",
+				"(?i)^The \"?Causes\"? of Cancer$",
+				"^Normas para la publicación de artículos$",
+				"^Editor('|s)(s|') [Rr]eply$",
+				"^Editor(’|s)(s|’) letter$",
+				"^Redaktoriaus žodis$",		
+				"^DISCUSSION ON THE PRECEDING PAPER$",
+				"^Kōtō shōgaku shūshinsho jidōyō$",
+				"^Shōgaku nihon rekishi$",
+				"^(Theory of the flow of action currents in isolated myelinated nerve fibers).*$",
+				"^Préface$",
+				"^Occupational [Hh]ealth [Ss]ervices.$",
+				"^In Memoriam Professor Toshiyuki TAKESHIMA$",
+				"^Účetní závěrka ve vybraném podniku.*$",
+				"^Financial statements in selected company$",
+				"^Abdominal [Aa]ortic [Aa]neurysms.*$",
+				"^Pseudomyxoma peritonei$",
+				"^Kazalo autora$",			
+			
+				"(?i)^uvodna riječ$",
+				"^Motivace jako způsob vedení lidí$",
+				"^Motivation as a leadership$",
+				"^Polyfunkční dům$",
+				"^Multi\\-funkcional building$",
+				"^Podnikatelský plán$",
+	            "(?i)^Podnikatelský záměr$",
+				"(?i)^Business Plan$",
+				"^Oceňování nemovitostí$",
+				"^Marketingová komunikace$",
+				"^Marketing communication$",
+				"^Sumario Analítico$",
+				"^Riječ uredništva$",
+				"^Savjetovanja i priredbe$",
+				"^Índice$",
+				"^(Starobosanski nadpisi).*$",
+				"^Vzdělávání pracovníků v organizaci$",
+				"^Staff training in organization$",
+				"^(Life Histories of North American Geometridae).*$",
+				"^Strategická analýza podniku$",
+				"^Strategic Analysis of an Enterprise$",
+				"^Sadržaj$",
+				"^Upute suradnicima$",
+				"^Rodinný dům$",
+				"(?i)^Fami(l)?ly house$",
+				"^Upute autorima$",
+				"^Strategic Analysis$",
+				"^Finanční analýza vybraného podniku$",
+				"^Finanční analýza$",
+				"^Riječ urednika$",
+				"(?i)^Content(s?)$",
+				"(?i)^Inhalt$",
+				"^Jinjō shōgaku shūshinsho jidōyō$",
+				"(?i)^Index$",
+				"^Chūgaku kokubun kyōkasho$",
+				"^Retrato de una mujer$",
+				"^Retrato de un hombre$",
+				"^Kōtō shōgaku dokuhon$",
+				"^Shotōka kokugo$",
+				"^Shōgaku dokuhon$",
+				"^Jinjō shōgaku kokugo dokuhon$",
+				"^Shinsei kokugo dokuhon$",
+				"^Teikoku dokuhon$",
+				"^Instructions to Authors$",
+				"^KİTAP TAHLİLİ$",
+				"^PRZEGLĄD PIŚMIENNICTWA$",
+				"(?i)^Presentación$",
+				"^İçindekiler$",
+				"(?i)^Tabl?e of contents$",
+				"^(CODICE DEL BEATO DE LOS REYES FERNANDO I Y SANCHA).*$",
+				"^(\\[MADRID\\. BIBL\\. NAC\\. N.*KING FERDINAND I.*FROM SAN ISIDORO DE LEON\\. FACUNDUS SCRIPSIT DATED.*\\]).*",
+				"^Editorial( Board)?$",
+				"(?i)^Editorial \\(English\\)$",
+				"^Editörden$",			
+				"^(Corpus Oral Dialectal \\(COD\\)\\.).*$",
+				"^(Kiri Karl Morgensternile).*$",
+				"^(\\[Eksliibris Aleksandr).*\\]$",
+				"^(\\[Eksliibris Aleksandr).*$",
+				"^(Eksliibris Aleksandr).*$",
+				"^(Kiri A\\. de Vignolles).*$",
+				"^(2 kirja Karl Morgensternile).*$",
+				"^(Pirita kloostri idaosa arheoloogilised).*$",
+				"^(Kiri tundmatule).*$",
+				"^(Kiri Jenaer Allgemeine Literaturzeitung toimetusele).*$",
+				"^(Eksliibris Nikolai Birukovile).*$",
+				"^(Eksliibris Nikolai Issakovile).*$",
+				"^(WHP Cruise Summary Information of section).*$",
+				"^(Measurement of the top quark\\-pair production cross section with ATLAS in pp collisions at).*$",
+				"^(Measurement of the spin\\-dependent structure function).*",
+	            "(?i)^.*authors['’′]? reply\.?$",
+	            "(?i)^.*authors['’′]? response\.?$"
+						]
+					} 		
+				}
+			}
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.01.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.01.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/person.step.01.xml	(revision 51225)
@@ -0,0 +1,70 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="2a81faf4-3412-48e2-a0a5-045636dedfb1_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+           	<DESCRIPTION>1 - Person: Merge by fullname</DESCRIPTION>
+            <DEDUPLICATION>
+			{
+				"wf" : {
+			        "threshold" : "1.0",
+			        "dedupRun" : "001",
+			        "entityType" : "person",
+			        "orderField" : "person",
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "person" ],
+			        "includeChildren" : "true"
+			    },
+				"pace" : {
+					"clustering" : [
+						{ "name" : "personclustering", "fields" : [ "person" ], "params" : { } }
+					],
+					"model" : [
+						{ "name" : "person", "algo" : "PersonDistance", "type" : "JSON", "weight" : "0", "ignoreMissing" : "false", "path" : "person" },
+			            { "name" : "fullname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person/metadata/fullname/value", "params" : { } },
+			            { "name" : "coanchors", "algo" : "PersonCoAnchorsDistance", "type" : "JSON", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person", "params" : { "common.anchors" : "1" } },
+			            { "name" : "coauthorsurnames", "algo" : "PersonCoAuthorSurnamesDistance", "type" : "JSON", "weight" : "0.3", "ignoreMissing" : "false", "path" : "person", "params" : { "common.surnames" : "4" } },
+			            { "name" : "lastname", "algo" : "Null", "type" : "String", "weight" : "0", "ignoreMissing" : "true", "path" : "person/metadata/secondnames/value" }
+					],
+					"blacklists" : {
+			            "lastname" : [
+				            "(?i)^wang$",
+				            "(?i)^~wang$",
+				            "(?i)^zhang$",
+				            "(?i)^zhou$",
+				            "(?i)^zhao$",
+				            "(?i)^li$",
+				            "(?i)^~li$",
+				            "(?i)^liu$",
+				            "(?i)^chen$",
+				            "(?i)^yang$",
+				            "(?i)^kim$",
+				            "(?i)^xu$",
+				            "(?i)^huang$",
+				            "(?i)^sun$",
+				            "(?i)^lee$",
+				            "(?i)^ma$",
+				            "(?i)^kim$",
+				            "(?i)^hu$",
+				            "(?i)^wu$",
+				            "(?i)^zhu$",
+				            "(?i)^lu$"
+			            ]
+	                }
+				}
+			}
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.01.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.01.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.01.xml	(revision 51225)
@@ -0,0 +1,42 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="98494a63-f5d1-46f7-9afd-e026c1dda913_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+           	<DESCRIPTION>1 - Organization: Merge by legalshortname</DESCRIPTION>
+            <DEDUPLICATION>
+			{ 
+				"wf" : { 
+			        "threshold" : "1.0", 
+			        "dedupRun" : "001", 
+			        "entityType" : "organization", 
+			        "orderField" : "legalshortname", 
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "organization", "projectOrganization_participation_isParticipant", "datasourceOrganization_provision_isProvidedBy" ],
+			        "includeChildren" : "true" 
+			    },
+				"pace" : {		
+					"clustering" : [
+						{ "name" : "spacetrimmingfieldvalue", "fields" : [ "legalshortname" ], "params" : { "randomLength" : "5" } }
+					],		
+					"model" : [
+						{ "name" : "legalshortname", "algo" : "JaroWinkler", "type" : "String", "weight" : "1.0", "ignoreMissing" : "true", "path" : "organization/metadata/legalshortname/value" }
+					],
+					"blacklists" : { } 		
+				}
+			}            
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/exportIdentifiersJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/exportIdentifiersJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/exportIdentifiersJob.xml	(revision 51225)
@@ -0,0 +1,60 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="d5a7c415-932b-442e-91c2-46f648945ac2_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="exportIdentifiersJob" type="mapreduce">
+			<DESCRIPTION>map only job that exports the publication identifiers as json</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataexport.ExportResultIdentifiersMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+				<PROPERTY key="dfs.blocksize" value="256M"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="1"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<PROPERTY key="job.lib" value="/lib/dnet/snapshots/dnet-mapreduce-jobs-assembly-0.0.8.5-SNAPSHOT-exportIds.jar"/>
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table"/>
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table"/>
+
+				<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs"/>
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" value="50"/>
+				</FILTERS>
+				<FAMILIES>
+					<FAMILY value="result"/>
+				</FAMILIES>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-main.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-main.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-dataset-entities-main.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="0a87e99f-8b44-4630-a5f9-f18c814d8ded_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:06+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-dataset-entities-main">iis-dataset-entities-main</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-similarities.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-similarities.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-similarities.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4025e214-f4db-4c74-9999-ad1f52c093d5_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:05+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-document-similarities">iis-document-similarities</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/344de4f6-8d27-4382-a3d5-5bcd3bf2c33e.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/344de4f6-8d27-4382-a3d5-5bcd3bf2c33e.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/344de4f6-8d27-4382-a3d5-5bcd3bf2c33e.xml	(revision 51225)
@@ -0,0 +1,73 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="344de4f6-8d27-4382-a3d5-5bcd3bf2c33e_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:36+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:access_modes">dnet:access_modes</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:access_modes</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="12 Months Embargo" code="12MONTHS" english_name="12 Months Embargo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="6 Months Embargo" code="6MONTHS" english_name="6 Months Embargo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Closed Access" code="CLOSED" english_name="Closed Access" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/closedAccess" encoding="openaireGuidelines"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Embargo" code="EMBARGO" english_name="Embargo" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/embargoedAccess" encoding="openaireGuidelines"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Open Access" code="OPEN" english_name="Open Access" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Creative Commons License [CC BY-NC-ND] http://creativecommons.org/licenses/by-nc-nd/3.0/de/" encoding="datacite"/>
+						<SYNONYM term="Creative commons" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by-nc-nd/3.0/" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by-nc/3.0/" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by-sa/3.0/" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by-sa/4.0/" encoding="zenodo"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by/3.0/" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by/3.0/us/" encoding="datacite"/>
+						<SYNONYM term="http://creativecommons.org/licenses/by/4.0/" encoding="zenodo"/>
+						<SYNONYM term="http://creativecommons.org/publicdomain/zero/1.0/" encoding="zenodo"/>
+						<SYNONYM term="http://creativecommons.org/publicdomain/zero/1.0/ &amp; http://www.canadensys.net/norms" encoding="datacite"/>
+						<SYNONYM term="info:eu-repo/semantics/openAccess" encoding="openaireGuidelines"/>
+						<SYNONYM term="open_access" encoding="DINI"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Other" code="OTHER" english_name="Other" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Restricted" code="RESTRICTED" english_name="Restricted" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/restrictedAccess" encoding="openaireGuidelines"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="UNKNOWN" code="UNKNOWN" english_name="not available" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c71a2bfc-3509-463b-85d0-0db535556a94.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c71a2bfc-3509-463b-85d0-0db535556a94.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c71a2bfc-3509-463b-85d0-0db535556a94.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="c71a2bfc-3509-463b-85d0-0db535556a94_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="wt:contractTypes">wt:contractTypes</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>wt:contractTypes</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteActions.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteActions.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/promoteActions.xml	(revision 51225)
@@ -0,0 +1,50 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+			value="8bb6c559-edf3-4da1-87d7-cdee4fba21dd_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ==" />
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType" />
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2001-12-31T12:00:00" />
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="promoteActionsJob" type="mapreduce">
+			<DESCRIPTION>map only job that promote actions from a set to the data table</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+				<PROPERTY key="mapreduce.map.class"	value="eu.dnetlib.data.mapreduce.hbase.actions2.PromoteActionsMapper" />
+				<PROPERTY key="mapreduce.inputformat.class"	value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="job.lib" value="/tmp/dnet-mapreduce-jobs-0.0.3-SNAPSHOT-jar-with-dependencies.jar" />  -->
+			</STATIC_CONFIGURATION>
+
+			<JOB_INTERFACE>
+				<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+				<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+				<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+				<PARAM name="hbase.mapreduce.outputtable" required="true" description="target hbase table" />
+				<PARAM name="latestRawSets" required="true" description="the latest action raw sets" />
+			</JOB_INTERFACE>
+
+			<SCAN>
+				<FILTERS operator="MUST_PASS_ALL">
+					<FILTER type="prefix" value="aac|" />
+				</FILTERS>
+				<FAMILIES />
+			</SCAN>
+			
+		</HADOOP_JOB>
+		
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00" />
+			<RUNNING_INSTANCES value="0" />
+			<CUMULATIVE_RUN value="0" />
+		</STATUS>
+		
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/publicationAnalysisJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/publicationAnalysisJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/publicationAnalysisJob.xml	(revision 51225)
@@ -0,0 +1,56 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="721fd82c-6444-41c9-ba23-5eb0652ddaeb_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="publicationAnalysisJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that analyses publication features</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.NullOutputFormat" />
+
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.experiment.PublicationAnalysisMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.NullWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.NullWritable" />
+			
+				<!-- MISC -->
+				
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+			
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" value="50" />
+        		</FILTERS>
+        		<FAMILIES>
+	       			<FAMILY value="result" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a157e2cc-afe7-41aa-b5f1-f745aaab9271.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a157e2cc-afe7-41aa-b5f1-f745aaab9271.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a157e2cc-afe7-41aa-b5f1-f745aaab9271.xml	(revision 51225)
@@ -0,0 +1,1984 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a157e2cc-afe7-41aa-b5f1-f745aaab9271_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:languages">dnet:languages</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:languages</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="Abkhazian" code="abk" english_name="Abkhazian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ab" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Achinese" code="ace" english_name="Achinese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Acoli" code="ach" english_name="Acoli" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Adangme" code="ada" english_name="Adangme" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Afar" code="aar" english_name="Afar" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="aa" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Afrihili" code="afh" english_name="Afrihili" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Afrikaans" code="afr" english_name="Afrikaans" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="af" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Afro-Asiatic" code="afa" english_name="Afro-Asiatic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Akan" code="aka" english_name="Akan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Akkadian" code="akk" english_name="Akkadian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Albanian" code="alb/sqi" english_name="Albanian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sq" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aleut" code="ale" english_name="Aleut" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Algonquian languages" code="alg" english_name="Algonquian languages" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Altaic" code="tut" english_name="Altaic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Amharic" code="amh" english_name="Amharic" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="am" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ancient Egyptian" code="egy" english_name="Ancient Egyptian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ancient Greek" code="grc" english_name="Ancient Greek" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Apache" code="apa" english_name="Apache" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Arabic" code="ara" english_name="Arabic" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ar" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aragonese" code="arg" english_name="Aragonese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aramaic" code="arc" english_name="Aramaic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Arapaho" code="arp" english_name="Arapaho" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Araucanian" code="arn" english_name="Araucanian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Arawak" code="arw" english_name="Arawak" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Armenian" code="arm/hye" english_name="Armenian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="hy" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Artificial" code="art" english_name="Artificial" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Assamese" code="asm" english_name="Assamese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="as" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Athapascan" code="ath" english_name="Athapascan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Austronesian" code="map" english_name="Austronesian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Auxiliary Language Association)" code="ina" english_name="Auxiliary Language Association)" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ia" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Avaric" code="ava" english_name="Avaric" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Avestan" code="ave" english_name="Avestan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Awadhi" code="awa" english_name="Awadhi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aymara" code="aym" english_name="Aymara" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ay" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Azerbaijani" code="aze" english_name="Azerbaijani" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="az" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aztec" code="nah" english_name="Aztec" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Balinese" code="ban" english_name="Balinese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Baltic" code="bat" english_name="Baltic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Baluchi" code="bal" english_name="Baluchi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bambara" code="bam" english_name="Bambara" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bamileke" code="bai" english_name="Bamileke" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Banda" code="bad" english_name="Banda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bantu" code="bnt" english_name="Bantu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Basa" code="bas" english_name="Basa" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bashkir" code="bak" english_name="Bashkir" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ba" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Basque" code="baq/eus" english_name="Basque" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="eu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Beja" code="bej" english_name="Beja" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Belarusian" code="bel" english_name="Belarusian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="be" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bemba" code="bem" english_name="Bemba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bengali" code="ben" english_name="Bengali" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="bn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Berber" code="ber" english_name="Berber" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bhojpuri" code="bho" english_name="Bhojpuri" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bihari" code="bih" english_name="Bihari" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="bh" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bikol" code="bik" english_name="Bikol" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bini" code="bin" english_name="Bini" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bislama" code="bis" english_name="Bislama" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="bi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bokmål, Norwegian; Norwegian Bokmål" code="nob" english_name="Bokmål, Norwegian; Norwegian Bokmål" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bosnian" code="bos" english_name="Bosnian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Braj" code="bra" english_name="Braj" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Breton" code="bre" english_name="Breton" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="br" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Buginese" code="bug" english_name="Buginese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bulgarian" code="bul" english_name="Bulgarian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="bg" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Buriat" code="bua" english_name="Buriat" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Burmese" code="bur/mya" english_name="Burmese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="my" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Caddo" code="cad" english_name="Caddo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Carib" code="car" english_name="Carib" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Catalan; Valencian" code="cat" english_name="Catalan; Valencian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ca" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Caucasian" code="cau" english_name="Caucasian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cebuano" code="ceb" english_name="Cebuano" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Celtic" code="cel" english_name="Celtic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Central American Indian" code="cai" english_name="Central American Indian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chagatai" code="chg" english_name="Chagatai" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chamorro" code="cha" english_name="Chamorro" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chechen" code="che" english_name="Chechen" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cherokee" code="chr" english_name="Cherokee" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chewa; Chichewa; Nyanja" code="nya" english_name="Chewa; Chichewa; Nyanja" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cheyenne" code="chy" english_name="Cheyenne" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chibcha" code="chb" english_name="Chibcha" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chinese" code="chi/zho" english_name="Chinese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="zh" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chinook jargon" code="chn" english_name="Chinook jargon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Choctaw" code="cho" english_name="Choctaw" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Church Slavic; Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" code="chu" english_name="Church Slavic; Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chuvash" code="chv" english_name="Chuvash" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Coptic" code="cop" english_name="Coptic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cornish" code="cor" english_name="Cornish" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Corsican" code="cos" english_name="Corsican" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="co" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cree" code="cre" english_name="Cree" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Creek" code="mus" english_name="Creek" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Creoles and Pidgins" code="crp" english_name="Creoles and Pidgins" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Croatian" code="hrv" english_name="Croatian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="hr" encoding="iso639-1"/>
+						<SYNONYM term="hr" encoding="iso639-1"/>
+						<SYNONYM term="scr/hrv" encoding="unknown"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cushitic" code="cus" english_name="Cushitic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Czech" code="ces/cze" english_name="Czech" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="cs" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dakota" code="dak" english_name="Dakota" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Danish" code="dan" english_name="Danish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="da" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Delaware" code="del" english_name="Delaware" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dinka" code="din" english_name="Dinka" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Divehi" code="div" english_name="Divehi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dogri" code="doi" english_name="Dogri" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dravidian" code="dra" english_name="Dravidian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Duala" code="dua" english_name="Duala" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dutch; Flemish" code="dut/nld" english_name="Dutch; Flemish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="dut/nla" encoding="iso639-obsolet"/>
+						<SYNONYM term="dutdut" encoding="DRIVER"/>
+						<SYNONYM term="nl" encoding="iso639-1"/>
+						<SYNONYM term="nl_be" encoding="DRIVER"/>
+						<SYNONYM term="nl_nl" encoding="DRIVER"/>
+						<SYNONYM term="nld" encoding="DRIVER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dyula" code="dyu" english_name="Dyula" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dzongkha" code="dzo" english_name="Dzongkha" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="dz" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Efik" code="efi" english_name="Efik" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ekajuk" code="eka" english_name="Ekajuk" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Elamite" code="elx" english_name="Elamite" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="English" code="eng" english_name="English" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="en" encoding="iso639-1"/>
+						<SYNONYM term="en_au" encoding="DRIVER"/>
+						<SYNONYM term="en_en" encoding="DRIVER"/>
+						<SYNONYM term="en_gb" encoding="DRIVER"/>
+						<SYNONYM term="en_nz" encoding="DRIVER"/>
+						<SYNONYM term="en_us" encoding="DRIVER"/>
+						<SYNONYM term="english" encoding="DRIVER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="English-based Creoles and Pidgins" code="cpe" english_name="English-based Creoles and Pidgins" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Eskimo" code="esk" english_name="Eskimo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Esperanto" code="epo" english_name="Esperanto" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="eo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Estonian" code="est" english_name="Estonian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="et" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ewe" code="ewe" english_name="Ewe" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ewondo" code="ewo" english_name="Ewondo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fang" code="fan" english_name="Fang" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fanti" code="fat" english_name="Fanti" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Faroese" code="fao" english_name="Faroese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fijian" code="fij" english_name="Fijian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fj" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Finnish" code="fin" english_name="Finnish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Finno-Ugrian" code="fiu" english_name="Finno-Ugrian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fon" code="fon" english_name="Fon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="French" code="fra/fre" english_name="French" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fr" encoding="iso639-1"/>
+						<SYNONYM term="fr_be" encoding="DRIVER"/>
+						<SYNONYM term="fr_fr" encoding="DRIVER"/>
+						<SYNONYM term="fre/fra" encoding="iso639-2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="French-based Creoles and Pidgins" code="cpf" english_name="French-based Creoles and Pidgins" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Frisian" code="fry" english_name="Frisian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fy" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fulah" code="ful" english_name="Fulah" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ga" code="gaa" english_name="Ga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gaelic" code="gae/gdh" english_name="Gaelic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gaelic; Scottish Gaelic" code="gla" english_name="Gaelic; Scottish Gaelic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Galician" code="glg" english_name="Galician" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="gl" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ganda" code="lug" english_name="Ganda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gayo" code="gay" english_name="Gayo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Geez" code="gez" english_name="Geez" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Georgian" code="geo/kat" english_name="Georgian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ka" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="German" code="deu/ger" english_name="German" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="de" encoding="iso639-1"/>
+						<SYNONYM term="ger/deu" encoding="iso639-2"/>
+						<SYNONYM term="german" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Germanic" code="gem" english_name="Germanic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gikuyu; Kikuyu" code="kik" english_name="Gikuyu; Kikuyu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gilbertese" code="gil" english_name="Gilbertese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gondi" code="gon" english_name="Gondi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gothic" code="got" english_name="Gothic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Grebo" code="grb" english_name="Grebo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Greek" code="ell/gre" english_name="Greek" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="el" encoding="iso639-1"/>
+						<SYNONYM term="gr" encoding="Nemertes"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Greek, Modern (1453-)" code="gre/ell" english_name="Greek, Modern (1453-)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Greenlandic; Kalaallisut" code="kal" english_name="Greenlandic; Kalaallisut" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="kl" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guarani" code="grn" english_name="Guarani" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="gn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gujarati" code="guj" english_name="Gujarati" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="gu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Haida" code="hai" english_name="Haida" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Haitian; Haitian Creole" code="hat" english_name="Haitian; Haitian Creole" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hausa" code="hau" english_name="Hausa" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ha" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hawaiian" code="haw" english_name="Hawaiian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hebrew" code="heb" english_name="Hebrew" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="he" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Herero" code="her" english_name="Herero" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hiligaynon" code="hil" english_name="Hiligaynon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Himachali" code="him" english_name="Himachali" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hindi" code="hin" english_name="Hindi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="hi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hiri Motu" code="hmo" english_name="Hiri Motu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hungarian" code="hun" english_name="Hungarian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="hu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hupa" code="hup" english_name="Hupa" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iban" code="iba" english_name="Iban" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Icelandic" code="ice/isl" english_name="Icelandic" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="is" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ido" code="ido" english_name="Ido" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Igbo" code="ibo" english_name="Igbo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ijo" code="ijo" english_name="Ijo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iloko" code="ilo" english_name="Iloko" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Indic" code="inc" english_name="Indic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Indo-European" code="ine" english_name="Indo-European" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="-" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Indonesian" code="ind" english_name="Indonesian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="id" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Interlingue" code="ile" english_name="Interlingue" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Inuktitut" code="iku" english_name="Inuktitut" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="iu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Inupiaq" code="ipk" english_name="Inupiaq" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ik" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iranian" code="ira" english_name="Iranian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Irish" code="gai/iri" english_name="Irish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ga" encoding="iso639-1"/>
+						<SYNONYM term="gle" encoding="iso639-2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iroquoian" code="iro" english_name="Iroquoian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Italian" code="ita" english_name="Italian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="it" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Japanese" code="jpn" english_name="Japanese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ja" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Javanese" code="jav" english_name="Javanese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="jv" encoding="iso639-1"/>
+						<SYNONYM term="jv/jw" encoding="iso639-1"/>
+						<SYNONYM term="jw" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Judeo-Arabic" code="jrb" english_name="Judeo-Arabic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Judeo-Persian" code="jpr" english_name="Judeo-Persian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kabyle" code="kab" english_name="Kabyle" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kachin" code="kac" english_name="Kachin" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kamba" code="kam" english_name="Kamba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kannada" code="kan" english_name="Kannada" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="kn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kanuri" code="kau" english_name="Kanuri" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kara-Kalpak" code="kaa" english_name="Kara-Kalpak" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Karen" code="kar" english_name="Karen" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kashmiri" code="kas" english_name="Kashmiri" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ks" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kawi" code="kaw" english_name="Kawi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kazakh" code="kaz" english_name="Kazakh" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="kk" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Khasi" code="kha" english_name="Khasi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Khmer" code="khm" english_name="Khmer" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="km" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Khoisan" code="khi" english_name="Khoisan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Khotanese" code="kho" english_name="Khotanese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kinyarwanda" code="kin" english_name="Kinyarwanda" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="rw" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kirghiz" code="kir" english_name="Kirghiz" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ky" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Komi" code="kom" english_name="Komi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kongo" code="kon" english_name="Kongo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Konkani" code="kok" english_name="Konkani" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Korean" code="kor" english_name="Korean" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ko" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kpelle" code="kpe" english_name="Kpelle" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kru" code="kro" english_name="Kru" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kuanyama; Kwanyama" code="kua" english_name="Kuanyama; Kwanyama" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kumyk" code="kum" english_name="Kumyk" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kurdish" code="kur" english_name="Kurdish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ku" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kurukh" code="kru" english_name="Kurukh" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kusaie" code="kus" english_name="Kusaie" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kutenai" code="kut" english_name="Kutenai" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ladino" code="lad" english_name="Ladino" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lahnda" code="lah" english_name="Lahnda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lamba" code="lam" english_name="Lamba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lao" code="lao" english_name="Lao" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="lo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Latin" code="lat" english_name="Latin" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="la" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Latvian" code="lav" english_name="Latvian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="lv" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Letzeburgesch; Luxembourgish" code="ltz" english_name="Letzeburgesch; Luxembourgish" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lezghian" code="lez" english_name="Lezghian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Limburgan; Limburger; Limburgish" code="lim" english_name="Limburgan; Limburger; Limburgish" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lingala" code="lin" english_name="Lingala" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ln" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lithuanian" code="lit" english_name="Lithuanian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="lt" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lozi" code="loz" english_name="Lozi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Luba-Katanga" code="lub" english_name="Luba-Katanga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Luiseno" code="lui" english_name="Luiseno" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lunda" code="lun" english_name="Lunda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Luo" code="luo" english_name="Luo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Macedonian" code="mac/mak" english_name="Macedonian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mk" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Madurese" code="mad" english_name="Madurese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Magahi" code="mag" english_name="Magahi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Maithili" code="mai" english_name="Maithili" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Makasar" code="mak" english_name="Makasar" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malagasy" code="mlg" english_name="Malagasy" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mg" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malay" code="may/msa" english_name="Malay" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ms" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malayalam" code="mal" english_name="Malayalam" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Maltese" code="mlt" english_name="Maltese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ml" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mandingo" code="man" english_name="Mandingo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Manipuri" code="mni" english_name="Manipuri" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Manobo" code="mno" english_name="Manobo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Manx" code="glv" english_name="Manx" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Maori" code="mao/mri" english_name="Maori" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Marathi" code="mar" english_name="Marathi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mr" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mari" code="chm" english_name="Mari" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Marshallese" code="mah" english_name="Marshallese" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Marwari" code="mwr" english_name="Marwari" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Masai" code="mas" english_name="Masai" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mayan" code="myn" english_name="Mayan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mende" code="men" english_name="Mende" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Micmac" code="mic" english_name="Micmac" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Middle Dutch" code="dum" english_name="Middle Dutch" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Middle English" code="enm" english_name="Middle English" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Middle French" code="frm" english_name="Middle French" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Middle High German" code="gmh" english_name="Middle High German" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Middle Irish" code="mga" english_name="Middle Irish" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Minangkabau" code="min" english_name="Minangkabau" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Miscellaneous" code="mis" english_name="Miscellaneous" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mohawk" code="moh" english_name="Mohawk" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Moldavian" code="mol" english_name="Moldavian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mon-Kmer" code="mkh" english_name="Mon-Kmer" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mongo" code="lol" english_name="Mongo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mongolian" code="mon" english_name="Mongolian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="mn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mossi" code="mos" english_name="Mossi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Multiple languages" code="mul" english_name="Multiple languages" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Munda" code="mun" english_name="Munda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nauru" code="nau" english_name="Nauru" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="na" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Navajo; Navaho" code="nav" english_name="Navajo; Navaho" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ndebele, North" code="nde" english_name="Ndebele, North" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ndebele, South" code="nbl" english_name="Ndebele, South" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ndonga" code="ndo" english_name="Ndonga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nepali" code="nep" english_name="Nepali" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ne" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Newari" code="new" english_name="Newari" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Niger-Kordofanian" code="nic" english_name="Niger-Kordofanian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nilo-Saharan" code="ssa" english_name="Nilo-Saharan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Niuean" code="niu" english_name="Niuean" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Norse" code="non" english_name="Norse" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="North American Indian" code="nai" english_name="North American Indian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Northern Sami" code="sme" english_name="Northern Sami" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Norwegian" code="nor" english_name="Norwegian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="no" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Norwegian Nynorsk; Nynorsk, Norwegian" code="nno" english_name="Norwegian Nynorsk; Nynorsk, Norwegian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nubian" code="nub" english_name="Nubian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nyamwezi" code="nym" english_name="Nyamwezi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nyankole" code="nyn" english_name="Nyankole" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nyoro" code="nyo" english_name="Nyoro" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nzima" code="nzi" english_name="Nzima" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Occitan (post 1500); Provençal" code="oci" english_name="Occitan (post 1500); Provençal" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="oc" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ojibwa" code="oji" english_name="Ojibwa" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Old English" code="ang" english_name="Old English" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Old French" code="fro" english_name="Old French" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Old High German" code="goh" english_name="Old High German" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Oriya" code="ori" english_name="Oriya" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="or" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Oromo" code="orm" english_name="Oromo" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="om" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Osage" code="osa" english_name="Osage" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ossetian; Ossetic" code="oss" english_name="Ossetian; Ossetic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Otomian" code="oto" english_name="Otomian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ottoman" code="ota" english_name="Ottoman" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pahlavi" code="pal" english_name="Pahlavi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Palauan" code="pau" english_name="Palauan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pali" code="pli" english_name="Pali" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pampanga" code="pam" english_name="Pampanga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pangasinan" code="pag" english_name="Pangasinan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Panjabi; Punjabi" code="pan" english_name="Panjabi; Punjabi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="pa" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Papiamento" code="pap" english_name="Papiamento" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Papuan-Australian" code="paa" english_name="Papuan-Australian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Persian" code="fas/per" english_name="Persian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="fa" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Persian, Old (ca 600 - 400 B.C.)" code="peo" english_name="Persian, Old (ca 600 - 400 B.C.)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Phoenician" code="phn" english_name="Phoenician" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Polish" code="pol" english_name="Polish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="pl" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ponape" code="pon" english_name="Ponape" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Portuguese" code="por" english_name="Portuguese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="pt" encoding="iso639-1"/>
+						<SYNONYM term="pt_pt" encoding="DRIVER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Portuguese-based Creoles and Pidgins" code="cpp" english_name="Portuguese-based Creoles and Pidgins" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Prakrit" code="pra" english_name="Prakrit" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Provencal" code="pro" english_name="Provencal" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pushto" code="pus" english_name="Pushto" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ps" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Quechua" code="que" english_name="Quechua" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="qu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Raeto-Romance" code="roh" english_name="Raeto-Romance" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="rm" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Rajasthani" code="raj" english_name="Rajasthani" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Rarotongan" code="rar" english_name="Rarotongan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Romance" code="roa" english_name="Romance" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Romanian" code="ron/rum" english_name="Romanian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ro" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Romany" code="rom" english_name="Romany" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Rundi" code="run" english_name="Rundi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="rn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Russian" code="rus" english_name="Russian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ru" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Salishan" code="sal" english_name="Salishan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Samaritan" code="sam" english_name="Samaritan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sami" code="smi" english_name="Sami" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Samoan" code="smo" english_name="Samoan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sm" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sandawe" code="sad" english_name="Sandawe" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sango" code="sag" english_name="Sango" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sg" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sanskrit" code="san" english_name="Sanskrit" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sa" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sardinian" code="srd" english_name="Sardinian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Scots" code="sco" english_name="Scots" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Selkup" code="sel" english_name="Selkup" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Semitic" code="sem" english_name="Semitic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Serbian" code="srp" english_name="Serbian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="scc/srp" encoding="unknown"/>
+						<SYNONYM term="sr" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Serbo-Croatian" code="scr" english_name="Serbo-Croatian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sh" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Serer" code="srr" english_name="Serer" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Shan" code="shn" english_name="Shan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Shona" code="sna" english_name="Shona" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sichuan Yi" code="iii" english_name="Sichuan Yi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sidamo" code="sid" english_name="Sidamo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Siksika" code="bla" english_name="Siksika" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sindhi" code="snd" english_name="Sindhi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sd" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sinhala; Sinhalese" code="sin" english_name="Sinhala; Sinhalese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="si" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sino-Tibetan" code="sit" english_name="Sino-Tibetan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="-" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Siouan" code="sio" english_name="Siouan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Slavic" code="sla" english_name="Slavic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Slovak" code="slk/slo" english_name="Slovak" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sk" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Slovenian" code="slv" english_name="Slovenian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sl" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sogdian" code="sog" english_name="Sogdian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Somali" code="som" english_name="Somali" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="so" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Songhai" code="son" english_name="Songhai" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sorbian" code="wen" english_name="Sorbian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sotho" code="nso" english_name="Sotho" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sotho, Southern" code="sot" english_name="Sotho, Southern" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="st" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="South American Indian" code="sai" english_name="South American Indian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Spanish" code="esl/spa" english_name="Spanish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="es" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Spanish; Castilian" code="spa" english_name="Spanish; Castilian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sukuma" code="suk" english_name="Sukuma" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sumerian" code="sux" english_name="Sumerian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sundanese" code="sun" english_name="Sundanese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="su" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Susu" code="sus" english_name="Susu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Swahili" code="swa" english_name="Swahili" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sw" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Swati" code="ssw" english_name="Swati" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ss" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Swedish" code="swe" english_name="Swedish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sv" encoding="iso639-1"/>
+						<SYNONYM term="sve/swe" encoding="iso639-2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Syriac" code="syr" english_name="Syriac" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tagalog" code="tgl" english_name="Tagalog" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tl" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tahitian" code="tah" english_name="Tahitian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tajik" code="tgk" english_name="Tajik" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tg" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tamashek" code="tmh" english_name="Tamashek" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tamil" code="tam" english_name="Tamil" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ta" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tatar" code="tat" english_name="Tatar" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tt" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Telugu" code="tel" english_name="Telugu" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="te" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tereno" code="ter" english_name="Tereno" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Thai" code="tha" english_name="Thai" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="th" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tibetan" code="bod/tib" english_name="Tibetan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="bo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tigre" code="tig" english_name="Tigre" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tigrinya" code="tir" english_name="Tigrinya" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ti" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Timne" code="tem" english_name="Timne" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tivi" code="tiv" english_name="Tivi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tlingit" code="tli" english_name="Tlingit" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tonga (Tonga Islands)" code="ton" english_name="Tonga (Tonga Islands)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tonga(Nyasa)" code="tog" english_name="Tonga(Nyasa)" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="to" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Truk" code="tru" english_name="Truk" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tsimshian" code="tsi" english_name="Tsimshian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tsonga" code="tso" english_name="Tsonga" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ts" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tswana" code="tsn" english_name="Tswana" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tn" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tumbuka" code="tum" english_name="Tumbuka" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Turkish" code="tur" english_name="Turkish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tr" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Turkmen" code="tuk" english_name="Turkmen" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tk" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tuvinian" code="tyv" english_name="Tuvinian" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Twi" code="twi" english_name="Twi" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="tw" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ugaritic" code="uga" english_name="Ugaritic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Uighur; Uyghur" code="uig" english_name="Uighur; Uyghur" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ug" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ukrainian" code="ukr" english_name="Ukrainian" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="uk" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Umbundu" code="umb" english_name="Umbundu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Undetermined" code="und" english_name="Undetermined" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Urdu" code="urd" english_name="Urdu" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ur" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Uzbek" code="uzb" english_name="Uzbek" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="uz" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Vai" code="vai" english_name="Vai" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Venda" code="ven" english_name="Venda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Vietnamese" code="vie" english_name="Vietnamese" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="vi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Volapük" code="vol" english_name="Volapük" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="vo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Votic" code="vot" english_name="Votic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Wakashan" code="wak" english_name="Wakashan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Walamo" code="wal" english_name="Walamo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Walloon" code="wln" english_name="Walloon" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="wa" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Waray" code="war" english_name="Waray" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Washo" code="was" english_name="Washo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Welsh" code="cym/wel" english_name="Welsh" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="cy" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Wolof" code="wol" english_name="Wolof" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="wo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Xhosa" code="xho" english_name="Xhosa" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="xh" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yakut" code="sah" english_name="Yakut" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yao" code="yao" english_name="Yao" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yap" code="yap" english_name="Yap" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yiddish" code="yid" english_name="Yiddish" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="yi" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yoruba" code="yor" english_name="Yoruba" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="yo" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zapotec" code="zap" english_name="Zapotec" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zenaga" code="zen" english_name="Zenaga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zhuang; Chuang" code="zha" english_name="Zhuang; Chuang" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="za" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zulu" code="zul" english_name="Zulu" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="zu" encoding="iso639-1"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zuni" code="zun" english_name="Zuni" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="old Irish" code="sga" english_name="old Irish" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-12-17T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/42b3f336-66ac-40d4-9702-b155f2801e77.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/42b3f336-66ac-40d4-9702-b155f2801e77.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/42b3f336-66ac-40d4-9702-b155f2801e77.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="42b3f336-66ac-40d4-9702-b155f2801e77_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2016-01-19T13:05:02+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:compatibilityLevel">dnet:compatibilityLevel</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:compatibilityLevel</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="OpenAIRE 2.0 (EC funding)" code="openaire2.0" english_name="OpenAIRE 2.0 (EC funding)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE 3.0 (OA, funding)" code="openaire3.0" english_name="OpenAIRE 3.0 (OA, funding)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE basic (DRIVER OA)" code="driver" english_name="OpenAIRE Basic (DRIVER OA)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE Data (funded, referenced datasets)" code="openaire2.0_data" english_name="OpenAIRE Data (funded, referenced datasets)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="files" code="files" english_name="files" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="native" code="native" english_name="native" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="not available" code="UNKNOWN" english_name="not available" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="collected from a compatible aggregator" code="hostedBy" english_name="collected from a compatible aggregator" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="under validation" code="notCompatible" english_name="under validation" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c3bfbbcb-22db-4955-b7ab-2aae8bf53eb8.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c3bfbbcb-22db-4955-b7ab-2aae8bf53eb8.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c3bfbbcb-22db-4955-b7ab-2aae8bf53eb8.xml	(revision 51225)
@@ -0,0 +1,173 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="c3bfbbcb-22db-4955-b7ab-2aae8bf53eb8_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2016-03-18T11:25:22+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="ec:h2020toas">Horizon 2020 - Type of Actions</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>Horizon 2020 - Type of Actions</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="ERC-ADG" encoding="OPENAIRE" english_name="Advanced Grant" native_name="Advanced Grant">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="BBI-IA-DEMO" encoding="OPENAIRE" english_name="Bio-based Industries Innovation action - Demonstration" native_name="Bio-based Industries Innovation action - Demonstration">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="BBI-IA-FLAG" encoding="OPENAIRE" english_name="Bio-based Industries Innovation action - Flagship" native_name="Bio-based Industries Innovation action - Flagship">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="BBI-RIA" encoding="OPENAIRE" english_name="Bio-based Industries Research and Innovation action" native_name="Bio-based Industries Research and Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-IF-EF-CAR" encoding="OPENAIRE" english_name="CAR – Career Restart panel" native_name="CAR – Career Restart panel">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="COFUND-EJP" encoding="OPENAIRE" english_name="COFUND (European Joint Programme)" native_name="COFUND (European Joint Programme)">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="COFUND-PCP" encoding="OPENAIRE" english_name="COFUND (PCP)" native_name="COFUND (PCP)">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="COFUND-PPI" encoding="OPENAIRE" english_name="COFUND (PPI)" native_name="COFUND (PPI)">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="CS2-IA" encoding="OPENAIRE" english_name="CS2 Innovation Action" native_name="CS2 Innovation Action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="CS2-RIA" encoding="OPENAIRE" english_name="CS2 Research and Innovation action" native_name="CS2 Research and Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="CSA-LS" encoding="OPENAIRE" english_name="CSA Lump sum" native_name="CSA Lump sum">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ERC-COG" encoding="OPENAIRE" english_name="Consolidator Grant" native_name="Consolidator Grant">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="FCH2-CSA" encoding="OPENAIRE" english_name="Coordination &amp; support action" native_name="Coordination &amp; support action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="CSA" encoding="OPENAIRE" english_name="Coordination and support action" native_name="Coordination and support action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-COFUND-DP" encoding="OPENAIRE" english_name="Doctoral programmes" native_name="Doctoral programmes">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ECSEL-IA" encoding="OPENAIRE" english_name="ECSEL Innovation Action" native_name="ECSEL Innovation Action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ECSEL-RIA" encoding="OPENAIRE" english_name="ECSEL Research and Innovation Actions" native_name="ECSEL Research and Innovation Actions">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ERA-NET-Cofund" encoding="OPENAIRE" english_name="ERA-NET Cofund" native_name="ERA-NET Cofund">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ERC-LVG" encoding="OPENAIRE" english_name="ERC low value grant" native_name="ERC low value grant">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-ITN-EID" encoding="OPENAIRE" english_name="European Industrial Doctorates" native_name="European Industrial Doctorates">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-ITN-EJD" encoding="OPENAIRE" english_name="European Joint Doctorates" native_name="European Joint Doctorates">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-ITN-ETN" encoding="OPENAIRE" english_name="European Training Networks" native_name="European Training Networks">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="FCH2-IA" encoding="OPENAIRE" english_name="FCH2 Innovation action" native_name="FCH2 Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="FCH2-RIA" encoding="OPENAIRE" english_name="FCH2 Research and Innovation action" native_name="FCH2 Research and Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-COFUND-FP" encoding="OPENAIRE" english_name="Fellowship programmes" native_name="Fellowship programmes">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-IF-GF" encoding="OPENAIRE" english_name="Global Fellowships" native_name="Global Fellowships">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="IA" encoding="OPENAIRE" english_name="Innovation action" native_name="Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ERC-POC" encoding="OPENAIRE" english_name="Proof of Concept Grant" native_name="Proof of Concept Grant">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-IF-EF-RI" encoding="OPENAIRE" english_name="RI – Reintegration panel" native_name="RI – Reintegration panel">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-RISE" encoding="OPENAIRE" english_name="RISE" native_name="RISE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="RIA" encoding="OPENAIRE" english_name="Research and Innovation action" native_name="Research and Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="SESAR-RIA" encoding="OPENAIRE" english_name="SESAR: Research and Innovation action" native_name="SESAR: Research and Innovation action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="SGA-RIA" encoding="OPENAIRE" english_name="SGA Research and Innovation action" native_name="SGA-RIA">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="SME-1" encoding="OPENAIRE" english_name="SME instrument phase 1" native_name="SME instrument phase 1">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="SME-2" encoding="OPENAIRE" english_name="SME instrument phase 2" native_name="SME instrument phase 2">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="SGA-CSA" encoding="OPENAIRE" english_name="Specific Grant agreement and Coordination and Support Action" native_name="Specific Grant agreement and Coordination and Support Action">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="MSCA-IF-EF-ST" encoding="OPENAIRE" english_name="Standard EF" native_name="Standard EF">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="ERC-STG" encoding="OPENAIRE" english_name="Starting Grant" native_name="Starting Grant">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-main.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-main.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-main.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="3c75f511-c684-4f67-8297-91daabc2fd1a_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:05+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-referenced-projects-main">iis-referenced-projects-main</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportAuthorsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportAuthorsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/mdStoreHdfsImportAuthorsJob.xml	(revision 51225)
@@ -0,0 +1,46 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a53df5e3-8a38-4d3f-8f67-bf9fc43279a6_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="authorImportRecordsJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that maps xml metada records from a sequence file into an hbase table</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat" />
+				
+				<!-- MAPPER -->        	
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dataimport.AuthorImportRecordsMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.hbase.client.Put" />
+			
+				<!-- MISC -->
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapred.reduce.tasks" value="0" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+				
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="mapred.input.dir" required="true" description="input sequence file" />
+        		<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table" />
+        		<PARAM name="hbase.import.xslt" required="true" description="mapping" />
+        	</JOB_INTERFACE>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsExportJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsExportJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/dedupRootsExportJob.xml	(revision 51225)
@@ -0,0 +1,61 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="53f2a9b4-adf3-4ceb-9308-d88b53dc44c5_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="dedupRootsExportJob" type="mapreduce">
+ 			<DESCRIPTION>map only job that exports the representative publications as json</DESCRIPTION>
+        	<STATIC_CONFIGURATION>
+        	
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableInputFormat" />
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat" />
+        	
+        		<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.gt.RootExportMapper" />
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text" />
+				<PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text" />
+			
+			
+				<!-- MISC -->
+
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false" />	
+				<PROPERTY key="mapreduce.map.speculative" value="false" />
+				<PROPERTY key="mapreduce.reduce.speculative" value="false" />	
+
+				<PROPERTY key="dfs.blocksize" value="256M" />
+			
+				<PROPERTY key="mapred.reduce.tasks" value="1" />
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+				
+		<!--  	Uncomment to override the default lib path -->			
+		<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+        	</STATIC_CONFIGURATION>
+        	<JOB_INTERFACE>
+        		<PARAM name="hbase.mapred.inputtable" required="true" description="source hbase table" />
+        		<PARAM name="hbase.mapreduce.inputtable" required="true" description="source hbase table" />
+        		
+        		<PARAM name="mapred.output.dir" required="true" description="target sequence file on hdfs" />         		
+        	</JOB_INTERFACE>
+        	<SCAN>
+        		<FILTERS operator="MUST_PASS_ALL">
+        			<FILTER type="prefix" param="entityTypeId" />
+        		</FILTERS>
+        		<FAMILIES>
+	       			<FAMILY param="entityType" />
+        		</FAMILIES>
+        	</SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="0" />
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.simple.01.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.simple.01.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.simple.01.xml	(revision 51225)
@@ -0,0 +1,49 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="20d08926-ce57-443c-adef-c879c561d30d_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+        	<DESCRIPTION>1 - Organization: Match against the legalname and legalshortname</DESCRIPTION>
+            <DEDUPLICATION>
+			{ 
+				"wf" : { 
+			        "threshold" : "0.98", 
+			        "dedupRun" : "001", 
+			        "entityType" : "organization", 
+			        "orderField" : "legalname", 
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "organization", "projectOrganization_participation_isParticipant", "datasourceOrganization_provision_isProvidedBy" ],
+			        "includeChildren" : "true" 
+			    },
+				"pace" : {		
+					"clustering" : [
+						{ "name" : "ngrampairs", "fields" : [ "legalname" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+						{ "name" : "suffixprefix", "fields" : [ "legalname" ], "params" : { "max" : "1", "len" : "3" } },
+						{ "name" : "spacetrimmingfieldvalue", "fields" : [ "legalshortname" ], "params" : { "randomLength" : "5" } }
+					],
+			  		"conditions" : [ 
+			  			{ "name" : "exactMatch", "fields" : [ "country" ] }
+			  		],					
+					"model" : [
+						{ "name" : "legalname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.7", "ignoreMissing" : "false", "path" : "organization/metadata/legalname/value" },
+						{ "name" : "legalshortname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.3", "ignoreMissing" : "true", "path" : "organization/metadata/legalshortname/value" },
+						{ "name" : "country", "algo" : "Null", "type" : "String", "weight" : "0", "ignoreMissing" : "true", "path" : "organization/metadata/country/classid" }
+					],
+					"blacklists" : { } 		
+				}
+			} 	
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec944252-635c-450a-82d3-8f55afffbd43.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec944252-635c-450a-82d3-8f55afffbd43.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec944252-635c-450a-82d3-8f55afffbd43.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="ec944252-635c-450a-82d3-8f55afffbd43_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="wt:funding_typologies">Wellcome Trust: Funding Typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>Wellcome Trust: Funding Typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="wt:fundingStream" encoding="OPENAIRE" english_name="Wellcome Trust: Funding Stream" native_name="Wellcome Trust: Funding Stream">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep2Job.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep2Job.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/calculatePersonDistributionStep2Job.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER
+                value="f21fa793-8641-4cd2-b073-42c093751514_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-06-15T10:50:29+02:00"/>
+    </HEADER>
+    <BODY>
+        <HADOOP_JOB name="calculatePersonDistributionStep2Job" type="mapreduce">
+            <DESCRIPTION>map reduce job that perform tests for notificationBroker service (step 2/2)</DESCRIPTION>
+            <STATIC_CONFIGURATION>
+
+                <!-- I/O FORMAT -->
+                <PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat"/>
+                <PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.mapreduce.lib.output.NullOutputFormat"/>
+
+                <!-- MAPPER -->
+                <PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.broker.CalculatePersonDistributionStep2Mapper"/>
+                <PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+                <PROPERTY key="mapred.mapoutput.value.class" value="org.apache.hadoop.io.Text"/>
+
+                <!-- REDUCER -->
+                <PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.broker.CalculatePersonDistributionStep2Reducer"/>
+                <PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.Text"/>
+                <PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.io.NullWritable"/>
+
+                <!-- MISC -->
+                <PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+                <PROPERTY key="mapreduce.map.speculative" value="false"/>
+                <PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+                <PROPERTY key="mapred.reduce.tasks" value="100"/>
+                <!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+                <PROPERTY key="MIN_PUBLICATIONS" value="10"/>
+                <PROPERTY key="MIN_PUBLICATIONS_IN_REPO" value="4"/>
+                <PROPERTY key="MAX_REPOS" value="10"/>
+
+                <!--  	Uncomment to override the default lib path -->
+                <!-- <PROPERTY key="job.lib" value="/lib/dnet/snapshots/dnet-mapreduce-jobs-assembly-0.0.8.0-michele-SNAPSHOT.jar"/> -->
+            </STATIC_CONFIGURATION>
+            <JOB_INTERFACE>
+                <PARAM description="hdfs input file path" name="mapred.input.dir" required="true"/>
+            </JOB_INTERFACE>
+            <SCAN>
+                <FILTERS/>
+                <FAMILIES/>
+            </SCAN>
+        </HADOOP_JOB>
+        <STATUS>
+            <LAST_SUBMISSION_DATE value="2015-06-15T11:10:17+02:00"/>
+            <RUNNING_INSTANCES value="0"/>
+            <CUMULATIVE_RUN value="7"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ecdd1e73-cf16-4a8b-8842-d0a7c780ab6e.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ecdd1e73-cf16-4a8b-8842-d0a7c780ab6e.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ecdd1e73-cf16-4a8b-8842-d0a7c780ab6e.xml	(revision 51225)
@@ -0,0 +1,83 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="ecdd1e73-cf16-4a8b-8842-d0a7c780ab6e_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2014-11-13T14:21:17+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:pid_types">dnet:pid_types</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:pid_types</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="FCT" code="FCT" english_name="Fundação para a Ciência e Tecnologia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="GeoPass" code="GeoPass" english_name="Geographic Location-Password Scheme" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="GBIF" code="GBIF" english_name="Global Biodiversity Information Facility" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="ISNI" code="ISNI" english_name="International Standard Name Identifier" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="oai" code="oai" english_name="Open Archives Initiative" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="ORCID" code="orcid" english_name="Open Researcher and Contributor ID" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ORCID12" encoding="openaire"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="PANGAEA" code="PANGAEA" english_name="PANGAEA" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="UNKNOWN" code="UNKNOWN" english_name="UNKNOWN" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="VIAF" code="VIAF" english_name="Virtual International Authority File" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="arXiv" code="arXiv" english_name="arXiv" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="doi" code="doi" english_name="doi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="info:eu-repo/dai" code="info:eu-repo/dai" english_name="info:eu-repo/dai" encoding="openaire">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="orcidworkid" code="orcidworkid" english_name="orcid workid" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="pmc" code="pmc" english_name="pmc" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="pmid" code="pmid" english_name="pmid" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-01-08T19:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/connectedComponentsJob.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/connectedComponentsJob.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/HadoopJobConfigurationDSResources/HadoopJobConfigurationDSResourceType/connectedComponentsJob.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="28e8d911-87e5-4f39-9ce9-0d445126c75f_SGFkb29wSm9iQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL0hhZG9vcEpvYkNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="HadoopJobConfigurationDSResourceType"/>
+		<RESOURCE_KIND value="HadoopJobConfigurationDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+	</HEADER>
+	<BODY>
+		<HADOOP_JOB name="connectedComponentsJob" type="mapreduce">
+			<DESCRIPTION>map reduce job joins all the vertex ids to build the connected components in the graph</DESCRIPTION>
+			<STATIC_CONFIGURATION>
+
+				<!-- I/O FORMAT -->
+				<PROPERTY key="mapreduce.inputformat.class" value="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat"/>
+				<PROPERTY key="mapreduce.outputformat.class" value="org.apache.hadoop.hbase.mapreduce.TableOutputFormat"/>
+
+				<!-- MAPPER -->
+				<PROPERTY key="mapreduce.map.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.ConnectedComponentsMapper"/>
+				<PROPERTY key="mapred.mapoutput.key.class" value="org.apache.hadoop.io.Text"/>
+				<PROPERTY key="mapred.mapoutput.value.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.VertexWritable"/>
+
+				<!-- REDUCER -->
+				<PROPERTY key="mapreduce.reduce.class" value="eu.dnetlib.data.mapreduce.hbase.dedup.cc.ConnectedComponentsReducer"/>
+				<PROPERTY key="mapred.output.key.class" value="org.apache.hadoop.hbase.io.ImmutableBytesWritable"/>
+				<PROPERTY key="mapred.output.value.class" value="org.apache.hadoop.hbase.client.Put"/>
+
+				<!-- MISC -->
+				<PROPERTY key="mapred.compress.map.output" value="false"/>
+				<PROPERTY key="mapred.reduce.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapred.map.tasks.speculative.execution" value="false"/>
+				<PROPERTY key="mapreduce.map.speculative" value="false"/>
+				<PROPERTY key="mapreduce.reduce.speculative" value="false"/>
+
+				<PROPERTY key="mapred.reduce.tasks" value="1"/>
+				<!-- <PROPERTY key="user.name" value="dnet" /> -->
+
+				<!--  	Uncomment to override the default lib path -->
+				<!--	<PROPERTY key="job.lib" value="/user/dnet/dnet-mapreduce-jobs-0.0.2-SNAPSHOT-jar-with-dependencies.jar"/> -->
+			</STATIC_CONFIGURATION>
+			<JOB_INTERFACE>
+				<PARAM name="mapred.input.dir" required="true" description="source path on hdfs"/>
+				<PARAM name="hbase.mapred.outputtable" required="true" description="target hbase table"/>
+			</JOB_INTERFACE>
+			<SCAN>
+				<FILTERS/>
+				<FAMILIES/>
+			</SCAN>
+		</HADOOP_JOB>
+		<STATUS>
+			<LAST_SUBMISSION_DATE value="2001-12-31T12:00:00"/>
+			<RUNNING_INSTANCES value="0"/>
+			<CUMULATIVE_RUN value="0"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f3fd5714-3be7-4b68-8ab1-b0620850e11d.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f3fd5714-3be7-4b68-8ab1-b0620850e11d.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f3fd5714-3be7-4b68-8ab1-b0620850e11d.xml	(revision 51225)
@@ -0,0 +1,66 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="f3fd5714-3be7-4b68-8ab1-b0620850e11d_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:36+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="datacite:id_typologies">datacite:id_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>datacite:id_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="ARK" encoding="OPENAIRE" english_name="ARK" native_name="ARK">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="DOI" encoding="OPENAIRE" english_name="DOI" native_name="DOI">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="EAN13" encoding="OPENAIRE" english_name="EAN13" native_name="EAN13">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="EISSN" encoding="OPENAIRE" english_name="EISSN" native_name="EISSN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Handle" encoding="OPENAIRE" english_name="Handle" native_name="Handle">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ISBN" encoding="OPENAIRE" english_name="ISBN" native_name="ISBN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ISSN" encoding="OPENAIRE" english_name="ISSN" native_name="ISSN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ISTC" encoding="OPENAIRE" english_name="ISTC" native_name="ISTC">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="LISSN" encoding="OPENAIRE" english_name="LISSN" native_name="LISSN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="LSID" encoding="OPENAIRE" english_name="LSID" native_name="LSID">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="PURL" encoding="OPENAIRE" english_name="PURL" native_name="PURL">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UPC" encoding="OPENAIRE" english_name="UPC" native_name="UPC">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="URL" encoding="OPENAIRE" english_name="URL" native_name="URL">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="URN" encoding="OPENAIRE" english_name="URN" native_name="URN">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c24eb145-45b0-4d5d-9ebb-0467fb61c266.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c24eb145-45b0-4d5d-9ebb-0467fb61c266.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/c24eb145-45b0-4d5d-9ebb-0467fb61c266.xml	(revision 51225)
@@ -0,0 +1,27 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="c24eb145-45b0-4d5d-9ebb-0467fb61c266_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:result_typologies">dnet:result_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:result_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="dataset" encoding="OPENAIRE" english_name="dataset" native_name="dataset">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="publication" encoding="OPENAIRE" english_name="publication" native_name="publication">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8c36efd4-b88a-4826-94ec-8e81061d1df7.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8c36efd4-b88a-4826-94ec-8e81061d1df7.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8c36efd4-b88a-4826-94ec-8e81061d1df7.xml	(revision 51225)
@@ -0,0 +1,48 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="8c36efd4-b88a-4826-94ec-8e81061d1df7_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="ec:FP7contractTypes">ec:FP7contractTypes</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>ec:FP7contractTypes</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="171" encoding="OPENAIRE" english_name="Article 171 of the Treaty" native_name="Article 171 of the Treaty">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="BSG" encoding="OPENAIRE" english_name="Research for the benefit of specific groups" native_name="Research for the benefit of specific groups">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="CIP-EIP-TN" encoding="OPENAIRE" english_name="CIP-Eco-Innovation - CIP-Thematic Network" native_name="CIP-Eco-Innovation - CIP-Thematic Network">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="CP" encoding="OPENAIRE" english_name="Collaborative project" native_name="Collaborative project">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="CP-CSA" encoding="OPENAIRE" english_name="Combination of CP &amp; CSA" native_name="Combination of CP &amp; CSA">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="CSA" encoding="OPENAIRE" english_name="Coordination and support action" native_name="Coordination and support action">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ERC" encoding="OPENAIRE" english_name="Support for frontier research (ERC)" native_name="Support for frontier research (ERC)">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="MC" encoding="OPENAIRE" english_name="Support for training and career development of researchers (Marie Curie)" native_name="Support for training and career development of researchers (Marie Curie)">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="NoE" encoding="OPENAIRE" english_name="Network of Excellence" native_name="Network of Excellence">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a8c3e147-a94f-4cad-bfc3-c795feed8029.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a8c3e147-a94f-4cad-bfc3-c795feed8029.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a8c3e147-a94f-4cad-bfc3-c795feed8029.xml	(revision 51225)
@@ -0,0 +1,33 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a8c3e147-a94f-4cad-bfc3-c795feed8029_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:dataCite_title">dnet:dataCite_title</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:dataCite_title</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="alternative title" encoding="OPENAIRE" english_name="alternative title" native_name="alternative title">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="main title" encoding="OPENAIRE" english_name="main title" native_name="main title">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="subtitle" encoding="OPENAIRE" english_name="subtitle" native_name="subtitle">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="translated title" encoding="OPENAIRE" english_name="translated title" native_name="translated title">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/918b0b7b-2670-4dd5-bb6e-24e0502c70a2.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/918b0b7b-2670-4dd5-bb6e-24e0502c70a2.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/918b0b7b-2670-4dd5-bb6e-24e0502c70a2.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="918b0b7b-2670-4dd5-bb6e-24e0502c70a2_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="wt:funding_relations">wt:funding_relations</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>wt:funding_relations</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="wt:hasParentFunding" encoding="OPENAIRE" english_name="wt:hasParentFunding" native_name="wt:hasParentFunding">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_publication_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_publication_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/publication_publication_relations.xml	(revision 51225)
@@ -0,0 +1,108 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c2cd2bab-6a9e-4a34-9318-3b11a349ad4c_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="publication_publication">dnet:publication_publication_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Publications entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="hasAmongTopNSimilarDocuments"
+                      encoding="publication_publication_hasAmongTopNSimilarDocuments"
+                      english_name="has Among Top N Similar Documents" native_name="has Among Top N Similar Documents">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isAmongTopNSimilarDocuments"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isAmongTopNSimilarDocuments" encoding="publication_publication_isAmongTopNSimilarDocuments"
+                      english_name="is Among Top N Similar Documents" native_name="is Among Top N Similar Documents">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="hasAmongTopNSimilarDocuments"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isRelatedTo" encoding="publication_publication_isRelatedTo" english_name="is related to"
+                      native_name="is related to">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isRelatedTo"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isSupplementTo" encoding="publication_publication_isSupplementTo"
+                      english_name="is supplement to" native_name="is supplement to">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isSupplementedBy"/>
+		            </RELATIONS>
+	            </TERM>
+                <TERM code="isSupplementedBy" encoding="publication_publication_isSupplementedBy"
+                      english_name="is supplemented by" native_name="is supplemented by">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isSupplementTo"/>
+		            </RELATIONS>
+	            </TERM>
+                <TERM code="isPartOf" encoding="publication_publication_isPartOf" english_name="is part of"
+                      native_name="is part of">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="hasPart"/>
+		            </RELATIONS>
+	            </TERM>
+                <TERM code="hasPart" encoding="publication_publication_hasPart" english_name="has part"
+                      native_name="has part">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isPartOf"/>
+		            </RELATIONS>
+	            </TERM>
+                <TERM code="merges" encoding="publication_publication_merges" english_name="merges"
+                      native_name="merges">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isMergedIn"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isMergedIn" encoding="publication_publication_isMergedIn" english_name="is Merged In"
+                      native_name="is Merged In">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="merges"/>
+					</RELATIONS>                    
+                </TERM>
+                <TERM code="isSimilarTo" encoding="publication_publication_isSimilarTo" english_name="is similar to"
+                      native_name="is similar to">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isSimilarTo"/>
+					</RELATIONS>
+                </TERM>
+
+	            <TERM code="cites" encoding="publication_publication_cites" english_name="cites"
+	                  native_name="cites">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="isCitedBy"/>
+		            </RELATIONS>
+	            </TERM>
+	            <TERM code="isCitedBy" encoding="publication_publication_isCitedBy" english_name="is Cited By"
+	                  native_name="is Cited By">
+		            <SYNONYMS/>
+		            <RELATIONS>
+			            <RELATION type="inverseOf" code="cites"/>
+		            </RELATIONS>
+	            </TERM>
+
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5d11b639-51c3-4dc3-a2aa-da0ad168e768.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5d11b639-51c3-4dc3-a2aa-da0ad168e768.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5d11b639-51c3-4dc3-a2aa-da0ad168e768.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="5d11b639-51c3-4dc3-a2aa-da0ad168e768_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-11-08T19:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="fct:contractTypes">fct:contractTypes</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>fct:contractTypes</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-11-08T19:46:37Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/99662685-4b66-4ab5-b1d4-d2bda325528d.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/99662685-4b66-4ab5-b1d4-d2bda325528d.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/99662685-4b66-4ab5-b1d4-d2bda325528d.xml	(revision 51225)
@@ -0,0 +1,25 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="99662685-4b66-4ab5-b1d4-d2bda325528d_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value="String"/>
+		<DATE_OF_CREATION value="2016-07-12T15:21:35+02:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:datasources_organizations_typologies">dnet:datasources_organizations_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION/>
+			<TERMS>
+				<TERM native_name="providedBy" code="providedBy" english_name="providedBy" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2016-07-12T15:21:35+02:00"/>
+		</STATUS>
+		<SECURITY_PARAMETERS/>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/be16b184-a80c-4591-9ebe-8232f1f75635.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/be16b184-a80c-4591-9ebe-8232f1f75635.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/be16b184-a80c-4591-9ebe-8232f1f75635.xml	(revision 51225)
@@ -0,0 +1,42 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="be16b184-a80c-4591-9ebe-8232f1f75635_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:36+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="datacite:relation_typologies">datacite:relation_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>datacite:relation_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="IsCitedBy" encoding="OPENAIRE" english_name="IsCitedBy" native_name="IsCitedBy">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="IsNewVersionOf" encoding="OPENAIRE" english_name="IsNewVersionOf" native_name="IsNewVersionOf">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="IsPartOf" encoding="OPENAIRE" english_name="IsPartOf" native_name="IsPartOf">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="IsPreviousVersionOf" encoding="OPENAIRE" english_name="IsPreviousVersionOf" native_name="IsPreviousVersionOf">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="IsReferencedBy" encoding="OPENAIRE" english_name="IsReferencedBy" native_name="IsReferencedBy">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="References" encoding="OPENAIRE" english_name="References" native_name="References">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/project_organization_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/project_organization_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/project_organization_relations.xml	(revision 51225)
@@ -0,0 +1,35 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="1e6c3a21-7551-4366-affd-295425b12958_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="project_organization">dnet:project_organization_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Project and Organization entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isParticipant" encoding="project_organization_isParticipant" english_name="is participant"
+                      native_name="is participant">
+                    <SYNONYMS/>
+                   	<RELATIONS>
+						<RELATION type="inverseOf" code="hasParticipant"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="hasParticipant" encoding="project_organization_hasParticipant"
+                      english_name="has participant" native_name="has participant">
+                    <SYNONYMS/>
+                   	<RELATIONS>
+						<RELATION type="inverseOf" code="isParticipant"/>
+					</RELATIONS>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/27f3906a-b3ec-496d-b868-0b5d38af0276.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/27f3906a-b3ec-496d-b868-0b5d38af0276.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/27f3906a-b3ec-496d-b868-0b5d38af0276.xml	(revision 51225)
@@ -0,0 +1,72 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="27f3906a-b3ec-496d-b868-0b5d38af0276_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:provenanceActions">dnet:provenanceActions</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:provenanceActions</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="sysimport:crosswalk:aggregator" encoding="OPENAIRE" english_name="sysimport:crosswalk:aggregator" native_name="sysimport:crosswalk:aggregator">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:crosswalk:cris" encoding="OPENAIRE" english_name="sysimport:crosswalk:cris" native_name="sysimport:crosswalk:cris">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:crosswalk:datasetarchive" encoding="OPENAIRE" english_name="sysimport:crosswalk:datasetarchive" native_name="sysimport:crosswalk:datasetarchive">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:crosswalk:entityregistry" encoding="OPENAIRE" english_name="sysimport:crosswalk:entityregistry" native_name="sysimport:crosswalk:entityregistry">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:crosswalk:infospace" encoding="OPENAIRE" english_name="sysimport:crosswalk:infospace" native_name="sysimport:crosswalk:infospace">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:crosswalk:repository" encoding="OPENAIRE" english_name="sysimport:crosswalk:repository" native_name="sysimport:crosswalk:repository">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:aggregator" encoding="OPENAIRE" english_name="sysimport:mining:aggregator" native_name="sysimport:mining:aggregator">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:cris" encoding="OPENAIRE" english_name="sysimport:mining:cris" native_name="sysimport:mining:cris">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:datasetarchive" encoding="OPENAIRE" english_name="sysimport:mining:datasetarchive" native_name="sysimport:mining:datasetarchive">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:entityregistry" encoding="OPENAIRE" english_name="sysimport:mining:entityregistry" native_name="sysimport:mining:entityregistry">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:infospace" encoding="OPENAIRE" english_name="sysimport:mining:infospace" native_name="sysimport:mining:infospace">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sysimport:mining:repository" encoding="OPENAIRE" english_name="sysimport:mining:repository" native_name="sysimport:mining:repository">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="user:claim:pid" encoding="OPENAIRE" english_name="user:claim:pid" native_name="user:claim:pid">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="user:claim:search" encoding="OPENAIRE" english_name="user:claim:search" native_name="user:claim:search">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="user:insert" encoding="OPENAIRE" english_name="user:insert" native_name="user:insert">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="" encoding="OPENAIRE" english_name="" native_name="">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_project_relations.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_project_relations.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OntologyDSResources/OntologyDSResourceType/person_project_relations.xml	(revision 51225)
@@ -0,0 +1,35 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="57e16235-b6c1-4a40-b5be-3e84acb2ff48_T250b2xvZ3lEU1Jlc291cmNlcy9PbnRvbG9neURTUmVzb3VyY2VUeXBl"/>
+        <RESOURCE_TYPE value="OntologyDSResourceType"/>
+        <RESOURCE_KIND value="OntologyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <ONTOLOGY_NAME code="person_project">dnet:person_project_relations</ONTOLOGY_NAME>
+            <ONTOLOGY_DESCRIPTION>Vocabulary of the relations between Person and Project entities</ONTOLOGY_DESCRIPTION>
+            <TERMS>
+                <TERM code="isContact" encoding="person_project_isContact" english_name="is contact"
+                      native_name="is contact">
+                    <SYNONYMS/>
+         			<RELATIONS>
+						<RELATION type="inverseOf" code="hasContact"/>
+					</RELATIONS>
+                </TERM>
+                <TERM code="hasContact" encoding="person_project_hasContact" english_name="has contact"
+                      native_name="has contact">
+                    <SYNONYMS/>
+                    <RELATIONS>
+						<RELATION type="inverseOf" code="isContact"/>
+					</RELATIONS>                    
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f335e2c6-6cc3-4d73-b630-56be6f1c45d6.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f335e2c6-6cc3-4d73-b630-56be6f1c45d6.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f335e2c6-6cc3-4d73-b630-56be6f1c45d6.xml	(revision 51225)
@@ -0,0 +1,69 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="f335e2c6-6cc3-4d73-b630-56be6f1c45d6_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-09-17T06:53:03+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="nsf:contractTypes">NSF Contract Types</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>NSF Contract Types</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="BOA/Task Order" code="BOA/Task Order" english_name="BOA/Task Order" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Continuing grant" code="Continuing grant" english_name="Continuing grant" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Contract" code="Contract" english_name="Contract" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Contract Interagency Agreement" code="Contract Interagency Agreement" english_name="Contract Interagency Agreement" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cooperative Agreement" code="Cooperative Agreement" english_name="Cooperative Agreement" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fellowship" code="Fellowship" english_name="Fellowship" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fixed Price Award" code="Fixed Price Award" english_name="Fixed Price Award" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Interagency Agreement" code="Interagency Agreement" english_name="Interagency Agreement" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Intergovernmental Personnel Award" code="Intergovernmental Personnel Award" english_name="Intergovernmental Personnel Award" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Personnel Agreement" code="Personnel Agreement" english_name="Personnel Agreement" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Standard Grant" code="Standard Grant" english_name="Standard Grant" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="GAA" code="GAA" english_name="GAA" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-09-17T08:45:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file

Property changes on: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/f335e2c6-6cc3-4d73-b630-56be6f1c45d6.xml
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/da6b3e2f-2a05-4975-85f8-e66aaa8cb93e.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/da6b3e2f-2a05-4975-85f8-e66aaa8cb93e.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/da6b3e2f-2a05-4975-85f8-e66aaa8cb93e.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="da6b3e2f-2a05-4975-85f8-e66aaa8cb93e_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2016-01-19T13:45:32+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:datasourceCompatibilityLevel">dnet:datasourceCompatibilityLevel</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:datasourceCompatibilityLevel</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="OpenAIRE 2.0 (EC funding)" code="openaire2.0" english_name="OpenAIRE 2.0 (EC funding)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE 2.0+ (DRIVER OA, EC funding)" code="driver-openaire2.0" english_name="OpenAIRE 2.0+ (DRIVER OA, EC funding)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE 3.0 (OA, funding)" code="openaire3.0" english_name="OpenAIRE 3.0 (OA, funding)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE basic (DRIVER OA)" code="driver" english_name="OpenAIRE Basic (DRIVER OA)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenAIRE Data (funded, referenced datasets)" code="openaire2.0_data" english_name="OpenAIRE Data (funded, referenced datasets)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="not available" code="UNKNOWN" english_name="not available" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="native" code="native" english_name="proprietary" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="collected from a compatible aggregator" code="hostedBy" english_name="collected from a compatible aggregator" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="under validation" code="notCompatible" english_name="under validation" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/51b3a0ad-7054-4b3b-acbc-b3c9657f113c.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/51b3a0ad-7054-4b3b-acbc-b3c9657f113c.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/51b3a0ad-7054-4b3b-acbc-b3c9657f113c.xml	(revision 51225)
@@ -0,0 +1,93 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="51b3a0ad-7054-4b3b-acbc-b3c9657f113c_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2016-01-18T15:32:18+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:datasource_typologies">dnet:datasource_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:datasource_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="CRIS System" code="crissystem" english_name="CRIS System" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Data Repository" code="datarepository::unknown" english_name="Data Repository" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Data Repository Aggregator" code="aggregator::datarepository" english_name="Data Repository Aggregator" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Information Space" code="infospace" english_name="Information Space" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Institutional Repository" code="pubsrepository::institutional" english_name="Institutional Repository" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Institutional Repository Aggregator" code="aggregator::pubsrepository::institutional" english_name="Institutional Repository Aggregator" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Journal" code="pubsrepository::journal" english_name="Journal" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Journal Aggregator/Publisher" code="aggregator::pubsrepository::journals" english_name="Journal Aggregator/Publisher" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Other" code="pubsrepository::mock" english_name="Other" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Publication Catalogue" code="pubscatalogue::unknown" english_name="Publication Catalogue" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Publication Repository" code="pubsrepository::unknown" english_name="Publication Repository" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Publication Repository Aggregator" code="aggregator::pubsrepository::unknown" english_name="Publication Repository Aggregator" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Registry" code="entityregistry" english_name="Registry" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Scholarly Comm. Infrastructure" code="scholarcomminfra" english_name="Scholarly Comm. Infrastructure" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Thematic Repository" code="pubsrepository::thematic" english_name="Thematic Repository" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Web Source" code="websource" english_name="Web Source" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Registry of repositories" code="entityregistry::repositories" english_name="Registry of repositories" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Funder database" code="entityregistry::projects" english_name="Funder database" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a2ca399e-be61-42c9-bc98-697b56c1050e.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a2ca399e-be61-42c9-bc98-697b56c1050e.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a2ca399e-be61-42c9-bc98-697b56c1050e.xml	(revision 51225)
@@ -0,0 +1,30 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a2ca399e-be61-42c9-bc98-697b56c1050e_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="ec:funding_relations">ec:funding_relations</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>ec:funding_relations</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="ec:hasframeworkprogram" encoding="OPENAIRE" english_name="hasframeworkprogram" native_name="hasframeworkprogram">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ec:hasprogram" encoding="OPENAIRE" english_name="hasprogram" native_name="hasprogram">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ec:hasspecificprogram" encoding="OPENAIRE" english_name="hasspecificprogram" native_name="hasspecificprogram">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/1f3dacf7-2cbb-4b88-9afd-43a3fbd03042.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/1f3dacf7-2cbb-4b88-9afd-43a3fbd03042.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/1f3dacf7-2cbb-4b88-9afd-43a3fbd03042.xml	(revision 51225)
@@ -0,0 +1,29 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="1f3dacf7-2cbb-4b88-9afd-43a3fbd03042_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value="String"/>
+		<DATE_OF_CREATION value="2014-07-10T12:24:17+02:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="ModularUiLabels">ModularUiLabels</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>Labels used by the Modular UI</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="PendingRepositoryResources" encoding="DNET" english_name="Pending datasource" native_name="Pending datasource">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM code="RepositoryServiceResources" encoding="DNET" english_name="Valid datasource" native_name="Valid datasource">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2014-07-10T12:24:16+02:00"/>
+		</STATUS>
+		<SECURITY_PARAMETERS/>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file

Property changes on: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/1f3dacf7-2cbb-4b88-9afd-43a3fbd03042.xml
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a20fef92-c046-4045-a3df-f3ed606503bf.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a20fef92-c046-4045-a3df-f3ed606503bf.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a20fef92-c046-4045-a3df-f3ed606503bf.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a20fef92-c046-4045-a3df-f3ed606503bf_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="VocabularyDSResourceType"/>
+        <RESOURCE_KIND value="VocabularyDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-09-17T07:46:38+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <VOCABULARY_NAME code="nsf:contractTypes">NSF Contract Types</VOCABULARY_NAME>
+            <VOCABULARY_DESCRIPTION>NSF Contract Types</VOCABULARY_DESCRIPTION>
+            <TERMS>
+				<TERM code="BOA/Task Order" encoding="OPENAIRE" english_name="BOA/Task Order" native_name="BOA/Task Order">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Continuing grant" encoding="OPENAIRE" english_name="Continuing grant" native_name="Continuing grant">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Contract" encoding="OPENAIRE" english_name="Contract" native_name="Contract">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Contract Interagency Agreement" encoding="OPENAIRE" english_name="Contract Interagency Agreement" native_name="Contract Interagency Agreement">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Cooperative Agreement" encoding="OPENAIRE" english_name="Cooperative Agreement" native_name="Cooperative Agreement">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Fellowship" encoding="OPENAIRE" english_name="Fellowship" native_name="Fellowship">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Fixed Price Award" encoding="OPENAIRE" english_name="Fixed Price Award" native_name="Fixed Price Award">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="GAA" encoding="OPENAIRE" english_name="GAA" native_name="GAA">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Interagency Agreement" encoding="OPENAIRE" english_name="Interagency Agreement" native_name="Interagency Agreement">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Intergovernmental Personnel Award" encoding="OPENAIRE" english_name="Intergovernmental Personnel Award" native_name="Intergovernmental Personnel Award">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Personnel Agreement" encoding="OPENAIRE" english_name="Personnel Agreement" native_name="Personnel Agreement">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="Standard Grant" encoding="OPENAIRE" english_name="Standard Grant" native_name="Standard Grant">
+					<SYNONYMS/>
+				</TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2015-09-17T08:45:36Z"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8a2b4126-1a8d-4c32-a52a-7b28430bab59.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8a2b4126-1a8d-4c32-a52a-7b28430bab59.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/8a2b4126-1a8d-4c32-a52a-7b28430bab59.xml	(revision 51225)
@@ -0,0 +1,30 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="8a2b4126-1a8d-4c32-a52a-7b28430bab59_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="ec:funding_typologies">ec:funding_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>ec:funding_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="ec:frameworkprogram" encoding="OPENAIRE" english_name="frameworkprogram" native_name="frameworkprogram">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ec:program" encoding="OPENAIRE" english_name="program" native_name="program">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="ec:specificprogram" encoding="OPENAIRE" english_name="specificprogram" native_name="specificprogram">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OAIPublisherConfigurationDSResources/OAIPublisherConfigurationDSResourceType/OAIPublisherConfiguration-OpenAire.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OAIPublisherConfigurationDSResources/OAIPublisherConfigurationDSResourceType/OAIPublisherConfiguration-OpenAire.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/OAIPublisherConfigurationDSResources/OAIPublisherConfigurationDSResourceType/OAIPublisherConfiguration-OpenAire.xml	(revision 51225)
@@ -0,0 +1,107 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="53b2865b-53a3-444c-a3a5-d09bb7be9374_T0FJUHVibGlzaGVyQ29uZmlndXJhdGlvbkRTUmVzb3VyY2VzL09BSVB1Ymxpc2hlckNvbmZpZ3VyYXRpb25EU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="OAIPublisherConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="OAIPublisherConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-23T12:33:34+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IDSCHEME>oai</IDSCHEME>
+            <IDNAMESPACE>dnet</IDNAMESPACE>
+            <CURRENTDB>oaistore</CURRENTDB>
+            <OAISETS>
+                <OAISET enabled="true">
+                    <spec>OpenAccess</spec>
+                    <name>Set of Open Access results</name>
+                    <description>OPEN ACCESS publications and datasets</description>
+                    <query>(license = "OPEN")</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>publications</spec>
+                    <name>Publications</name>
+                    <description>Set of all publications aggregated in OpenAIREPlus</description>
+                    <query>resulttypeid="publication"</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>organizations</spec>
+                    <name>Organizations</name>
+                    <description>Set of all organizations aggregated in OpenAIREPlus</description>
+                    <query>oaftype="organization"</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>datasets</spec>
+                    <name>datasets</name>
+                    <description>Set of all datasets aggregated in OpenAIREPlus</description>
+                    <query>resulttypeid="dataset"</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>projects</spec>
+                    <name>projects</name>
+                    <description>Set of all projects: includes FP7, WellcomeTrust and, soon, H2020 funded projects</description>
+                    <query>oaftype exact "project"</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>FP7Projects</spec>
+                    <name>FP7 projects</name>
+                    <description>Projects funded by EC FP7</description>
+                    <query>(oaftype exact "project" and funder exact "corda_______::FP7")</query>
+                </OAISET>
+                <OAISET enabled="true">
+                    <spec>WTProjects</spec>
+                    <name>Wellcome Trust projects</name>
+                    <description>Projects funded by Wellcome Trust</description>
+                    <query>(oaftype exact "project" and funder exact "wt::WT")</query>
+                </OAISET>
+            </OAISETS>
+            <METADATAFORMATS>
+                <METADATAFORMAT exportable="true" metadataPrefix="oaf">
+                    <NAMESPACE>http://namespace.openaire.eu/oaf</NAMESPACE>
+                    <SCHEMA>http://www.openaire.eu/schema/0.2/oaf-0.2.xsd</SCHEMA>
+                    <SOURCE_METADATA_FORMAT interpretation="openaire" layout="index" name="oaf"/>
+                    <TRANSFORMATION_RULE/>
+                    <BASE_QUERY>(oaftype &lt;&gt; "person")</BASE_QUERY>
+                </METADATAFORMAT>
+                <METADATAFORMAT exportable="true" metadataPrefix="oai_dc">
+                    <NAMESPACE>http://www.openarchives.org/OAI/2.0/oai_dc/</NAMESPACE>
+                    <SCHEMA>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</SCHEMA>
+                    <SOURCE_METADATA_FORMAT interpretation="openaire" layout="index" name="oaf"/>
+                    <TRANSFORMATION_RULE>oaf2dc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=</TRANSFORMATION_RULE>
+                    <BASE_QUERY>oaftype="result"</BASE_QUERY>
+                </METADATAFORMAT>
+            </METADATAFORMATS>
+            <INDICES>
+                <INDEX name="objIdentifier" repeatable="false">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="//*[local-name() ='objIdentifier']"/>
+                </INDEX>
+                <INDEX name="set" repeatable="true">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="//collectedfrom/@name"/>
+                </INDEX>
+                <INDEX name="license" repeatable="false">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="//bestlicense/@classid"/>
+                </INDEX>
+                <INDEX name="oaftype" repeatable="false">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="local-name(//*[local-name()='entity']/*)"/>
+                </INDEX>
+                <INDEX name="resulttypeid" repeatable="false">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="//*[local-name()='entity']/*[local-name()='result']/resulttype/@classid"/>
+                </INDEX>
+                <INDEX name="funder" repeatable="false">
+                    <SOURCE interpretation="openaire" layout="index" name="oaf" path="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/id"/>
+                </INDEX>
+            </INDICES>
+            <ENRICHMENT>
+                <XPATH interpretation="openaire" layout="index" name="oaf" path="//subject[./@inferred='true']"/>
+                <XPATH interpretation="openaire" layout="index" name="oaf"
+                       path="//result/datainfo[./inferenceprovenance='dedup-similarity-result' and ./deletedbyinference='false']"/>
+
+                <XPATH interpretation="openaire" layout="index" name="oaf" path="//rel[./@inferred='true' and ./@inferenceprovenance != 'dedup']"/>
+            </ENRICHMENT>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/66daaedb-c0de-48d3-a1ff-60bf5756c9be.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/66daaedb-c0de-48d3-a1ff-60bf5756c9be.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/66daaedb-c0de-48d3-a1ff-60bf5756c9be.xml	(revision 51225)
@@ -0,0 +1,351 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="66daaedb-c0de-48d3-a1ff-60bf5756c9be_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:publication_resource">dnet:publication_resource</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:publication_resource</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="Annotation" code="0018" english_name="Annotation" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/annotation" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Article" code="0001" english_name="Article" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Article" encoding="OTHER"/>
+						<SYNONYM term="Article (author)" encoding="OTHER"/>
+						<SYNONYM term="Article - letter to the editor" encoding="DRIVER"/>
+						<SYNONYM term="Article / Letter to editor" encoding="DRIVER"/>
+						<SYNONYM term="Article / Letter to the editor" encoding="DRIVER"/>
+						<SYNONYM term="Article / Newspaper" encoding="DRIVER"/>
+						<SYNONYM term="Article in monograph or in proceedings" encoding="DRIVER"/>
+						<SYNONYM term="Article in proceedings" encoding="OTHER"/>
+						<SYNONYM term="Article-letter to the editor" encoding="DRIVER"/>
+						<SYNONYM term="Article/Letter to editor" encoding="DRIVER"/>
+						<SYNONYM term="Articolo" encoding="OTHER"/>
+						<SYNONYM term="Artículo" encoding="CSIC"/>
+						<SYNONYM term="Aufsatz" encoding="DRIVER"/>
+						<SYNONYM term="Institutional Series" encoding="OTHER"/>
+						<SYNONYM term="International Journal" encoding="OTHER"/>
+						<SYNONYM term="International Journal Abstract" encoding="OTHER"/>
+						<SYNONYM term="International Journal ISI/JCR" encoding="OTHER"/>
+						<SYNONYM term="Journal (full / special issue)" encoding="OTHER"/>
+						<SYNONYM term="Journal article" encoding="DRIVER"/>
+						<SYNONYM term="Journal article (on-line or printed)" encoding="DRIVER"/>
+						<SYNONYM term="Journal articles" encoding="HAL"/>
+						<SYNONYM term="National Journal" encoding="OTHER"/>
+						<SYNONYM term="Peer-reviewed Article" encoding="DRIVER"/>
+						<SYNONYM term="article in non peer-reviewed journal" encoding="OTHER"/>
+						<SYNONYM term="article in peer-reviewed journal" encoding="OTHER"/>
+						<SYNONYM term="doc-type:Journal Article" encoding="OTHER"/>
+						<SYNONYM term="doc-type:article" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/article" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="journalArticle" encoding="OTHER"/>
+						<SYNONYM term="journal_article" encoding="CrossRef DOI type"/>
+						<SYNONYM term="non peer-reviewed article" encoding="OTHER"/>
+						<SYNONYM term="proceeding with peer review" encoding="OTHER"/>
+						<SYNONYM term="text" encoding="OTHER"/>
+						<SYNONYM term="text (article)" encoding="OTHER"/>
+						<SYNONYM term="Journal Article/Review" encoding="RIOXX"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bachelor thesis" code="0008" english_name="Bachelor thesis" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Bachelor's Degree" encoding="OTHER"/>
+						<SYNONYM term="Bachelors Thesis" encoding="OTHER"/>
+						<SYNONYM term="Undergraduate Thesis" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/bachelorThesis" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Book" code="0002" english_name="Book" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Book (monograph)" encoding="DRIVER"/>
+						<SYNONYM term="Book - monograph - editorial book" encoding="DRIVER"/>
+						<SYNONYM term="Book Section" encoding="DRIVER"/>
+						<SYNONYM term="Buch" encoding="OTHER"/>
+						<SYNONYM term="International Book/Monograph" encoding="OTHER"/>
+						<SYNONYM term="Libro" encoding="CSIC"/>
+						<SYNONYM term="Monografia" encoding="OTHER"/>
+						<SYNONYM term="Monograph" encoding="DRIVER"/>
+						<SYNONYM term="National Book/Monograph" encoding="OTHER"/>
+						<SYNONYM term="book_series" encoding="CrossRef DOI type"/>
+						<SYNONYM term="book_title" encoding="CrossRef DOI type"/>
+						<SYNONYM term="doc-type:book" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/book" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="scientific book" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Collection" code="0022" english_name="Collection" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="collection" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Conference object" code="0004" english_name="Conference object" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Conference Paper" encoding="DRIVER"/>
+						<SYNONYM term="Conference contribution" encoding="DRIVER"/>
+						<SYNONYM term="Conference lecture" encoding="DRIVER"/>
+						<SYNONYM term="Conference or Workshop Item" encoding="DRIVER"/>
+						<SYNONYM term="Conference papers" encoding="HAL"/>
+						<SYNONYM term="Conference report" encoding="DRIVER"/>
+						<SYNONYM term="International Conference" encoding="OTHER"/>
+						<SYNONYM term="International Conference Abstract/Poster" encoding="OTHER"/>
+						<SYNONYM term="International Conference ISI/JCR" encoding="OTHER"/>
+						<SYNONYM term="International Conference communication/abstract/poster" encoding="OTHER"/>
+						<SYNONYM term="National Conference" encoding="OTHER"/>
+						<SYNONYM term="National Conference Abstract/Poster" encoding="OTHER"/>
+						<SYNONYM term="National Conference communication/abstract/poster" encoding="OTHER"/>
+						<SYNONYM term="Proceedings of a Conference" encoding="OTHER"/>
+						<SYNONYM term="Proceedings paper" encoding="OTHER"/>
+						<SYNONYM term="conference" encoding="OTHER"/>
+						<SYNONYM term="conference item" encoding="OTHER"/>
+						<SYNONYM term="conference proceeding" encoding="OTHER"/>
+						<SYNONYM term="conferenceObject" encoding="OTHER"/>
+						<SYNONYM term="conference_paper" encoding="OTHER"/>
+						<SYNONYM term="doc-type:conferenceObject" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/conferenceItem" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/conferenceObject" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="invited conference talk" encoding="OTHER"/>
+						<SYNONYM term="proceeding, seminar, workshop without peer review" encoding="OTHER"/>
+						<SYNONYM term="Conference Paper/Proceeding/Abstract" encoding="RIOXX"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Contribution for newspaper or weekly magazine" code="0005" english_name="Contribution for newspaper or weekly magazine" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/contributionToPeriodical" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dataset" code="0021" english_name="Dataset" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="dataset" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/DDIInstance" encoding="OPENAIRE"/>
+						<SYNONYM term="info:eu-repo/semantics/datafile" encoding="OPENAIRE"/>
+						<SYNONYM term="info:eu-repo/semantics/dataset" encoding="OPENAIRE"/>
+						<SYNONYM term="info:eu-repo/semantics/enhancedObjectFile" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Doctoral thesis" code="0006" english_name="Doctoral thesis" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Diss" encoding="DRIVER"/>
+						<SYNONYM term="Dissertation" encoding="DRIVER"/>
+						<SYNONYM term="Doctoral" encoding="OTHER"/>
+						<SYNONYM term="DoctoralThesis" encoding="DRIVER"/>
+						<SYNONYM term="PhD thesis" encoding="OTHER"/>
+						<SYNONYM term="Text.Thesis.Doctoral" encoding="DINI"/>
+						<SYNONYM term="Thesis" encoding="OTHER"/>
+						<SYNONYM term="Thesis or Dissertation" encoding="OTHER"/>
+						<SYNONYM term="Thesis.Doctoral" encoding="DRIVER"/>
+						<SYNONYM term="doc-type:doctoralThesis" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/doctoralThesis" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="these exercice" encoding="France"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Event" code="0023" english_name="Event" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="event" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="External research report" code="0009" english_name="External research report" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Tech-Report" encoding="DINI"/>
+						<SYNONYM term="Technical Report" encoding="OTHER"/>
+						<SYNONYM term="research report" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Film" code="0024" english_name="Film" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="film" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Image" code="0025" english_name="Image" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="image" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="InteractiveResource" code="0026" english_name="InteractiveResource" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="interactiveResource" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Internal report" code="0011" english_name="Internal report" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Internal note" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lecture" code="0010" english_name="Lecture" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Inaugural lecture" encoding="DRIVER"/>
+						<SYNONYM term="Public-Lecture" encoding="DINI"/>
+						<SYNONYM term="info:eu-repo/semantics/lecture" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Master thesis" code="0007" english_name="Master thesis" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Diploma Project" encoding="OTHER"/>
+						<SYNONYM term="MSc Thesis" encoding="OTHER"/>
+						<SYNONYM term="Master Degree" encoding=""/>
+						<SYNONYM term="Masterarbeit u.a." encoding="OTHER"/>
+						<SYNONYM term="Masters (Taught)" encoding=""/>
+						<SYNONYM term="Masters thesis" encoding="DRIVER"/>
+						<SYNONYM term="Masters-Thesis.Magister" encoding="DINI"/>
+						<SYNONYM term="Thesis.Master" encoding="DRIVER"/>
+						<SYNONYM term="doc-type:masterThesis" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/masterThesis" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="masterThesis" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Model" code="0027" english_name="Model" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="model" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Newsletter" code="0012" english_name="Newsletter" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Other" code="0020" english_name="Other" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Abstract" encoding="OTHER"/>
+						<SYNONYM term="Editorial" encoding="OTHER"/>
+						<SYNONYM term="Editorial ISI/JCR" encoding="OTHER"/>
+						<SYNONYM term="Exhibition" encoding="OTHER"/>
+						<SYNONYM term="HabilitationThesis" encoding="OTHER"/>
+						<SYNONYM term="Learning Object" encoding="OTHER"/>
+						<SYNONYM term="Patent" encoding="OTHER"/>
+						<SYNONYM term="Video" encoding="OTHER"/>
+						<SYNONYM term="artefact" encoding="OTHER"/>
+						<SYNONYM term="composition" encoding="OTHER"/>
+						<SYNONYM term="fotó" encoding="OTHER"/>
+						<SYNONYM term="grafika" encoding="OTHER"/>
+						<SYNONYM term="habilitation à diriger des recherches" encoding="OTHER"/>
+						<SYNONYM term="historicalDocument" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/other" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="learningObject" encoding="OTHER"/>
+						<SYNONYM term="map" encoding="OTHER"/>
+						<SYNONYM term="misc" encoding="OTHER"/>
+						<SYNONYM term="other publication" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Part of book or chapter of book" code="0013" english_name="Part of book or chapter of book" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Book Part (author)" encoding="OTHER"/>
+						<SYNONYM term="Book editorial" encoding="DRIVER"/>
+						<SYNONYM term="Book section" encoding="DRIVER"/>
+						<SYNONYM term="Book_Chapter" encoding="OTHER"/>
+						<SYNONYM term="Buchbeitrag" encoding="OTHER"/>
+						<SYNONYM term="Capítulo de libro" encoding="CSIC"/>
+						<SYNONYM term="Contribution to International Book/Monograph" encoding="OTHER"/>
+						<SYNONYM term="Contribution to International Book/Monograph ISI/JCR" encoding="OTHER"/>
+						<SYNONYM term="Contribution to National Book/Monograph" encoding="OTHER"/>
+						<SYNONYM term="Part of book - chapter" encoding="DRIVER"/>
+						<SYNONYM term="book chapter" encoding="OTHER"/>
+						<SYNONYM term="bookPart" encoding="OTHER"/>
+						<SYNONYM term="book_content" encoding="CrossRef DOI type"/>
+						<SYNONYM term="doc-type:bookPart" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/bookPart" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="scientific book chapter" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Patent" code="0019" english_name="Patent" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Patente" encoding="CSIC"/>
+						<SYNONYM term="info:eu-repo/semantics/patent" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="PhysicalObject" code="0028" english_name="PhysicalObject" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="physicalObject" encoding="DataCite"/>
+						<SYNONYM term="service" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Preprint" code="0016" english_name="Preprint" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Pre Print" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/preprint" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Report" code="0017" english_name="Report" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Deliverable" encoding="OTHER"/>
+						<SYNONYM term="Project Report" encoding="OTHER"/>
+						<SYNONYM term="doc-type:report" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/report" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="report" encoding="OTHER"/>
+						<SYNONYM term="report-paper_title" encoding="CrossRef DOI type"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Research" code="0014" english_name="Research" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Arbeitspapier" encoding="OTHER"/>
+						<SYNONYM term="Paper" encoding="DINI"/>
+						<SYNONYM term="Research-Paper" encoding="DINI"/>
+						<SYNONYM term="ResearchPaper" encoding="DINI"/>
+						<SYNONYM term="Working / discussion paper" encoding="OTHER"/>
+						<SYNONYM term="Working Paper" encoding="OTHER"/>
+						<SYNONYM term="doc-type:workingPaper" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/paper" encoding="OTHER"/>
+						<SYNONYM term="info:eu-repo/semantics/workingPaper" encoding="DRIVERGuidelinesV2"/>
+						<SYNONYM term="workingPaper" encoding="OTHER"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Review" code="0015" english_name="Review" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="info:eu-repo/semantics/review" encoding="DRIVERGuidelinesV2"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Software" code="0029" english_name="Software" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="software" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sound" code="0030" english_name="Sound" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="sound" encoding="DataCite"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Unknown" code="0000" english_name="Unknown" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-12-17T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/CleanerDSResource/CleanerDSResourceType/EntityRegistryCleaningRule.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/CleanerDSResource/CleanerDSResourceType/EntityRegistryCleaningRule.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/CleanerDSResource/CleanerDSResourceType/EntityRegistryCleaningRule.xml	(revision 51225)
@@ -0,0 +1,26 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c2fa90c7-59b8-4864-b132-4bf6523a3b21_Q2xlYW5lckRTUmVzb3VyY2VzL0NsZWFuZXJEU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="CleanerDSResourceType"/>
+        <RESOURCE_KIND value="CleanerDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-01-15T17:16:54+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <CLEANER_NAME>Entity registry cleaning rules</CLEANER_NAME>
+            <CLEANER_DESCRIPTION/>
+            <CLEANER_RULES>
+                <RULE strict="true" vocabularies="dnet:countries" xpath="//FIELD[@name='countryClass' or @name='countryclass']"/>
+                <RULE strict="true" vocabularies="dnet:countries" xpath="//FIELD[@name='nationalityClass' or @name='nationalityclass']"/>
+                <RULE strict="true" vocabularies="dnet:protocols" xpath="//FIELD[@name='protocolClass' or @name='protocolclass']"/>
+                <RULE strict="true" vocabularies="dnet:languages" xpath="//FIELD[@name='od_languages']"/>
+            </CLEANER_RULES>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2014-01-15T17:16:54+01:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/aecdb60c-e1ed-40bd-a6c1-edc9993f07cb.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/aecdb60c-e1ed-40bd-a6c1-edc9993f07cb.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/aecdb60c-e1ed-40bd-a6c1-edc9993f07cb.xml	(revision 51225)
@@ -0,0 +1,1322 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="aecdb60c-e1ed-40bd-a6c1-edc9993f07cb_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2016-01-11T15:29:19+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:countries">dnet:countries</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:countries</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="Afghanistan" code="AF" english_name="Afghanistan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="AFG" encoding="OPENAIRE"/>
+						<SYNONYM term="Afghanistan" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Albania" code="AL" english_name="Albania" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Algeria" code="DZ" english_name="Algeria" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="American Samoa" code="AS" english_name="American Samoa" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Andorra" code="AD" english_name="Andorra" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Andorra" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Angola" code="AO" english_name="Angola" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Angola" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Anguilla" code="AI" english_name="Anguilla" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Antarctica" code="AQ" english_name="Antarctica" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Antigua and Barbuda" code="AG" english_name="Antigua and Barbuda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Argentina" code="AR" english_name="Argentina" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Argentina" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Armenia" code="AM" english_name="Armenia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Aruba" code="AW" english_name="Aruba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Australia" code="AU" english_name="Australia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="AUS" encoding="OPENAIRE"/>
+						<SYNONYM term="Australia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Austria" code="AT" english_name="Austria" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="AUT" encoding="OPENAIRE"/>
+						<SYNONYM term="Austria" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Azerbaijan" code="AZ" english_name="Azerbaijan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="AZE" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bahamas" code="BS" english_name="Bahamas" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bahrain" code="BH" english_name="Bahrain" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bangladesh" code="BD" english_name="Bangladesh" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Bangladesh" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Barbados" code="BB" english_name="Barbados" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Belarus" code="BY" english_name="Belarus" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Belarus" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Belgium" code="BE" english_name="Belgium" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="BEL" encoding="OPENAIRE"/>
+						<SYNONYM term="Belgium" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Belize" code="BZ" english_name="Belize" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Benin" code="BJ" english_name="Benin" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="BEN" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bermuda" code="BM" english_name="Bermuda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bhutan" code="BT" english_name="Bhutan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bolivia" code="BO" english_name="Bolivia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bonaire, Sint Eustatius and Saba" code="BQ" english_name="Bonaire, Sint Eustatius and Saba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bosnia and Herzegovina" code="BA" english_name="Bosnia and Herzegovina" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="BIH" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Botswana" code="BW" english_name="Botswana" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bouvet Island" code="BV" english_name="Bouvet Island" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Brazil" code="BR" english_name="Brazil" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="BRA" encoding="OPENAIRE"/>
+						<SYNONYM term="Brazil" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="British Indian Ocean Territory" code="IO" english_name="British Indian Ocean Territory" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Brunei Darussalam" code="BN" english_name="Brunei Darussalam" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Bulgaria" code="BG" english_name="Bulgaria" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Bulgaria" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Burkina Faso" code="BF" english_name="Burkina Faso" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="BFA" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Burundi" code="BI" english_name="Burundi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cambodia" code="KH" english_name="Cambodia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cameroon" code="CM" english_name="Cameroon" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CMR" encoding="OpenAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Canada" code="CA" english_name="Canada" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CAN" encoding="OPENAIRE"/>
+						<SYNONYM term="Canada" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cape Verde" code="CV" english_name="Cape Verde" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Cape Verde" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cayman Islands" code="KY" english_name="Cayman Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Central African Republic" code="CF" english_name="Central African Republic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chad" code="TD" english_name="Chad" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Chile" code="CL" english_name="Chile" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Chile" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="China (People's Republic of)" code="CN" english_name="China (People's Republic of)" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CHN" encoding="OPENAIRE"/>
+						<SYNONYM term="China" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Christmas Island" code="CX" english_name="Christmas Island" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cocos (Keeling) Islands" code="CC" english_name="Cocos (Keeling) Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Colombia" code="CO" english_name="Colombia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="COL" encoding="OPENAIRE"/>
+						<SYNONYM term="Colombia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Comoros" code="KM" english_name="Comoros" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Congo" code="CG" english_name="Congo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Congo (Democratic Republic of)" code="CD" english_name="Congo (Democratic Republic of)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cook Islands" code="CK" english_name="Cook Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Costa Rica" code="CR" english_name="Costa Rica" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CRI" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cote d'Ivoire" code="CI" english_name="Cote d'Ivoire" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CIV" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Croatia" code="HR" english_name="Croatia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Croatia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cuba" code="CU" english_name="Cuba" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Curaçao" code="CW" english_name="Curaçao" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Cyprus" code="CY" english_name="Cyprus" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CYP" encoding="OPENAIRE"/>
+						<SYNONYM term="Cyprus" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Czech Republic" code="CZ" english_name="Czech Republic" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CZE" encoding="OPENAIRE"/>
+						<SYNONYM term="Czech Republic" encoding="OPENAIRE"/>
+						<SYNONYM term="Czechoslovakia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Denmark" code="DK" english_name="Denmark" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="DNK" encoding="OPENAIRE"/>
+						<SYNONYM term="Denmark" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Djibouti" code="DJ" english_name="Djibouti" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dominica" code="DM" english_name="Dominica" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Dominican Republic" code="DO" english_name="Dominican Republic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ecuador" code="EC" english_name="Ecuador" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Ecuador" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Egypt" code="EG" english_name="Egypt" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="EGY" encoding="OPENAIRE"/>
+						<SYNONYM term="Egypt" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="El Salvador" code="SV" english_name="El Salvador" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SLV" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Equatorial Guinea" code="GQ" english_name="Equatorial Guinea" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Eritrea" code="ER" english_name="Eritrea" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Estonia" code="EE" english_name="Estonia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="EST" encoding="OPENAIRE"/>
+						<SYNONYM term="Estonia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ethiopia" code="ET" english_name="Ethiopia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ETH" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="European Union" code="EU" english_name="European Union" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="EEC" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Falkland Islands (Malvinas)" code="FK" english_name="Falkland Islands (Malvinas)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Faroe Islands" code="FO" english_name="Faroe Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Fiji" code="FJ" english_name="Fiji" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Finland" code="FI" english_name="Finland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="FIN" encoding="OPENAIRE"/>
+						<SYNONYM term="Finland" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Former Yugoslav Republic of Macedonia" code="MK" english_name="Former Yugoslav Republic of Macedonia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Macedonia, the Former Yugoslav Republic Of" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="France" code="FR" english_name="France" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="FRA" encoding="OPENAIRE"/>
+						<SYNONYM term="France" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="French Guiana" code="GF" english_name="French Guiana" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="French Polynesia" code="PF" english_name="French Polynesia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="French Polynesia" encoding="OPENAIRE"/>
+						<SYNONYM term="PYF" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="French Southern Territories" code="TF" english_name="French Southern Territories" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="French Southern Territories" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gabon" code="GA" english_name="Gabon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gambia" code="GM" english_name="Gambia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Georgia" code="GE" english_name="Georgia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Georgia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Germany" code="DE" english_name="Germany" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="DEU" encoding="OPENAIRE"/>
+						<SYNONYM term="Germany" encoding="OPENAIRE"/>
+						<SYNONYM term="Germany, Berlin" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ghana" code="GH" english_name="Ghana" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="GHA" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Gibraltar" code="GI" english_name="Gibraltar" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Greece" code="GR" english_name="Greece" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="EL" encoding="OPENAIRE"/>
+						<SYNONYM term="GRC" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Greenland" code="GL" english_name="Greenland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="GRL" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Grenada" code="GD" english_name="Grenada" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guadeloupe" code="GP" english_name="Guadeloupe" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guam" code="GU" english_name="Guam" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guatemala" code="GT" english_name="Guatemala" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guernsey" code="GG" english_name="Guernsey" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guinea" code="GN" english_name="Guinea" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Guinea" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guinea-Bissau" code="GW" english_name="Guinea-Bissau" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Guinea-Bissau" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Guyana" code="GY" english_name="Guyana" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Haiti" code="HT" english_name="Haiti" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Heard Island and McDonald Islands" code="HM" english_name="Heard Island and McDonald Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Holy See (Vatican City State)" code="VA" english_name="Holy See (Vatican City State)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Honduras" code="HN" english_name="Honduras" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hong Kong" code="HK" english_name="Hong Kong" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Hong Kong" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Hungary" code="HU" english_name="Hungary" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="HUN" encoding="OPENAIRE"/>
+						<SYNONYM term="Hungary" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iceland" code="IS" english_name="Iceland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ISL" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="India" code="IN" english_name="India" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="IND" encoding="OPENAIRE"/>
+						<SYNONYM term="India" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Indonesia" code="ID" english_name="Indonesia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="IDN" encoding="OPENAIRE"/>
+						<SYNONYM term="Indonesia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iran (Islamic Republic of)" code="IR" english_name="Iran (Islamic Republic of)" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Iran" encoding="OPENAIRE"/>
+						<SYNONYM term="Iran, Islamic Republic of" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Iraq" code="IQ" english_name="Iraq" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ireland" code="IE" english_name="Ireland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="IRL" encoding="OPENAIRE"/>
+						<SYNONYM term="Ireland" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Isle of Man" code="IM" english_name="Isle of Man" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Israel" code="IL" english_name="Israel" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ISR" encoding="OPENAIRE"/>
+						<SYNONYM term="Israel" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Italy" code="IT" english_name="Italy" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ITA" encoding="OPENAIRE"/>
+						<SYNONYM term="Italy" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Jamaica" code="JM" english_name="Jamaica" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Jamaica" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Japan" code="JP" english_name="Japan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="JPN" encoding="OPENAIRE"/>
+						<SYNONYM term="Japan" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Jersey" code="JE" english_name="Jersey" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Jordan" code="JO" english_name="Jordan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kazakhstan" code="KZ" english_name="Kazakhstan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kenya" code="KE" english_name="Kenya" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="KEN" encoding="OPENAIRE"/>
+						<SYNONYM term="Kenya" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kiribati" code="KI" english_name="Kiribati" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Korea (Republic of)" code="KR" english_name="Korea (Republic of)" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="KOR" encoding="OPENAIRE"/>
+						<SYNONYM term="Korea, Republic of" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Korea, Democatric People's Republic of" code="KP" english_name="Korea, Democatric People's Republic of" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kosovo * UN resolution" code="XK" english_name="Kosovo * UN resolution" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kuwait" code="KW" english_name="Kuwait" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Kyrgyzstan" code="KG" english_name="Kyrgyzstan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lao (People's Democratic Republic)" code="LA" english_name="Lao (People's Democratic Republic)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Latvia" code="LV" english_name="Latvia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lebanon" code="LB" english_name="Lebanon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lesotho" code="LS" english_name="Lesotho" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Liberia" code="LR" english_name="Liberia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Libyan Arab Jamahiriya" code="LY" english_name="Libyan Arab Jamahiriya" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Liechtenstein" code="LI" english_name="Liechtenstein" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Lithuania" code="LT" english_name="Lithuania" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="LTU" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Luxembourg" code="LU" english_name="Luxembourg" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="LUX" encoding="OPENAIRE"/>
+						<SYNONYM term="Luxembourg" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Macao" code="MO" english_name="Macao" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Macao" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Madagascar" code="MG" english_name="Madagascar" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Madagascar" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malawi" code="MW" english_name="Malawi" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malaysia" code="MY" english_name="Malaysia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Malaysia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Maldives" code="MV" english_name="Maldives" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mali" code="ML" english_name="Mali" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Mali" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Malta" code="MT" english_name="Malta" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Malta" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Marshall Islands" code="MH" english_name="Marshall Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Martinique" code="MQ" english_name="Martinique" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mauritania" code="MR" english_name="Mauritania" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mauritius" code="MU" english_name="Mauritius" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Mauritius" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mayotte" code="YT" english_name="Mayotte" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mexico" code="MX" english_name="Mexico" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="MEX" encoding="OPENAIRE"/>
+						<SYNONYM term="Mexico" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Micronesia, Federated States of" code="FM" english_name="Micronesia, Federated States of" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Micronesia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Moldova (Republic of)" code="MD" english_name="Moldova (Republic of)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mongolia" code="MN" english_name="Mongolia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Mongolia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Montenegro" code="ME" english_name="Montenegro" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Montserrat" code="MS" english_name="Montserrat" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Morocco" code="MA" english_name="Morocco" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Morocco" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Mozambique" code="MZ" english_name="Mozambique" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Mozambique" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Myanmar" code="MM" english_name="Myanmar" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Namibia" code="NA" english_name="Namibia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nauru" code="NR" english_name="Nauru" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nepal" code="NP" english_name="Nepal" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Netherlands" code="NL" english_name="Netherlands" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="NLD" encoding="OPENAIRE"/>
+						<SYNONYM term="Netherlands" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Netherlands Antilles" code="AN" english_name="Netherlands Antilles" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Netherlands Antilles" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="New Caledonia" code="NC" english_name="New Caledonia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="New Zealand" code="NZ" english_name="New Zealand" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="NZL" encoding="OPENAIRE"/>
+						<SYNONYM term="New Zealand" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nicaragua" code="NI" english_name="Nicaragua" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Niger" code="NE" english_name="Niger" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Nigeria" code="NG" english_name="Nigeria" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Niue" code="NU" english_name="Niue" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Norfolk Island" code="NF" english_name="Norfolk Island" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Northern Mariana Islands" code="MP" english_name="Northern Mariana Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Norway" code="NO" english_name="Norway" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="NOR" encoding="OPENAIRE"/>
+						<SYNONYM term="Norway" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Oceania" code="OC" english_name="Oceania" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Australasia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Oman" code="OM" english_name="Oman" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Oman" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pakistan" code="PK" english_name="Pakistan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="PAK" encoding="OPENAIRE"/>
+						<SYNONYM term="Pakistan" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Palau" code="PW" english_name="Palau" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Palestinian-administered areas" code="PS" english_name="Palestinian-administered areas" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Palestinian Territory, Occupied" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Panama" code="PA" english_name="Panama" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="PAN" encoding="OPENAIRE"/>
+						<SYNONYM term="Panama" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Papua New Guinea" code="PG" english_name="Papua New Guinea" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Paraguay" code="PY" english_name="Paraguay" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Peru" code="PE" english_name="Peru" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Philippines" code="PH" english_name="Philippines" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Philippines" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Pitcairn" code="PN" english_name="Pitcairn" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Poland" code="PL" english_name="Poland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="POL" encoding="OPENAIRE"/>
+						<SYNONYM term="Poland" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Portugal" code="PT" english_name="Portugal" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="PRT" encoding="OPENAIRE"/>
+						<SYNONYM term="Portugal" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Puerto Rico" code="PR" english_name="Puerto Rico" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Puerto Rico" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Qatar" code="QA" english_name="Qatar" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Romania" code="RO" english_name="Romania" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ROU" encoding="OPENAIRE"/>
+						<SYNONYM term="Romania" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Russian Federation" code="RU" english_name="Russian Federation" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="RUS" encoding="OPENAIRE"/>
+						<SYNONYM term="Russia" encoding="OPENAIRE"/>
+						<SYNONYM term="Russian Federation" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Rwanda" code="RW" english_name="Rwanda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Réunion" code="RE" english_name="Réunion" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Réunion" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Helena, Ascension and Tristan da Cunha" code="SH" english_name="Saint Helena, Ascension and Tristan da Cunha" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Kitts and Nevis" code="KN" english_name="Saint Kitts and Nevis" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Saint Kitts And Nevis" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Lucia" code="LC" english_name="Saint Lucia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Martin (French Part)" code="MF" english_name="Saint Martin (French Part)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Pierre and Miquelon" code="PM" english_name="Saint Pierre and Miquelon" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint Vincent and the Grenadines" code="VC" english_name="Saint Vincent and the Grenadines" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saint-Barthélemy" code="BL" english_name="Saint-Barthélemy" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Samoa" code="WS" english_name="Samoa" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="San Marino" code="SM" english_name="San Marino" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Saudi Arabia" code="SA" english_name="Saudi Arabia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Saudi Arabia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Senegal" code="SN" english_name="Senegal" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SEN" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Serbia" code="RS" english_name="Serbia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Seychelles" code="SC" english_name="Seychelles" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sierra Leone" code="SL" english_name="Sierra Leone" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Singapore" code="SG" english_name="Singapore" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SGP" encoding="OPENAIRE"/>
+						<SYNONYM term="Singapore" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sint Maarten (Dutch Part)" code="SX" english_name="Sint Maarten (Dutch Part)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Slovakia" code="SK" english_name="Slovakia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SVK" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Slovenia" code="SI" english_name="Slovenia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SVN" encoding="OPENAIRE"/>
+						<SYNONYM term="Slovenia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Solomon Islands" code="SB" english_name="Solomon Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Somalia" code="SO" english_name="Somalia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="South Africa" code="ZA" english_name="South Africa" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="South Africa" encoding="OPENAIRE"/>
+						<SYNONYM term="ZAF" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="South Georgia and the South Sandwich Islands" code="GS" english_name="South Georgia and the South Sandwich Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="South Sudan" code="SS" english_name="South Sudan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Spain" code="ES" english_name="Spain" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ESP" encoding="OPENAIRE"/>
+						<SYNONYM term="Spain" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sri Lanka" code="LK" english_name="Sri Lanka" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Sri Lanka" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sudan" code="SD" english_name="Sudan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Suriname" code="SR" english_name="Suriname" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Suriname" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Svalbard and Jan Mayen" code="SJ" english_name="Svalbard and Jan Mayen" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Swaziland" code="SZ" english_name="Swaziland" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Sweden" code="SE" english_name="Sweden" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="SWE" encoding="OPENAIRE"/>
+						<SYNONYM term="Sweden" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Switzerland" code="CH" english_name="Switzerland" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="CHE" encoding="OPENAIRE"/>
+						<SYNONYM term="Switzerland" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Syrian Arab Republic" code="SY" english_name="Syrian Arab Republic" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="São Tomé and Príncipe" code="ST" english_name="São Tomé and Príncipe" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Sao Tome and Principe" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Taiwan" code="TW" english_name="Taiwan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="TWN" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tajikistan" code="TJ" english_name="Tajikistan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tanzania (United Republic of)" code="TZ" english_name="Tanzania (United Republic of)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Thailand" code="TH" english_name="Thailand" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Thailand" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Timor-Leste" code="TL" english_name="Timor-Leste" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="East Timor" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Togo" code="TG" english_name="Togo" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tokelau" code="TK" english_name="Tokelau" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tonga" code="TO" english_name="Tonga" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Trinidad and Tobago" code="TT" english_name="Trinidad and Tobago" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tunisia" code="TN" english_name="Tunisia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="TUN" encoding="OPENAIRE"/>
+						<SYNONYM term="Tunisia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Turkey" code="TR" english_name="Turkey" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="TUR" encoding="OPENAIRE"/>
+						<SYNONYM term="Turkey" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Turkmenistan" code="TM" english_name="Turkmenistan" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Turks and Caicos Islands" code="TC" english_name="Turks and Caicos Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Tuvalu" code="TV" english_name="Tuvalu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="UNKNOWN" code="UNKNOWN" english_name="UNKNOWN" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="AAA" encoding="OPENAIRE"/>
+						<SYNONYM term="[Unknown]" encoding="OpenDOAR"/>
+						<SYNONYM term="_?" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Uganda" code="UG" english_name="Uganda" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Ukraine" code="UA" english_name="Ukraine" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="UKR" encoding="OPENAIRE"/>
+						<SYNONYM term="Ukraine" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="United Arab Emirates" code="AE" english_name="United Arab Emirates" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="United Arab Emirates" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="United Kingdom" code="GB" english_name="United Kingdom" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="GBR" encoding="OPENAIRE"/>
+						<SYNONYM term="UK" encoding="OPENAIRE"/>
+						<SYNONYM term="United Kingdom" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="United States" code="US" english_name="United States" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="USA" encoding="OPENAIRE"/>
+						<SYNONYM term="United States" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="United States Minor Outlying Islands" code="UM" english_name="United States Minor Outlying Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Uruguay" code="UY" english_name="Uruguay" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Uruguay" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Uzbekistan" code="UZ" english_name="Uzbekistan" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Uzbekistan" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Vanuatu" code="VU" english_name="Vanuatu" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Venezuela" code="VE" english_name="Venezuela" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Viet Nam" code="VN" english_name="Viet Nam" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Virgin Islands (British)" code="VG" english_name="Virgin Islands (British)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Virgin Islands, U.S." code="VI" english_name="Virgin Islands, U.S." encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Wallis and Futuna" code="WF" english_name="Wallis and Futuna" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Western Sahara" code="EH" english_name="Western Sahara" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yemen" code="YE" english_name="Yemen" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Yugoslavia" code="YU" english_name="Yugoslavia" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="Jugoslavia" encoding="OPENAIRE"/>
+						<SYNONYM term="Yugoslavia" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zambia" code="ZM" english_name="Zambia" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Zimbabwe" code="ZW" english_name="Zimbabwe" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="ABW" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Åland Islands" code="AX" english_name="Åland Islands" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-04-15T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/externalReferences.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/externalReferences.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/externalReferences.xml	(revision 51225)
@@ -0,0 +1,25 @@
+<RESOURCE_PROFILE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="VocabularyDSResourceType"/>
+        <RESOURCE_KIND value="VocabularyDSResources"/>
+        <RESOURCE_URI value="String"/>
+        <DATE_OF_CREATION value="2015-07-22T15:58:39+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <VOCABULARY_NAME code="dnet:externalReference_typologies">dnet:externalReference_typologies</VOCABULARY_NAME>
+            <VOCABULARY_DESCRIPTION>Types for externalreference field of results</VOCABULARY_DESCRIPTION>
+            <TERMS>
+                <TERM native_name="accessionNumber" code="accessionNumber" english_name="accessionNumber" encoding="OPENAIRE">
+                    <SYNONYMS/>
+                    <RELATIONS/>
+                </TERM>
+            </TERMS>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2015-07-22T15:58:39+00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/DngfParent.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/DngfParent.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/DngfParent.proto	(revision 51225)
@@ -0,0 +1,82 @@
+package eu.dnetlib.data.proto;
+
+import "Kind.proto";
+import "FieldType.proto";
+
+// for DNGFentity
+import "Type.proto";
+import "Datasource.proto";
+import "Organization.proto";
+import "Person.proto";
+import "Project.proto";
+import "Publication.proto";
+import "Dataset.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "DNGFProtos";
+
+message DNGF {
+  required Kind kind = 1;
+
+  optional DNGFEntity entity = 2;
+  optional DNGFRel rel = 3;
+
+  optional DataInfo dataInfo = 4;
+
+  // used to mark the last update time of this object
+  optional sfixed64 lastupdatetimestamp = 5;
+}
+
+message DNGFEntity {
+
+  extensions 100 to 199;
+
+  required Type type = 1;
+  required string id = 12;
+
+  repeated string originalId = 8;
+  repeated KeyValue collectedfrom = 9;
+
+  repeated StructuredProperty pid = 10;
+  optional string dateofcollection = 11;
+  optional string dateoftransformation = 13;
+
+  /* Any relation that we want to bundle together with this entity.
+   It's intended to be used only in temporary values in map/red jobs (sequence files, ...)
+   and never persisted values stored in  HBase. */
+  repeated DNGFRel cachedRel = 2;
+
+  optional Datasource datasource = 3;
+  optional Organization organization = 4;
+  optional Person person = 5;
+  optional Project project = 6;
+  optional Publication publication = 7;
+  optional Dataset dataset = 14;
+
+  repeated DNGFEntity children = 16;
+
+  repeated ExtraInfo extraInfo = 15;
+
+  optional OAIProvenance oaiprovenance = 17;
+}
+
+
+message DNGFRel {
+
+  extensions 100 to 199;
+
+  required Qualifier relType = 1;
+  required Type sourceType = 2;
+  required Type targetType = 3;
+
+  required string source = 4;
+  required string target = 5;
+
+  /* if true then is a "child" */
+  required bool child = 6;
+
+  optional DNGFEntity cachedTarget = 7;
+
+  repeated KeyValue collectedfrom = 8;
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2insertActions.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2insertActions.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2insertActions.xml	(revision 51225)
@@ -0,0 +1,176 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="8f18f2a0-ae75-4a81-970a-6de383d527d4_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="pmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="pmf_insert_action"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_pmf2insertAction</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dc="http://purl.org/dc/elements/1.1/"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+                xmlns:exslt="http://exslt.org/common"
+                version="1.0" extension-element-prefixes="exslt"
+                exclude-result-prefixes="xsl oaf dr dri dnet exslt">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:param name="writeCoAuthors" select="false()"/>
+
+	<xsl:template match="/*">
+		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+		<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+		<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+		<xsl:variable name="trust" select="string('0.9')"/>
+		<xsl:variable name="provenance" select="string('sysimport:crosswalk:repository')"/>
+
+		<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+		<xsl:variable name="namespaceprefix">
+			<xsl:choose>
+
+				<!-- TODO check namespaceprefix length is 12 -->
+				<xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+					<xsl:value-of select="//oaf:datasourceprefix"/>
+				</xsl:when>
+				<xsl:otherwise>
+					<xsl:value-of select="unknown_"/>
+				</xsl:otherwise>
+			</xsl:choose>
+		</xsl:variable>
+
+		<xsl:choose>
+			<!-- 			<xsl:when test="count($metadata) = 0 or string-length($namespaceprefix) = 0"> -->
+			<xsl:when test="count($metadata) = 0">
+				<ROWS/>
+			</xsl:when>
+			<xsl:otherwise>
+
+				<xsl:variable name="objIdentifier" select="//dri:objIdentifier"/>
+				<xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', //dri:objIdentifier)"/>
+
+				<xsl:if test="string-length($publicationId) &gt; 0">
+
+					<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+					<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+
+					<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+					<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+
+					<xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']"/>
+					<xsl:variable name="originalid">
+						<xsl:choose>
+							<xsl:when test="contains($originalidTest, '::')">
+								<xsl:value-of select="substring-after($originalidTest, '::')"/>
+							</xsl:when>
+							<xsl:otherwise>
+								<xsl:value-of select="$originalidTest"/>
+							</xsl:otherwise>
+						</xsl:choose>
+					</xsl:variable>
+
+					<ROWS>
+						<ROW>
+							<xsl:attribute name="value">
+								<xsl:value-of select="dnet:oafPublication($publicationId, $provenance, $trust, $about, $hostedbyid, $hostedbyname, $collectedfromid,
+										              $collectedfromname, $originalid, $dateofcollection, $dateoftransformation, $metadata)"/>
+							</xsl:attribute>
+						</ROW>
+
+						<xsl:for-each select="//*[local-name()='projectid']">
+
+							<xsl:variable name="projectId" select="dnet:oafSplitId('project', normalize-space(.))"/>
+
+							<xsl:if test="string-length($projectId) &gt; 0">
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($publicationId, $projectId, 'isProducedBy', 'publication_project', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($projectId, $publicationId, 'produces', 'publication_project', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+						<xsl:for-each select="//*[local-name()='relatedDataset']">
+
+							<!-- relatedDataset ids must be in the openaire format  -->
+							<xsl:variable name="datasetId" select="dnet:oafSimpleId('publication', normalize-space(./@id))"/>
+
+							<xsl:if test="string-length($datasetId) &gt; 0">
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($publicationId, $datasetId, 'isRelatedTo', 'publication_publication', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+								<ROW>
+									<xsl:attribute name="value">
+										<xsl:value-of select="dnet:rel($datasetId, $publicationId, 'isRelatedTo', 'publication_publication', $provenance, $trust, $about)"/>
+									</xsl:attribute>
+								</ROW>
+							</xsl:if>
+						</xsl:for-each>
+
+						<xsl:for-each select="//*[local-name()='creator']">
+
+							<xsl:if test="string-length(normalize-space(.)) &gt; 0">
+								<xsl:variable name="originalPersonId">
+									<xsl:choose>
+										<xsl:when test="string-length(@nameIdentifier) &gt; 0">
+											<xsl:value-of select="normalize-space(@nameIdentifier)"/>
+										</xsl:when>
+										<xsl:otherwise>
+											<xsl:value-of select="concat($originalid, '::', normalize-space(.))"/>
+										</xsl:otherwise>
+									</xsl:choose>
+								</xsl:variable>
+
+								<xsl:variable name="personId" select="dnet:oafId('person', $namespaceprefix, $originalPersonId)"/>
+								<xsl:variable name="position" select="position()"/>
+
+								<xsl:if test="string-length($personId) &gt; 0">
+									<ROW>
+										<xsl:attribute name="value">
+											<xsl:value-of select="dnet:person($personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname,
+								              $originalPersonId, $dateofcollection, $dateoftransformation, normalize-space(.), @nameIdentifier, @nameIdentifierScheme)"/>
+										</xsl:attribute>
+									</ROW>
+									<ROW>
+										<xsl:attribute name="value">
+											<xsl:value-of select="dnet:authorship($personId, $publicationId, $position, 'isAuthorOf', 'person_publication', $provenance, $trust, $about)"/>
+										</xsl:attribute>
+									</ROW>
+									<ROW>
+										<xsl:attribute name="value">
+											<xsl:value-of select="dnet:authorship($publicationId, $personId, $position, 'hasAuthor', 'person_publication', $provenance, $trust, $about)"/>
+										</xsl:attribute>
+									</ROW>
+								</xsl:if>
+							</xsl:if>
+						</xsl:for-each>
+
+					</ROWS>
+				</xsl:if>
+			</xsl:otherwise>
+		</xsl:choose>
+	</xsl:template>
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/1284f828-6c12-4905-a9c9-43f143b36e08.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/1284f828-6c12-4905-a9c9-43f143b36e08.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/1284f828-6c12-4905-a9c9-43f143b36e08.xml	(revision 51225)
@@ -0,0 +1,2481 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="1284f828-6c12-4905-a9c9-43f143b36e08_Q29udGV4dERTUmVzb3VyY2VzL0NvbnRleHREU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="ContextDSResourceType"/>
+		<RESOURCE_KIND value="ContextDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value=""/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<context id="egi" label="EGI" type="community">
+				<category id="egi::classification" label="EGI classification scheme" claim="true">
+					<concept id="egi::classification::natsc" label="Natural Sciences" claim="true">
+						<param name="originalID">1</param>
+						<concept id="egi::classification::natsc::math" label="Mathematics" claim="true">
+							<param name="originalID">1.1</param>
+							<concept id="egi::classification::natsc::math::applied" label="Applied Mathematics" claim="true" >
+								<param name="originalID">1.1.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::math::pure" label="Pure Mathematics" claim="true" >
+								<param name="originalID">1.1.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::math::stats" label="Statistics and Probability" claim="true" >
+								<param name="originalID">1.1.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::math::other" label="Other" claim="true" >
+								<param name="originalID">1.1.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::natsc::cosc" label="Computer sciences" claim="true">
+							<param name="originalID">1.2</param>
+							<concept id="egi::classification::natsc::cosc::algo" label="Algorithms" claim="true" >
+								<param name="originalID">1.2.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::artii" label="Artificial Intelligence" claim="true" >
+								<param name="originalID">1.2.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::carc" label="Computer architecture" claim="true" >
+								<param name="originalID">1.2.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::ccomm" label="Computer communications" claim="true" >
+								<param name="originalID">1.2.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::cgraph" label="Computer graphics" claim="true" >
+								<param name="originalID">1.2.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::csecr" label="Computer security and reliability" claim="true" >
+								<param name="originalID">1.2.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::dstr" label="Data structures" claim="true" >
+								<param name="originalID">1.2.7</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::disc" label="Distributed computing" claim="true" >
+								<param name="originalID">1.2.8</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::hci" label="Human-computer interaction" claim="true" >
+								<param name="originalID">1.2.9</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::opes" label="Operating systems" claim="true" >
+								<param name="originalID">1.2.10</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::parc" label="Parallel computing" claim="true" >
+								<param name="originalID">1.2.11</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::plan" label="Programming languages" claim="true" >
+								<param name="originalID">1.2.12</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::qcom" label="Quantum computing" claim="true" >
+								<param name="originalID">1.2.13</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::softe" label="software engineering" claim="true" >
+								<param name="originalID">1.2.14</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::theo" label="Theory of computation" claim="true" >
+								<param name="originalID">1.2.15</param>
+							</concept>
+							<concept id="egi::classification::natsc::cosc::other" label="Other" claim="true" >
+								<param name="originalID">1.2.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::natsc::infos" label="Information sciences" claim="true">
+							<param name="originalID">1.3</param>
+							<concept id="egi::classification::natsc::infos::dman" label="Data management" claim="true" >
+								<param name="originalID">1.3.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::dmin" label="Data mining" claim="true" >
+								<param name="originalID">1.3.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::iret" label="Information retrieval" claim="true" >
+								<param name="originalID">1.3.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::iman" label="Information management" claim="true" >
+								<param name="originalID">1.3.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::kman" label="Knowledge management" claim="true" >
+								<param name="originalID">1.3.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::mult" label="Multimedia, hypermedia" claim="true" >
+								<param name="originalID">1.3.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::infos::other" label="Other" claim="true" >
+								<param name="originalID">1.3.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::natsc::earths" label="Earth sciences" claim="true">
+							<param name="originalID">1.4</param>
+							<concept id="egi::classification::natsc::earths::atms" label="Atmospheric science" claim="true" >
+								<param name="originalID">1.4.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::clim" label="Climate research" claim="true" >
+								<param name="originalID">1.4.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::geoc" label="Geochemistry" claim="true" >
+								<param name="originalID">1.4.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::geol" label="Geology" claim="true" >
+								<param name="originalID">1.4.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::geop" label="Geophysics" claim="true" >
+								<param name="originalID">1.4.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::hydr" label="Hydrology" claim="true" >
+								<param name="originalID">1.4.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::mine" label="Mineralogy" claim="true" >
+								<param name="originalID">1.4.7</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::ocea" label="Oceanography" claim="true" >
+								<param name="originalID">1.4.8</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::pala" label="palaeontology" claim="true" >
+								<param name="originalID">1.4.9</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::pgeo" label="Physical geography" claim="true" >
+								<param name="originalID">1.4.10</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::seis" label="Seismology" claim="true" >
+								<param name="originalID">1.4.11</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::volc" label="Volcanology" claim="true" >
+								<param name="originalID">1.4.12</param>
+							</concept>
+							<concept id="egi::classification::natsc::earths::other" label="Other" claim="true" >
+								<param name="originalID">1.4.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::natsc::biosc" label="Biological sciences" claim="true">
+							<param name="originalID">1.5</param>
+							<concept id="egi::classification::natsc::biosc::aerob" label="Aerobiology" claim="true" >
+								<param name="originalID">1.5.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::bact" label="Bacteriology" claim="true" >
+								<param name="originalID">1.5.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::behav" label="Behavioural biology" claim="true" >
+								<param name="originalID">1.5.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::bimol" label="Biochemistry and molecular biology" claim="true" >
+								<param name="originalID">1.5.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::bcons" label="Biodiversity conservation" claim="true" >
+								<param name="originalID">1.5.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::binfo" label="Bioinformatics" claim="true" >
+								<param name="originalID">1.5.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::brhy" label="Biological rhythm" claim="true" >
+								<param name="originalID">1.5.7</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::biol" label="Biology" claim="true" >
+								<param name="originalID">1.5.8</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::bioph" label="Biophysics" claim="true" >
+								<param name="originalID">1.5.9</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::bota" label="Botany" claim="true" >
+								<param name="originalID">1.5.10</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::cellb" label="Cell biology" claim="true" >
+								<param name="originalID">1.5.11</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::cobio" label="Computational biology" claim="true" >
+								<param name="originalID">1.5.12</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::cryo" label="Cryobiology" claim="true" >
+								<param name="originalID">1.5.13</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::devb" label="Developmental biology" claim="true" >
+								<param name="originalID">1.5.14</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::ecol" label="Ecology" claim="true" >
+								<param name="originalID">1.5.15</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::evolb" label="Evolutionary biology" claim="true" >
+								<param name="originalID">1.5.16</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::gehe" label="Genetics and heredity" claim="true" >
+								<param name="originalID">1.5.17</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::marin" label="Marine and Freshwater biology" claim="true" >
+								<param name="originalID">1.5.18</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::mbio" label="Mathematical biology" claim="true" >
+								<param name="originalID">1.5.19</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::mibio" label="Microbiology" claim="true" >
+								<param name="originalID">1.5.20</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::myco" label="Mycology" claim="true" >
+								<param name="originalID">1.5.21</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::plant" label="Plant science" claim="true" >
+								<param name="originalID">1.5.22</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::repr" label="Reproductive biology" claim="true" >
+								<param name="originalID">1.5.23</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::strub" label="Structural biology" claim="true" >
+								<param name="originalID">1.5.24</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::taxo" label="Taxonomy" claim="true" >
+								<param name="originalID">1.5.25</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::theob" label="Theoretical biology" claim="true" >
+								<param name="originalID">1.5.26</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::therm" label="Thermal biology" claim="true" >
+								<param name="originalID">1.5.27</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::viro" label="Virology" claim="true" >
+								<param name="originalID">1.5.28</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::zool" label="Zoology" claim="true" >
+								<param name="originalID">1.5.29</param>
+							</concept>
+							<concept id="egi::classification::natsc::biosc::other" label="Other" claim="true" >
+								<param name="originalID">1.5.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::natsc::physc" label="Physical sciences" claim="true">
+							<param name="originalID">1.6</param>
+							<concept id="egi::classification::natsc::physc::acce" label="Acceleration physics" claim="true" >
+								<param name="originalID">1.6.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::acou" label="Acoustics" claim="true" >
+								<param name="originalID">1.6.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::aero" label="Aerosol physics" claim="true" >
+								<param name="originalID">1.6.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::astrb" label="Astrobiology" claim="true" >
+								<param name="originalID">1.6.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::astrn" label="Astronomy" claim="true" >
+								<param name="originalID">1.6.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::astrp" label="Astroparticle physics" claim="true" >
+								<param name="originalID">1.6.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::astrph" label="Astrophysics" claim="true" >
+								<param name="originalID">1.6.7</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::atmc" label="Atomic" claim="true" >
+								<param name="originalID">1.6.8</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::chph" label="Chemical physics" claim="true" >
+								<param name="originalID">1.6.9</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::comph" label="Computational physics" claim="true" >
+								<param name="originalID">1.6.10</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::conds" label="Condensed matter physics" claim="true" >
+								<param name="originalID">1.6.11</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::cryog" label="Cryogenics" claim="true" >
+								<param name="originalID">1.6.12</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::fluid" label="Fluid mechanics" claim="true" >
+								<param name="originalID">1.6.13</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::fusi" label="Fusion" claim="true" >
+								<param name="originalID">1.6.14</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::hene" label="High energy physics" claim="true" >
+								<param name="originalID">1.6.15</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::mathp" label="Mathematical physics" claim="true" >
+								<param name="originalID">1.6.16</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::medip" label="Medical physics" claim="true" >
+								<param name="originalID">1.6.17</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::molep" label="Molecular physics" claim="true" >
+								<param name="originalID">1.6.18</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::nuclp" label="Nuclear physics" claim="true" >
+								<param name="originalID">1.6.19</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::optc" label="Optics" claim="true" >
+								<param name="originalID">1.6.20</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::partp" label="Particle physics" claim="true" >
+								<param name="originalID">1.6.21</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::phys" label="Physics" claim="true" >
+								<param name="originalID">1.6.22</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::plans" label="Planetary science" claim="true" >
+								<param name="originalID">1.6.23</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::plsm" label="Plasma physics" claim="true" >
+								<param name="originalID">1.6.24</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::spac" label="Space physics" claim="true" >
+								<param name="originalID">1.6.25</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::quant" label="Quantum physics" claim="true" >
+								<param name="originalID">1.6.26</param>
+							</concept>
+							<concept id="egi::classification::natsc::physc::other" label="Other" claim="true" >
+								<param name="originalID">1.6.99</param>
+							</concept>
+						</concept>	
+						<concept id="egi::classification::natsc::chesc" label="Chemical sciences" claim="true">
+							<param name="originalID">1.7</param>
+							<concept id="egi::classification::natsc::chesc::analc" label="Analytical chemistry" claim="true" >
+								<param name="originalID">1.7.1</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::chem" label="Chemistry" claim="true" >
+								<param name="originalID">1.7.2</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::collc" label="Colloid chemistry" claim="true" >
+								<param name="originalID">1.7.3</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::compc" label="Computational chemistry" claim="true" >
+								<param name="originalID">1.7.4</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::elecc" label="Electrochemistry" claim="true" >
+								<param name="originalID">1.7.5</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::innuc" label="Inorganic and nuclear chemistry" claim="true" >
+								<param name="originalID">1.7.6</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::mathc" label="Mathematical chemistry" claim="true" >
+								<param name="originalID">1.7.7</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::orgc" label="Organic chemistry" claim="true" >
+								<param name="originalID">1.7.8</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::phyc" label="Physical chemistry" claim="true" >
+								<param name="originalID">1.7.9</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::polc" label="Polymer chemistry" claim="true" >
+								<param name="originalID">1.7.10</param>
+							</concept>
+							<concept id="egi::classification::natsc::chesc::other" label="Other" claim="true" >
+								<param name="originalID">1.7.99</param>
+							</concept>
+						</concept>
+					</concept>
+					<concept id="egi::classification::engt" label="Engineering and Technology" claim="true">
+						<param name="originalID">2</param>
+						<concept id="egi::classification::engt::cieng" label="Civil engineering" claim="true">
+							<param name="originalID">2.1</param>
+							<concept id="egi::classification::engt::civeng::arche" label="Architecture engineering" claim="true" >
+								<param name="originalID">2.1.1</param>
+							</concept>
+							<concept id="egi::classification::engt::civeng::cieng" label="Civil engineering" claim="true" >
+								<param name="originalID">2.1.2</param>
+							</concept>
+							<concept id="egi::classification::engt::civeng::cipro" label="Civil protection" claim="true" >
+								<param name="originalID">2.1.3</param>
+							</concept>
+							<concept id="egi::classification::engt::civeng::costr" label="Construction/Structural engineering" claim="true" >
+								<param name="originalID">2.1.4</param>
+							</concept>
+							<concept id="egi::classification::engt::civeng::treng" label="Transport engineering" claim="true" >
+								<param name="originalID">2.1.5</param>
+							</concept>
+							<concept id="egi::classification::engt::civeng::other" label="Other" claim="true" >
+								<param name="originalID">2.1.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::eeie" label="Electrical, electronic and information engineering" claim="true">
+							<param name="originalID">2.2</param>
+							<concept id="egi::classification::engt::eeie::comes" label="Communication engineering and systems" claim="true" >
+								<param name="originalID">2.2.1</param>
+							</concept>
+							<concept id="egi::classification::engt::eeie::comha" label="Computer hardware and architecture" claim="true" >
+								<param name="originalID">2.2.2</param>
+							</concept>
+							<concept id="egi::classification::engt::eeie::elele" label="Electrical and electronic engineering" claim="true" >
+								<param name="originalID">2.2.3</param>
+							</concept>
+							<concept id="egi::classification::engt::eeie::robaut" label="Robotics, Automation and Control Systems" claim="true" >
+								<param name="originalID">2.2.4</param>
+							</concept>
+							<concept id="egi::classification::engt::eeie::other" label="Other" claim="true" >
+								<param name="originalID">2.2.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::meng" label="Mechanical engineering" claim="true">
+							<param name="originalID">2.3</param>
+							<concept id="egi::classification::engt::meng::apmec" label="Applied mechanics" claim="true" >
+								<param name="originalID">2.3.1</param>
+							</concept>
+							<concept id="egi::classification::engt::meng::audm" label="Audio engineering" claim="true" >
+								<param name="originalID">2.3.2</param>
+							</concept>
+							<concept id="egi::classification::engt::meng::nucl" label="Nuclear related engineering" claim="true" >
+								<param name="originalID">2.3.3</param>
+							</concept>
+							<concept id="egi::classification::engt::meng::relia" label="Reliability analysis" claim="true" >
+								<param name="originalID">2.3.4</param>
+							</concept>
+							<concept id="egi::classification::engt::meng::therd" label="Thermodynamics" claim="true" >
+								<param name="originalID">2.3.5</param>
+							</concept>
+							<concept id="egi::classification::engt::meng::other" label="other" claim="true" >
+								<param name="originalID">2.3.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::aeros" label="Aerospace engineering" claim="true">
+							<param name="originalID">2.4</param>
+							<concept id="egi::classification::engt::aeros::aeren" label="Aeronautical engineering" claim="true" >
+								<param name="originalID">2.4.1</param>
+							</concept>
+							<concept id="egi::classification::engt::aeros::astren" label="Astronautical engineering" claim="true" >
+								<param name="originalID">2.4.2</param>
+							</concept>
+							<concept id="egi::classification::engt::aeros::other" label="Other" claim="true" >
+								<param name="originalID">2.4.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::cheme" label="Chemical engineering" claim="true">
+							<param name="originalID">2.5</param>
+							<concept id="egi::classification::engt::cheme::cheme" label="Chemical engineering" claim="true" >
+								<param name="originalID">2.5.1</param>
+							</concept>
+							<concept id="egi::classification::engt::cheme::chempr" label="Chemical process engineering" claim="true" >
+								<param name="originalID">2.5.2</param>
+							</concept>
+							<concept id="egi::classification::engt::cheme::other" label="Other" claim="true" >
+								<param name="originalID">2.5.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::maten" label="Materials engineering" claim="true">
+							<param name="originalID">2.6</param>
+							<concept id="egi::classification::engt::maten::ceram" label="Ceramics" claim="true" >
+								<param name="originalID">2.6.1</param>
+							</concept>
+							<concept id="egi::classification::engt::maten::coatf" label="Coating and films" claim="true" >
+								<param name="originalID">2.6.2</param>
+							</concept>
+							<concept id="egi::classification::engt::maten::compos" label="Composites" claim="true" >
+								<param name="originalID">2.6.3</param>
+							</concept>
+							<concept id="egi::classification::engt::maten::paperw" label="Paper and wood" claim="true" >
+								<param name="originalID">2.6.4</param>
+							</concept>
+							<concept id="egi::classification::engt::maten::text" label="Textiles" claim="true" >
+								<param name="originalID">2.6.5</param>
+							</concept>
+							<concept id="egi::classification::engt::maten::other" label="Other" claim="true" >
+								<param name="originalID">2.6.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::bioeng" label="Bioengineering and Biomedical engineering" claim="true">
+							<param name="originalID">2.7</param>
+							<concept id="egi::classification::engt::bioeng::bioeng" label="Bioengineering" claim="true" >
+								<param name="originalID">2.7.1</param>
+							</concept>
+							<concept id="egi::classification::engt::bioeng::biomed" label="Biomedical engineering" claim="true" >
+								<param name="originalID">2.7.2</param>
+							</concept>
+							<concept id="egi::classification::engt::bioeng::other" label="Other" claim="true" >
+								<param name="originalID">2.7.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::enveng" label="Environmental engineering" claim="true">
+							<param name="originalID">2.8</param>
+							<concept id="egi::classification::engt::enveng::enfue" label="Energy and fuels" claim="true" >
+								<param name="originalID">2.8.1</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::geoen" label="Geological engineering" claim="true" >
+								<param name="originalID">2.8.2</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::geote" label="Geotechnics" claim="true" >
+								<param name="originalID">2.8.3</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::oceae" label="Ocean engineering" claim="true" >
+								<param name="originalID">2.8.4</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::minep" label="Mining and mineral processing" claim="true" >
+								<param name="originalID">2.8.5</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::petren" label="Petroleum engineering" claim="true" >
+								<param name="originalID">2.8.6</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::remse" label="Remote sensing" claim="true" >
+								<param name="originalID">2.8.7</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::seav" label="Sea vessels" claim="true" >
+								<param name="originalID">2.8.8</param>
+							</concept>
+							<concept id="egi::classification::engt::enveng::other" label="Other" claim="true" >
+								<param name="originalID">2.8.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::envbio" label="Environmental biotechnology" claim="true">
+							<param name="originalID">2.9</param>
+							<concept id="egi::classification::engt::envbio::biore" label="Bioremediation" claim="true" >
+								<param name="originalID">2.9.1</param>
+							</concept>
+							<concept id="egi::classification::engt::envbio::diabi" label="Diagnostic biotechnologies" claim="true" >
+								<param name="originalID">2.9.2</param>
+							</concept>
+							<concept id="egi::classification::engt::envbio::other" label="Other" claim="true" >
+								<param name="originalID">2.9.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::indbio" label="Industrial  biotechnology" claim="true">
+							<param name="originalID">2.10</param>
+							<concept id="egi::classification::engt::indbio::biden" label="Bio-derived novel materials" claim="true" >
+								<param name="originalID">2.10.1</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::bicat" label="Biocatalysis" claim="true" >
+								<param name="originalID">2.10.2</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::bibul" label="Bioderived bulk and fine chemicals" claim="true" >
+								<param name="originalID">2.10.3</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::bifue" label="Biofuels" claim="true" >
+								<param name="originalID">2.10.4</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::bimat" label="Biomaterials" claim="true" >
+								<param name="originalID">2.10.5</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::bipro" label="Bioprocessing technologies" claim="true" >
+								<param name="originalID">2.10.6</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::biprd" label="Bioproducts" claim="true" >
+								<param name="originalID">2.10.7</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::ferm" label="Fermentation" claim="true" >
+								<param name="originalID">2.10.8</param>
+							</concept>
+							<concept id="egi::classification::engt::indbio::other" label="Other" claim="true" >
+								<param name="originalID">2.10.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::engt::nante" label="Nano-technology" claim="true">
+							<param name="originalID">2.11</param>
+							<concept id="egi::classification::engt::nante::nanma" label="Nano-materials" claim="true" >
+								<param name="originalID">2.11.1</param>
+							</concept>
+							<concept id="egi::classification::engt::nante::nanpr" label="Nano-processes" claim="true" >
+								<param name="originalID">2.11.2</param>
+							</concept>
+							<concept id="egi::classification::engt::nante::other" label="Other" claim="true" >
+								<param name="originalID">2.11.99</param>
+							</concept>
+						</concept>
+					</concept>	
+					<concept id="egi::classification::medsc" label="Medical and Health Sciences" claim="true">
+						<param name="originalID">3</param>
+						<concept id="egi::classification::medsc::basicm" label="Basic medicine" claim="true">
+							<param name="originalID">3.1</param>
+							<concept id="egi::classification::medsc::basicm::anatm" label="Anatomy and morphology" claim="true" >
+								<param name="originalID">3.1.1</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::hugen" label="Human genetics" claim="true" >
+								<param name="originalID">3.1.2</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::immu" label="Immunology" claim="true" >
+								<param name="originalID">3.1.3</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::medch" label="Medicinal chemistry" claim="true" >
+								<param name="originalID">3.1.4</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::neusc" label="Neuroscience" claim="true" >
+								<param name="originalID">3.1.5</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::path" label="Pathology" claim="true" >
+								<param name="originalID">3.1.6</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::pharm" label="Pharmacology and pharmacy" claim="true" >
+								<param name="originalID">3.1.7</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::physi" label="Physiology" claim="true" >
+								<param name="originalID">3.1.8</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::toxi" label="Toxicology" claim="true" >
+								<param name="originalID">3.1.9</param>
+							</concept>
+							<concept id="egi::classification::medsc::basicm::other" label="Other" claim="true" >
+								<param name="originalID">3.1.99</param>
+							</concept>
+						</concept>	
+						<concept id="egi::classification::medsc::clinm" label="Clinical medicine" claim="true">
+							<param name="originalID">3.2</param>
+							<concept id="egi::classification::medsc::clinm::alle" label="Allergy" claim="true" >
+								<param name="originalID">3.2.1</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::anae" label="Anaesthesiology" claim="true" >
+								<param name="originalID">3.2.2</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::andro" label="Andrology" claim="true" >
+								<param name="originalID">3.2.3</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::cardi" label="Cardiac and Cardiovascular systems" claim="true" >
+								<param name="originalID">3.2.4</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::emerg" label="Critical care/Emergency medicine" claim="true" >
+								<param name="originalID">3.2.5</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::dent" label="Dentistry, oral surgery/medicine" claim="true" >
+								<param name="originalID">3.2.6</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::derm" label="Dermatology and venereal diseases" claim="true" >
+								<param name="originalID">3.2.7</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::gastr" label="Gastroenterology and hepatology" claim="true" >
+								<param name="originalID">3.2.8</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::gener" label="General and internal medicine" claim="true" >
+								<param name="originalID">3.2.9</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::geria" label="Geriatrics and gerontology" claim="true" >
+								<param name="originalID">3.2.10</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::hema" label="Hematology" claim="true" >
+								<param name="originalID">3.2.11</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::compl" label="Integrative and Complementary medicine" claim="true" >
+								<param name="originalID">3.2.12</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::medim" label="Medical imaging" claim="true" >
+								<param name="originalID">3.2.13</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::nucim" label="Nuclear medicine" claim="true" >
+								<param name="originalID">3.2.14</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::obstg" label="Obstetrics and gynaecology" claim="true" >
+								<param name="originalID">3.2.15</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::oncol" label="Oncology" claim="true" >
+								<param name="originalID">3.2.16</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::ophth" label="Ophthalmology" claim="true" >
+								<param name="originalID">3.2.17</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::optom" label="Optometry" claim="true" >
+								<param name="originalID">3.2.18</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::ortho" label="Orthopaedics" claim="true" >
+								<param name="originalID">3.2.19</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::otori" label="Otorhinolaryngology" claim="true" >
+								<param name="originalID">3.2.20</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::paedi" label="Paediatrics" claim="true" >
+								<param name="originalID">3.2.21</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::periph" label="Peripheral vascular disease" claim="true" >
+								<param name="originalID">3.2.22</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::psych" label="Psychiatry" claim="true" >
+								<param name="originalID">3.2.23</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::radio" label="Radiology" claim="true" >
+								<param name="originalID">3.2.24</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::respi" label="Respiratory systems" claim="true" >
+								<param name="originalID">3.2.25</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::rheum" label="Rheumatology" claim="true" >
+								<param name="originalID">3.2.26</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::surge" label="Surgery" claim="true" >
+								<param name="originalID">3.2.27</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::transp" label="Transplantation" claim="true" >
+								<param name="originalID">3.2.28</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::urol" label="Urology and nephrology" claim="true" >
+								<param name="originalID">3.2.29</param>
+							</concept>
+							<concept id="egi::classification::medsc::clinm::other" label="Other" claim="true" >
+								<param name="originalID">3.2.99</param>
+							</concept>
+						</concept>	
+						<concept id="egi::classification::medsc::healsc" label="Health science" claim="true">
+							<param name="originalID">3.3</param>
+							<concept id="egi::classification::medsc::healsc::epide" label="Epidemiology" claim="true" >
+								<param name="originalID">3.3.1</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::caresc" label="Health care science and services" claim="true" >
+								<param name="originalID">3.3.2</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::policy" label="Health policy and services" claim="true" >
+								<param name="originalID">3.3.3</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::infec" label="Infectious diseases" claim="true" >
+								<param name="originalID">3.3.4</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::ethic" label="Medical ethics" claim="true" >
+								<param name="originalID">3.3.5</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::nurse" label="Nursing" claim="true" >
+								<param name="originalID">3.3.6</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::nutri" label="Nutrition and Dietetics" claim="true" >
+								<param name="originalID">3.3.7</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::occup" label="Occupational health" claim="true" >
+								<param name="originalID">3.3.8</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::paras" label="Parasitology" claim="true" >
+								<param name="originalID">3.3.9</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::publi" label="Public and environmental health" claim="true" >
+								<param name="originalID">3.3.10</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::sobio" label="Social biomedical science" claim="true" >
+								<param name="originalID">3.3.11</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::sport" label="Sport and fitness science" claim="true" >
+								<param name="originalID">3.3.12</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::subst" label="Substance abuse" claim="true" >
+								<param name="originalID">3.3.13</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::trop" label="Tropical medicine" claim="true" >
+								<param name="originalID">3.3.14</param>
+							</concept>
+							<concept id="egi::classification::medsc::healsc::other" label="Other" claim="true" >
+								<param name="originalID">3.3.99</param>
+							</concept>
+						</concept>	
+						<concept id="egi::classification::medsc::medbio" label="Medical biotechnology" claim="true">
+							<param name="originalID">3.4</param>
+							<concept id="egi::classification::medsc::medbio::bdev" label="Biomedical devices" claim="true" >
+								<param name="originalID">3.4.1</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::hbio" label="Health-related biotechnology" claim="true" >
+								<param name="originalID">3.4.2</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::phbio" label="Pharmaceutical biotechnology" claim="true" >
+								<param name="originalID">3.4.3</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::bioeth" label="Biotechnology and medical ethics" claim="true" >
+								<param name="originalID">3.4.4</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::mdia" label="Molecular diagnostics" claim="true" >
+								<param name="originalID">3.4.5</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::bmani" label="Biophysical manipulation" claim="true" >
+								<param name="originalID">3.4.6</param>
+							</concept>
+							<concept id="egi::classification::medsc::medbio::other" label="Other" claim="true" >
+								<param name="originalID">3.4.99</param>
+							</concept>
+						</concept>
+					</concept>
+					<concept id="egi::classification::agrisc" label="Agricultural Sciences" claim="true">
+						<param name="originalID">4</param>
+						<concept id="egi::classification::agrisc::agrfor" label="Agriculture, forestry, and fisheries" claim="true">
+							<param name="originalID">4.1</param>
+							<concept id="egi::classification::agrisc::agrfor::agri" label="Agriculture" claim="true" >
+								<param name="originalID">4.1.1</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::agrpl" label="Agronomy, plant breeding, plant protection" claim="true" >
+								<param name="originalID">4.1.2</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::fish" label="Fishery" claim="true" >
+								<param name="originalID">4.1.3</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::fore" label="Forestry" claim="true" >
+								<param name="originalID">4.1.4</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::horti" label="Horticulture and viticulture" claim="true" >
+								<param name="originalID">4.1.5</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::soil" label="Soil science" claim="true" >
+								<param name="originalID">4.1.6</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrfor::other" label="Other" claim="true" >
+								<param name="originalID">4.1.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::agrisc::anisc" label="Animal and dairy sciences" claim="true">
+							<param name="originalID">4.2</param>
+							<concept id="egi::classification::agrisc::anisc::anisc" label="Animal science" claim="true" >
+								<param name="originalID">4.2.1</param>
+							</concept>
+							<concept id="egi::classification::agrisc::anisc::dair" label="Dairy science" claim="true" >
+								<param name="originalID">4.2.2</param>
+							</concept>
+							<concept id="egi::classification::agrisc::anisc::husb" label="Husbandry" claim="true" >
+								<param name="originalID">4.2.3</param>
+							</concept>
+							<concept id="egi::classification::agrisc::anisc::pets" label="Pets" claim="true" >
+								<param name="originalID">4.2.4</param>
+							</concept>
+							<concept id="egi::classification::agrisc::anisc::other" label="Other" claim="true" >
+								<param name="originalID">4.2.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::agrisc::vetsc" label="Veterinary sciences" claim="true">
+							<param name="originalID">4.3</param>
+							<concept id="egi::classification::agrisc::vetsc::vanae" label="Veterinary anaesthesiology" claim="true" >
+								<param name="originalID">4.3.1</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vmed" label="Veterinary medicine" claim="true" >
+								<param name="originalID">4.3.2</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vophth" label="Veterinary ophtahlmology" claim="true" >
+								<param name="originalID">4.3.3</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vpath" label="Veterinary pathobiology" claim="true" >
+								<param name="originalID">4.3.4</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vrad" label="Veterinary radiology" claim="true" >
+								<param name="originalID">4.3.5</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vrepr" label="Veterinary reproduction" claim="true" >
+								<param name="originalID">4.3.6</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::vsurg" label="Veterinary surgery" claim="true" >
+								<param name="originalID">4.3.7</param>
+							</concept>
+							<concept id="egi::classification::agrisc::vetsc::other" label="Other" claim="true" >
+								<param name="originalID">4.3.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::agrisc::agrbio" label="Agricultural biotechnology" claim="true">
+							<param name="originalID">4.4</param>
+							<concept id="egi::classification::agrisc::agrbio::bmass" label="Biomass feedstock production tech." claim="true" >
+								<param name="originalID">4.4.1</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::bphar" label="Biopharming" claim="true" >
+								<param name="originalID">4.4.2</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::diagn" label="Diagnostics" claim="true" >
+								<param name="originalID">4.4.3</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::fbiot" label="Food biotechnology" claim="true" >
+								<param name="originalID">4.4.4</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::gmtec" label="GM technology" claim="true" >
+								<param name="originalID">4.4.5</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::lclon" label="Livestock cloning" claim="true" >
+								<param name="originalID">4.4.6</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::masel" label="Marker assisted selection" claim="true" >
+								<param name="originalID">4.4.7</param>
+							</concept>
+							<concept id="egi::classification::agrisc::agrbio::other" label="Other" claim="true" >
+								<param name="originalID">4.4.99</param>
+							</concept>
+						</concept>
+					</concept>	
+					<concept id="egi::classification::sosc" label="Social Sciences" claim="true">
+						<param name="originalID">5</param>
+						<concept id="egi::classification::sosc::psych" label="Psychology" claim="true">
+							<param name="originalID">5.1</param>
+							<concept id="egi::classification::sosc::psych::biops" label="Biological Psychology" claim="true" >
+								<param name="originalID">5.1.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::clips" label="Clinical Psychology" claim="true" >
+								<param name="originalID">5.1.2</param>
+							</concept>	
+							<concept id="egi::classification::sosc::psych::cogps" label="Cognitive Psychology" claim="true" >
+								<param name="originalID">5.1.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::comps" label="Comparative Psychology" claim="true" >
+								<param name="originalID">5.1.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::devps" label="Developmental Psychology" claim="true" >
+								<param name="originalID">5.1.5</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::edups" label="Educational and School Psychology" claim="true" >
+								<param name="originalID">5.1.6</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::evops" label="Evolutionary Psychology" claim="true" >
+								<param name="originalID">5.1.7</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::indps" label="Industrial-organisational Psychology" claim="true" >
+								<param name="originalID">5.1.8</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::persps" label="Personality Psychology" claim="true" >
+								<param name="originalID">5.1.9</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::posps" label="Positive Psychology" claim="true" >
+								<param name="originalID">5.1.10</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::socps" label="Social Psychology" claim="true" >
+								<param name="originalID">5.1.11</param>
+							</concept>
+							<concept id="egi::classification::sosc::psych::other" label="Other" claim="true" >
+								<param name="originalID">5.1.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::econ" label="Economics, finance and business" claim="true">
+							<param name="originalID">5.2</param>
+							<concept id="egi::classification::sosc::econ::busman" label="Business and management" claim="true" >
+								<param name="originalID">5.2.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::econ::econom" label="Economics and Econometrics" claim="true" >
+								<param name="originalID">5.2.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::econ::finan" label="Finance" claim="true" >
+								<param name="originalID">5.2.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::econ::indus" label="Industrial relations" claim="true" >
+								<param name="originalID">5.2.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::econ::other" label="Other" claim="true" >
+								<param name="originalID">5.2.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::edusc" label="Educational sciences" claim="true">
+							<param name="originalID">5.3</param>
+							<concept id="egi::classification::sosc::edusc::genedu" label="General Education" claim="true" >
+								<param name="originalID">5.3.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::edusc::spedu" label="Special Education" claim="true" >
+								<param name="originalID">5.3.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::edusc::other" label="Other" claim="true" >
+								<param name="originalID">5.3.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::socio" label="Sociology" claim="true">
+							<param name="originalID">5.4</param>
+							<concept id="egi::classification::sosc::socio::anthro" label="Anthropology" claim="true" >
+								<param name="originalID">5.4.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::demog" label="Demography" claim="true" >
+								<param name="originalID">5.4.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::ethno" label="Ethnology" claim="true" >
+								<param name="originalID">5.4.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::famil" label="Family studies" claim="true" >
+								<param name="originalID">5.4.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::socst" label="Social studies" claim="true" >
+								<param name="originalID">5.4.5</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::sowork" label="Social work" claim="true" >
+								<param name="originalID">5.4.5</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::sociol" label="Sociology" claim="true" >
+								<param name="originalID">5.4.7</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::women" label="Women's and gender studies" claim="true" >
+								<param name="originalID">5.4.8</param>
+							</concept>
+							<concept id="egi::classification::sosc::socio::other" label="Other" claim="true" >
+								<param name="originalID">5.4.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::law" label="Law" claim="true">
+							<param name="originalID">5.5</param>
+							<concept id="egi::classification::sosc::law::canol" label="Canon Law" claim="true" >
+								<param name="originalID">5.5.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::civill" label="Civil Law" claim="true" >
+								<param name="originalID">5.5.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::comparl" label="Comparative Law" claim="true" >
+								<param name="originalID">5.5.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::compel" label="Competition Law" claim="true" >
+								<param name="originalID">5.5.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::constl" label="Constitutional Law" claim="true" >
+								<param name="originalID">5.5.5</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::crimil" label="Criminal Law" claim="true" >
+								<param name="originalID">5.5.6</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::islaml" label="Islamic Law" claim="true" >
+								<param name="originalID">5.5.7</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::jewil" label="Jewish Law" claim="true" >
+								<param name="originalID">5.5.8</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::juris" label="Jurisprudence" claim="true" >
+								<param name="originalID">5.5.9</param>
+							</concept>
+							<concept id="egi::classification::sosc::law::other" label="Other" claim="true" >
+								<param name="originalID">5.5.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::polsc" label="Political Sciences" claim="true">
+							<param name="originalID">5.6</param>
+							<concept id="egi::classification::sosc::polsc::compp" label="Comparative Politics" claim="true" >
+								<param name="originalID">5.6.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::empir" label="Empirical pata analysis" claim="true" >
+								<param name="originalID">5.6.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::intre" label="International relations" claim="true" >
+								<param name="originalID">5.6.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::organ" label="Organisational theory" claim="true" >
+								<param name="originalID">5.6.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::polec" label="Political economy" claim="true" >
+								<param name="originalID">5.6.5</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::polph" label="Political philosophy" claim="true" >
+								<param name="originalID">5.6.6</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::pubad" label="Public administration" claim="true" >
+								<param name="originalID">5.6.7</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::thsta" label="Theories of the state" claim="true" >
+								<param name="originalID">5.6.8</param>
+							</concept>
+							<concept id="egi::classification::sosc::polsc::other" label="Other" claim="true" >
+								<param name="originalID">5.6.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::soecge" label="Social and economic geography" claim="true">
+							<param name="originalID">5.7</param>
+							<concept id="egi::classification::sosc::soecge::cuecge" label="Cultural and economic geography" claim="true" >
+								<param name="originalID">5.7.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::soecge::transp" label="Transport planning" claim="true" >
+								<param name="originalID">5.7.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::soecge::urbst" label="Urban studies" claim="true" >
+								<param name="originalID">5.7.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::soecge::other" label="Other" claim="true" >
+								<param name="originalID">5.7.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::sosc::media" label="Media and communications" claim="true">
+							<param name="originalID">5.8</param>
+							<concept id="egi::classification::sosc::media::cuecge" label="Information science - social" claim="true" >
+								<param name="originalID">5.8.1</param>
+							</concept>
+							<concept id="egi::classification::sosc::media::journ" label="Journalism" claim="true" >
+								<param name="originalID">5.8.2</param>
+							</concept>
+							<concept id="egi::classification::sosc::media::librsc" label="Library science" claim="true" >
+								<param name="originalID">5.8.3</param>
+							</concept>
+							<concept id="egi::classification::sosc::media::mediasoc" label="Media and socio-cultural communication" claim="true" >
+								<param name="originalID">5.8.4</param>
+							</concept>
+							<concept id="egi::classification::sosc::media::other" label="Other" claim="true" >
+								<param name="originalID">5.8.99</param>
+							</concept>
+						</concept>
+					</concept>
+					<concept id="egi::classification::human" label="Humanities" claim="true">
+						<param name="originalID">6</param>
+						<concept id="egi::classification::human::hist" label="History and Archaeology" claim="true">
+							<param name="originalID">6.1</param>
+							<concept id="egi::classification::human::hist::archae" label="Archaeology" claim="true" >
+								<param name="originalID">6.1.1</param>
+							</concept>
+							<concept id="egi::classification::human::hist::hist" label="History" claim="true" >
+								<param name="originalID">6.1.2</param>
+							</concept>
+							<concept id="egi::classification::human::hist::other" label="Other" claim="true" >
+								<param name="originalID">6.1.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::human::lang" label="Languages and literature" claim="true">
+							<param name="originalID">6.2</param>
+							<concept id="egi::classification::human::lang::genlang" label="General language studies" claim="true" >
+								<param name="originalID">6.2.1</param>
+							</concept>
+							<concept id="egi::classification::human::lang::genlit" label="General literature studies" claim="true" >
+								<param name="originalID">6.2.2</param>
+							</concept>
+							<concept id="egi::classification::human::lang::ling" label="Linguistics" claim="true" >
+								<param name="originalID">6.2.3</param>
+							</concept>
+							<concept id="egi::classification::human::lang::liter" label="Literary theory" claim="true" >
+								<param name="originalID">6.2.4</param>
+							</concept>
+							<concept id="egi::classification::human::lang::splang" label="Specific languages" claim="true" >
+								<param name="originalID">6.2.5</param>
+							</concept>
+							<concept id="egi::classification::human::lang::split" label="Specific literatures" claim="true" >
+								<param name="originalID">6.2.6</param>
+							</concept>
+							<concept id="egi::classification::human::lang::other" label="Other" claim="true" >
+								<param name="originalID">6.2.99</param>
+							</concept>
+						</concept>
+						<concept id="egi::classification::human::philos" label="Philosophy, ethics and religion" claim="true">
+							<param name="originalID">6.3</param>
+							<concept id="egi::classification::human::philos::ethic" label="Ethics" claim="true" >
+								<param name="originalID">6.3.1</param>
+							</concept>
+							<concept id="egi::classification::human::philos::philsc" label="Philosophy of science/technology" claim="true" >
+								<param name="originalID">6.3.2</param>
+							</concept>
+							<concept id="egi::classification::human::philos::philo" label="Philosophy" claim="true" >
+								<param name="originalID">6.3.3</param>
+							</concept>
+							<concept id="egi::classification::human::philos::relig" label="Religious studies" claim="true" >
+								<param name="originalID">6.3.4</param>
+							</concept>
+							<concept id="egi::classification::human::philos::theol" label="Theology" claim="true" >
+								<param name="originalID">6.3.5</param>
+							</concept>
+							<concept id="egi::classification::human::philos::other" label="Other" claim="true" >
+								<param name="originalID">6.3.99</param>
+							</concept>
+						</concept>	
+						<concept id="egi::classification::human::arts" label="Arts" claim="true">
+							<param name="originalID">6.4</param>
+							<concept id="egi::classification::human::arts::archi" label="Architectural design" claim="true" >
+								<param name="originalID">6.4.1</param>
+							</concept>
+							<concept id="egi::classification::human::arts::folk" label="Folklore Studies" claim="true" >
+								<param name="originalID">6.4.2</param>
+							</concept>
+							<concept id="egi::classification::human::arts::media" label="Media Studies" claim="true" >
+								<param name="originalID">6.4.3</param>
+							</concept>
+							<concept id="egi::classification::human::arts::music" label="Musicology" claim="true" >
+								<param name="originalID">6.4.4</param>
+							</concept>
+							<concept id="egi::classification::human::arts::perf" label="Performing arts studies" claim="true" >
+								<param name="originalID">6.4.5</param>
+							</concept>
+							<concept id="egi::classification::human::arts::Other" label="Other" claim="true" >
+								<param name="originalID">6.4.99</param>
+							</concept>
+						</concept>
+					</concept>	
+					<concept id="egi::classification::supp" label="Support Activities" claim="true">	
+						<param name="originalID">7</param>
+						<concept id="egi::classification::supp::digarc" label="Digital Archives" claim="true" >
+							<param name="originalID">7.1</param>
+						</concept>
+						<concept id="egi::classification::supp::infra" label="Infrastructure Development" claim="true" >
+							<param name="originalID">7.2</param>
+						</concept>
+						<concept id="egi::classification::supp::train" label="Training/Demonstrations" claim="true" >
+							<param name="originalID">7.3</param>
+						</concept>
+						<concept id="egi::classification::supp::other" label="Other" claim="true" >
+							<param name="originalID">7.99</param>
+						</concept>
+					</concept>		
+				</category>
+				<category id="egi::projects" label="EGI Projects" claim="false">
+					<concept claim="true" id="egi::projects::egiengage" label="EGI-ENGAGE">
+						<param name="projectfullname">Engaging the EGI Community towards an Open Science Commons</param>
+						<param name="suggestedAcknowledgment">(Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in EGI-ENGAGE</param>
+						<param name="grantid">654142</param>
+						<param name="url">https://www.egi.eu/about/egi-engage/</param>
+					</concept>
+					<concept id="egi::projects::biomedbridges" label="BioMedBridges" claim="true">
+						<param name="projectfullname"> Building data bridges from biology to medicine in Europe </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in BioMedBridges</param>
+						<param name="grantid">RI-284209</param>
+						<param name="url">http://www.biomedbridges.eu/</param>
+					</concept>
+					<concept id="egi::projects::biovel" label="BioVel" claim="true">
+						<param name="projectfullname"> Biodiversity Virtual e-Laboratory </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in BioVel</param>
+						<param name="grantid">RI-283359</param>
+						<param name="url">http://www.biovel.eu/</param>
+					</concept>
+					<concept id="egi::projects::chain" label="CHAIN" claim="true">
+						<param name="projectfullname">Co-ordination &amp; Harmonisation of Advanced e-INfrastructures</param>
+						<param name="suggestedAcknowledgment">(Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between CHAIN and EGI-InSPIRE</param>
+						<param name="grantid">RI-306819</param>
+						<param name="url">http://www.chain-project.eu/</param>
+					</concept>
+					<concept id="egi::projects::dchrp" label="DCH-RP" claim="true">
+						<param name="projectfullname"> Digital Cultural Heritage - Roadmap for Preservation </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in DCH-RP</param>
+						<param name="grantid">RI-312274</param>
+						<param name="url">http://www.dch-rp.eu/</param>
+					</concept>
+					<concept id="egi::projects::decide" label="DECIDE" claim="true">
+						<param name="projectfullname"> Diagnostic Enhancement of Confidence by an International Distributed Environment </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between DECIDE and EGI-InSPIRE</param>
+						<param name="grantid">RI-260011 </param>
+						<param name="url">https://www.eu-decide.eu</param>
+					</concept>
+					<concept id="egi::projects::drihms" label="DRIHMS" claim="true">
+						<param name="projectfullname"> Distributed Research Infrastructure for Hydro-Meteorology Study </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">(rule)</param>
+						<param name="grantid">RI-246703 </param>
+						<param name="url">http://www.drihms.eu/</param>
+					</concept>
+					<concept id="egi::projects::efiscal" label="e-Fiscal" claim="true">
+						<param name="projectfullname"> Financial Study for Sustainable Computing e-Infrastructures </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in e-Fiscal</param>
+						<param name="grantid">RI-283449</param>
+						<param name="url">http://efiscal.eu/</param>
+					</concept>
+					<concept id="egi::projects::esciencetalk" label="e-ScienceTalk" claim="true">
+						<param name="projectfullname"> e-ScienceTalk </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Coordinated by the European Grid Initiative (EGI)</param>
+						<param name="grantid">260733</param>
+						<param name="url">http://www.e-sciencetalk.org/</param>
+					</concept>
+					<concept id="egi::projects::ige" label="IGE" claim="true">
+						<param name="projectfullname"> Initiative for Globus in Europe </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between IGE and EGI</param>
+						<param name="grantid">RI-261560 </param>
+						<param name="url">http://www.ige-project.eu/</param>
+					</concept>
+					<concept id="egi::projects::enventory" label="e.NVENTORY" claim="true">
+						<param name="projectfullname"> European e-Infrastructures Observatory </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between e.NVENTORY and EGI</param>
+						<param name="grantid">RI-261554 </param>
+						<param name="url">www.enventory.eu</param>
+					</concept>
+					<concept id="egi::projects::egdi" label="EDGI" claim="true">
+						<param name="projectfullname"> European Desktop Grid Initiative </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between EDGI and EGI-Inspire</param>
+						<param name="grantid">RI-261556 </param>
+						<param name="url">www.edgi-project.eu</param>
+					</concept>
+					<concept id="egi::projects::egiinspire" label="EGI-InSPIRE" claim="true">
+						<param name="projectfullname"> European Desktop Grid Initiative </param>
+						<param name="suggestedAcknowledgment">The authors acknowledge the use of resources provided by the European Grid Infrastructure. For more information, please reference the EGI-InSPIRE paper (http://go.egi.eu/pdnon).</param>
+						<param name="rule">Coordinated by the European Grid Initiative (EGI)</param>
+						<param name="grantid">RI-261323</param>
+						<param name="url">https://www.egi.eu/about/egi-inspire/</param>
+					</concept>
+					<concept id="egi::projects::emi" label="EMI" claim="true">
+						<param name="projectfullname"> European Middleware Initiative </param>
+						<param name="suggestedAcknowledgment">The authors acknowledge the use of resources provided by the European Grid Infrastructure. For more information, please reference the EGI-InSPIRE paper (http://go.egi.eu/pdnon).</param>
+						<param name="rule">Memorandum of Understanding between EMI and EGI</param>
+						<param name="grantid">RI-261611</param>
+						<param name="url">http://www.eu-emi.eu/</param>
+					</concept>
+					<concept id="egi::projects::envri" label="ENVRI" claim="true">
+						<param name="projectfullname"> Common Operations of Environmental Research Infrastructures </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in ENVRI</param>
+						<param name="grantid">283465</param>
+						<param name="url">http://envri.eu/</param>
+					</concept>
+					<concept id="egi::projects::erflow" label="ER-Flow" claim="true">
+						<param name="projectfullname"> European Research Community through interoperable workflows and data sharing </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in ER-Flow</param>
+						<param name="grantid">RI-312579</param>
+						<param name="url">http://www.erflow.eu/</param>
+					</concept>				
+					<concept id="egi::projects::mantychore" label="MANTYCHORE" claim="true">
+						<param name="projectfullname"> Provide infrastructure resources and IP networks as a service </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Informal agreement between MANTYCHORE and EGI</param>
+						<param name="grantid">261527</param>
+						<param name="url">http://www.mantychore.eu/</param>
+					</concept>
+					<concept id="egi::projects::mapper" label="MAPPER" claim="true">
+						<param name="projectfullname"> Multiscale Applications on European e-Infrastructures </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between MAPPER and EGI</param>
+						<param name="grantid">RI-261507</param>
+						<param name="url">http://www.mapper-project.eu/</param>
+					</concept>
+					<concept id="egi::projects::scalalife" label="SCALALIFE" claim="true">
+						<param name="projectfullname"> Scalable Software Services for Life Science </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between MAPPER and EGI-InSpire</param>
+						<param name="grantid">RI-261523</param>
+						<param name="url">http://www.scalalife.eu/</param>
+					</concept>
+					<concept id="egi::projects::scibus" label="SCI-BUS" claim="true">
+						<param name="projectfullname"> SCIentific gateway Based User Support </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between SCI-BUS and EGI</param>
+						<param name="grantid">RI-283481</param>
+						<param name="url">http://www.sci-bus.eu/</param>
+					</concept>
+					<concept id="egi::projects::shiwa" label="SHIWA" claim="true">
+						<param name="projectfullname"> SHaring Interoperable Workflows for large-scale scientific simulations on Available DCIs </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between SHIWA and EGI-Inspire</param>
+						<param name="grantid">RI-261585</param>
+						<param name="url">http://www.shiwa-workflow.eu/</param>
+					</concept>
+					<concept id="egi::projects::siena" label="SIENA" claim="true">
+						<param name="projectfullname"> Standards and Interoperability for e-Infrastructure Implementation Initiative </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between SIENA and EGI-Inspire</param>
+						<param name="grantid">RI-261575</param>
+						<param name="url">http://www.sienainitiative.eu/</param>
+					</concept>
+					<concept id="egi::projects::stratuslab" label="STRATUSLAB" claim="true">
+						<param name="projectfullname"> StratusLab </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between StratusLab and EGI-Inspire</param>
+						<param name="grantid">RI-261552</param>
+						<param name="url">http://stratuslab.eu/</param>
+					</concept>
+					<concept id="egi::projects::uvasce" label="UVACSE" claim="true">
+						<param name="projectfullname"> University of Virginia Alliance for Computational Science and Engineering </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">Memorandum of Understanding between StratusLab and EGI</param>
+						<param name="grantid"> (grantid) </param>
+						<param name="url">http://www.uvacse.virginia.edu/</param>
+					</concept>
+					<concept id="egi::projects::verce" label="VERCE" claim="true">
+						<param name="projectfullname"> Virtual Earthquake and seismology Research Community in Europe e-science environment </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule"> (rule) </param>
+						<param name="grantid"> RI-283543 </param>
+						<param name="url">http://www.verce.eu/</param>
+					</concept>
+					<concept id="egi::projects::wenmr" label="WENMR" claim="true">
+						<param name="projectfullname"> A worldwide e-Infrastructure for NMR and structural biology </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule"> Memorandum of Understanding between WENMR and EGI </param>
+						<param name="grantid"> RI-261572 </param>
+						<param name="url">http://www.wenmr.eu/</param>
+					</concept>
+					<concept id="egi::projects::helixn" label="Helix Nebula" claim="true">
+						<param name="projectfullname"> A worldwide e-Infrastructure for NMR and structural biology </param>
+						<param name="suggestedAcknowledgment"> (Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in Helix Nebula</param>
+						<param name="grantid">312301</param>
+						<param name="url">http://helix-nebula.eu/</param>
+					</concept>
+					<concept id="egi::projects::fedsm" label="FedSM" claim="true">
+						<param name="projectfullname">Implementing service management in federated e-Infrastructures</param>
+						<param name="suggestedAcknowledgment">(Acknowledgement)</param>
+						<param name="rule">The European Grid Initiative (EGI) is partner in FedSM</param>
+						<param name="grantid">RI-312851</param>
+						<param name="url">http://www.fedsm.eu/</param>
+					</concept>
+				</category>
+				<category id="egi::country" label="EGI Countries" claim="true">
+					<concept id="egi::country::ba" label="Bosnia and Herzegovina" claim="true">
+						<param name="organisationname">ETFBL</param>
+					</concept>
+					<concept id="egi::country::be" label="Belgium" claim="true">
+						<param name="organisationname">BELNET</param>
+					</concept>
+					<concept id="egi::country::bg" label="Bulgaria" claim="true">
+						<param name="organisationname">IICT-BAS</param>
+					</concept>
+					<concept id="egi::country::ch" label="Switzerland" claim="true">
+						<param name="organisationname">SWiNG</param>
+						<param name="organisationname">CERN</param>
+					</concept>		
+					<concept id="egi::country::cy" label="Cyprus" claim="true">
+						<param name="organisationname">CyGrid</param>
+					</concept>
+					<concept id="egi::country::cz" label="Czech Republic" claim="true">
+						<param name="organisationname">CESNET</param>
+					</concept>
+					<concept id="egi::country::de" label="Germany" claim="true">
+						<param name="organisationname">Gauss-Allianz</param>
+						<param name="organisationname">EMBL</param>
+					</concept>
+					<concept id="egi::country::dk" label="Denmark" claim="true">
+						<param name="organisationname">DCSC</param>
+					</concept>
+					<concept id="egi::country::ee" label="Estonia" claim="true">
+						<param name="organisationname">EENet</param>
+					</concept>
+					<concept id="egi::country::es" label="Spain" claim="true">
+						<param name="organisationname">CSIC</param>
+					</concept>
+					<concept id="egi::country::fi" label="Finland" claim="true">
+						<param name="organisationname">CSC</param>
+					</concept>
+					<concept id="egi::country::fr" label="France" claim="true">
+						<param name="organisationname">CNRS</param>
+					</concept>
+					<concept id="egi::country::gr" label="Greece" claim="true">
+						<param name="organisationname">GRNET</param>
+					</concept>
+					<concept id="egi::country::hr" label="Croatia" claim="true">
+						<param name="organisationname">SRCE</param>
+					</concept>
+					<concept id="egi::country::hu" label="Hungary" claim="true">
+						<param name="organisationname">NIIF</param>
+					</concept>
+					<concept id="egi::country::ie" label="Ireland" claim="true">
+						<param name="organisationname">Grid-Ireland</param>
+					</concept>
+					<concept id="egi::country::il" label="Israel" claim="true">
+						<param name="organisationname">IUCC</param>
+					</concept>
+					<concept id="egi::country::it" label="Italy" claim="true">
+						<param name="organisationname">INFN</param>
+					</concept>
+					<concept id="egi::country::lt" label="Lithuania" claim="true">
+						<param name="organisationname">VU</param>
+					</concept>
+					<concept id="egi::country::lu" label="Luxembourg" claim="true">
+						<param name="organisationname">RESTENA</param>
+					</concept>
+					<concept id="egi::country::lv" label="Latvia" claim="true">
+						<param name="organisationname">LUMII</param>
+					</concept>
+					<concept id="egi::country::me" label="Montenegro" claim="true">
+						<param name="organisationname">UoM</param>
+					</concept>
+					<concept id="egi::country::mk" label="Macedonia" claim="true">
+						<param name="organisationname">MARGI</param>
+					</concept>
+					<concept id="egi::country::nl" label="the Netherlands" claim="true">
+						<param name="organisationname">NCF</param>
+					</concept>
+					<concept id="egi::country::nr" label="Norway" claim="true">
+						<param name="organisationname">UNINETT Sigma AS</param>
+					</concept>
+					<concept id="egi::country::pl" label="Poland" claim="true">
+						<param name="organisationname">CYFRONET AGH</param>
+					</concept>
+					<concept id="egi::country::pt" label="Portugal" claim="true">
+						<param name="organisationname">UMIC</param>
+					</concept>
+					<concept id="egi::country::ro" label="Romania" claim="true">
+						<param name="organisationname">ICI</param>
+					</concept>
+					<concept id="egi::country::rs" label="Serbia" claim="true">
+						<param name="organisationname">IPB</param>
+					</concept>
+					<concept id="egi::country::si" label="Slovenia" claim="true">
+						<param name="organisationname">ARNES</param>
+					</concept>
+					<concept id="egi::country::sk" label="Slovakia" claim="true">
+						<param name="organisationname">SlovakGrid</param>
+					</concept>
+					<concept id="egi::country::se" label="Sweden" claim="true">
+						<param name="organisationname">SNIC</param>
+					</concept>
+					<concept id="egi::country::tr" label="Turkey" claim="true">
+						<param name="organisationname">ULAKBIM</param>
+					</concept>
+					<concept id="egi::country::uk" label="United Kingdom" claim="true">
+						<param name="organisationname">JISC</param>
+					</concept>
+					<concept id="egi::country::am" label="ARmenia" claim="true">
+						<param name="organisationname">IIAP NAS RA</param>
+					</concept>
+					<concept id="egi::country::md" label="Moldova" claim="true">
+						<param name="organisationname">RENAM</param>
+					</concept>
+					<concept id="egi::country::ru" label="Russia" claim="true">
+						<param name="organisationname">e-ARENA</param>
+					</concept>
+				</category>
+				<category id="egi::organisation" label="National EGI Organisations" claim="true">
+					<concept id="egi::organisation::etfbl" label="ETFBL" claim="true">
+						<param name="country">Bosnia and Herzegovina</param>
+					</concept>
+					<concept id="egi::organisation::belnet" label="BELNET" claim="true">
+						<param name="country">Belgium</param>
+					</concept>
+					<concept id="egi::organisation::iictbas" label="IICT-BAS" claim="true">
+						<param name="country">Bulgaria</param>
+					</concept>
+					<concept id="egi::organisation::swing" label="SWiNG" claim="true">
+						<param name="country">Switzerland</param>
+					</concept>
+					<concept id="egi::organisation::cygrid" label="CyGrid" claim="true">
+						<param name="country">Cyprus</param>
+					</concept>
+					<concept id="egi::organisation::cesnet" label="CESNET" claim="true">
+						<param name="country">Czech Republic</param>
+					</concept>
+					<concept id="egi::organisation::gaussallianz" label="Gauss-Allianz" claim="true">
+						<param name="country">Germany</param>
+					</concept>
+					<concept id="egi::organisation::dcsc" label="DCSC" claim="true">
+						<param name="country">Denmark</param>
+					</concept>
+					<concept id="egi::organisation::eenet" label="EENet" claim="true">
+						<param name="country">Estonia</param>
+					</concept>
+					<concept id="egi::organisation::csic" label="CSIC" claim="true">
+						<param name="country">Spain</param>
+					</concept>
+					<concept id="egi::organisation::csc" label="CSC" claim="true">
+						<param name="country">Finland</param>
+					</concept>
+					<concept id="egi::organisation::cnrs" label="CNRS" claim="true">
+						<param name="country">France</param>
+					</concept>
+					<concept id="egi::organisation::grnet" label="GRNET" claim="true">
+						<param name="country">Greece</param>
+					</concept>
+					<concept id="egi::organisation::srce" label="SRCE" claim="true">
+						<param name="country">Croatia</param>
+					</concept>
+					<concept id="egi::organisation::niif" label="NIIF" claim="true">
+						<param name="country">Hungary</param>
+					</concept>
+					<concept id="egi::organisation::gridireland" label="Grid-Ireland" claim="true">
+						<param name="country">Ireland</param>
+					</concept>
+					<concept id="egi::organisation::iucc" label="IUCC" claim="true">
+						<param name="country">Israel</param>
+					</concept>
+					<concept id="egi::organisation::infn" label="INFN" claim="true">
+						<param name="country">Italy</param>
+					</concept>
+					<concept id="egi::organisation::vu" label="VU" claim="true">
+						<param name="country">Lithuania</param>
+					</concept>
+					<concept id="egi::organisation::restena" label="RESTENA" claim="true">
+						<param name="country">Luxembourg</param>
+					</concept>
+					<concept id="egi::organisation::lumii" label="LUMII" claim="true">
+						<param name="country">Latvia</param>
+					</concept>
+					<concept id="egi::organisation::uom" label="UoM" claim="true">
+						<param name="country">Montenegro</param>
+					</concept>
+					<concept id="egi::organisation::margi" label="MARGI" claim="true">
+						<param name="country">Macedonia</param>
+					</concept>
+					<concept id="egi::organisation::ncf" label="NCF" claim="true">
+						<param name="country">the Netherlands</param>
+					</concept>
+					<concept id="egi::organisation::uninett" label="UNINETT Sigma AS" claim="true">
+						<param name="country">Norway</param>
+					</concept>
+					<concept id="egi::organisation::cyfronet" label="CYFRONET AGH" claim="true">
+						<param name="country">Poland</param>
+					</concept>
+					<concept id="egi::organisation::umic" label="umic" claim="true">
+						<param name="country">Portugal</param>
+					</concept>
+					<concept id="egi::organisation::ici" label="ICI" claim="true">
+						<param name="country">Romania</param>
+					</concept>
+					<concept id="egi::organisation::ipb" label="IPB" claim="true">
+						<param name="country">Serbia</param>
+					</concept>
+					<concept id="egi::organisation::arnes" label="ARNES" claim="true">
+						<param name="country">Slovenia</param>
+					</concept>
+					<concept id="egi::organisation::slovakgrid" label="SlovakGrid" claim="true">
+						<param name="country">Slovakia</param>
+					</concept>
+					<concept id="egi::organisation::snic" label="SNIC" claim="true">
+						<param name="country">Sweden</param>
+					</concept>
+					<concept id="egi::organisation::ulakbim" label="ULAKBIM" claim="true">
+						<param name="country">Turkey</param>
+					</concept>
+					<concept id="egi::organisation::jisc" label="JISC" claim="true">
+						<param name="country">United Kingdom</param>
+					</concept>
+					<concept id="egi::organisation::iiapnas" label="IIAP NAS RA" claim="true">
+						<param name="country">Armenia</param>
+					</concept>
+					<concept id="egi::organisation::renam" label="RENAM" claim="true">
+						<param name="country">Moldova</param>
+					</concept>
+					<concept id="egi::organisation::earena" label="e-ARENA" claim="true">
+						<param name="country">Russia</param>
+					</concept>
+					<concept id="egi::organisation::embl" label="EMBL" claim="true">
+						<param name="country">Germany</param>
+					</concept>
+					<concept id="egi::organisation::cern" label="CERN" claim="true">
+						<param name="country">Switzerland</param>
+					</concept>
+				</category>	
+				<category id="egi::virtual" label="EGI virtual organizations" claim="true">
+					<concept id="egi::virtual::2352" label="vo.grand-est.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.grand-est.fr/</param>
+						<param name="homepageUrl">http://www.grand-est.fr</param>
+					</concept>
+					<concept id="egi::virtual::41" label="astron" claim="true">
+						<param name="enrollmentUrl">http://register.matrix.sara.nl/</param>
+						<param name="homepageUrl">http://www.astron.nl</param>
+					</concept>
+					<concept id="egi::virtual::26" label="theophys" claim="true">
+						<param name="enrollmentUrl"></param> 
+						<param name="homepageUrl"></param> 
+					</concept>
+					<concept id="egi::virtual::504" label="vo.londongrid.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/vo.londongrid.ac.uk/register/start.action</param>
+						<param name="homepageUrl">https://www.gridpp.ac.uk/wiki/Vo.londongrid.ac.uk</param>
+					</concept>
+					<concept id="egi::virtual::78" label="vo.grif.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.grif.fr/</param>
+						<param name="homepageUrl">http://www.grif.fr/</param>
+					</concept>
+					<concept id="egi::virtual::1670" label="eo-grid.ikd.kiev.ua" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.ikd.kiev.ua:8443/voms/eo-grid.ikd.kiev.ua</param>
+						<param name="homepageUrl">http://inform.ikd.kiev.ua/eo-grid/</param>
+					</concept>
+					<concept id="egi::virtual::2332" label="ops.ndgf.org" claim="true">
+						<param name="enrollmentUrl">https://voms.ndgf.org:8443/voms/ops.ndgf.org</param>
+						<param name="homepageUrl">http://www.ndgf.org/</param>
+					</concept>
+					<concept id="egi::virtual::1430" label="vo.msfg.fr" claim="true">
+						<param name="enrollmentUrl">http://www.lupm.univ-montp2.fr/article.php3?id_article=79</param>
+						<param name="homepageUrl">http://www.lupm.univ-montp2.fr/article.php3?id_article=79</param>
+					</concept>
+					<concept id="egi::virtual::40" label="ilc" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/ilc/</param>
+						<param name="homepageUrl">http://www-flc.desy.de/flc/</param>
+					</concept>
+					<concept id="egi::virtual::2592" label="gr-sim.grid.auth.gr" claim="true">
+						<param name="enrollmentUrl">https://voms.hellasgrid.gr:8443/voms/gr-sim/register/start.action</param>
+						<param name="homepageUrl">http://www.grid.auth.gr</param>
+					</concept>
+					<concept id="egi::virtual::2172" label="chem.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/chem.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::311" label="vo.sbg.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.sbg.in2p3.fr/</param>
+						<param name="homepageUrl">http://www.iphc.cnrs.fr</param>
+					</concept>
+					<concept id="egi::virtual::10273" label="comet.j-parc.jp" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/comet.j-parc.jp/register/start.action</param>
+						<param name="homepageUrl">http://comet.kek.jp</param>
+					</concept>
+					<concept id="egi::virtual::10258" label="vo.earthserver.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ct.infn.it:8443/voms/vo.earthserver.eu</param>
+						<param name="homepageUrl">http://earthserver-sg.consorzio-cometa.it/</param>
+					</concept>
+					<concept id="egi::virtual::10249" label="vo.sn2ns.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.sn2ns.in2p3.fr/register/start.action</param>
+						<param name="homepageUrl">http://irfu.cea.fr/Projets/SN2NS</param>
+					</concept>
+					<concept id="egi::virtual::96" label="trgridd" claim="true">
+						<param name="enrollmentUrl">https://voms.ulakbim.gov.tr:8443/voms/trgridd/</param>
+						<param name="homepageUrl">https://voms.ulakbim.gov.tr:8443/voms/trgridd/</param>
+					</concept>
+					<concept id="egi::virtual::710" label="vo.pic.es" claim="true">
+						<param name="enrollmentUrl">https://voms.pic.es:8443/voms/vo.pic.es</param>
+						<param name="homepageUrl">http://www.pic.es</param>
+					</concept>
+					<concept id="egi::virtual::13" label="zeus" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/zeus</param>
+						<param name="homepageUrl">http://www-zeus.desy.de/</param>
+					</concept>
+					<concept id="egi::virtual::106" label="supernemo.vo.eu-egee.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/supernemo.vo.eu-egee.org/register/start.action</param>
+						<param name="homepageUrl">http://nemo.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::6" label="biomed" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/biomed</param>
+						<param name="homepageUrl">http://lsgc.org/en/Biomed:home</param>
+						<param name="suggestedAcknowledgment"> "Results obtained in this paper were computed on the biomed virtual organization of the European Grid Infrastructure (http://www.egi.eu). We thank the European Grid Infrastructure and its supporting National Grid Initiatives for providing the technical support, computing and storage facilities." (list of publications not up-to-date: http://lsgc.org/en/Biomed:publications) </param>
+					</concept>
+					<concept id="egi::virtual::890" label="prod.vo.eu-eela.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.unam.mx:8443/voms/prod.vo.eu-eela.eu</param>
+						<param name="homepageUrl">http://www.e-science.unam.mx/</param>
+					</concept>
+					<concept id="egi::virtual::1030" label="vo.ops.csic.es" claim="true">
+						<param name="enrollmentUrl">https://voms.ific.uv.es:8443/voms/vo.ops.csic.es/</param>
+						<param name="homepageUrl">http://www.grid.csic.es/</param>
+					</concept>
+					<concept id="egi::virtual::250" label="euindia" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/euindia/</param>
+						<param name="homepageUrl">http://www.euindiagrid.eu/</param>
+					</concept>
+					<concept id="egi::virtual::476" label="vo.northgrid.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/vo.northgrid.ac.uk</param>
+						<param name="homepageUrl">https://voms.gridpp.ac.uk:8443/voms/vo.northgrid.ac.uk</param>
+					</concept>
+					<concept id="egi::virtual::10283" label="drihm.eu" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/drihm.eu/</param>
+						<param name="homepageUrl">http://www.drihm.eu/</param>
+					</concept>
+					<concept id="egi::virtual::2153" label="ict.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/ict.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::10284" label="hyperk.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/hyperk.org/register/start.action</param>
+						<param name="homepageUrl">http://www.hyperk.org</param>
+					</concept>
+					<concept id="egi::virtual::2312" label="vo.eu-decide.eu" claim="true">
+						<param name="enrollmentUrl">http://applications.eu-decide.eu</param>
+						<param name="homepageUrl">https://voms.ct.infn.it:8443/voms/vo.eu-decide.eu</param>
+					</concept>
+					<concept id="egi::virtual::1250" label="superbvo.org" claim="true">
+						<param name="enrollmentUrl">http://superb.infn.it/how-to-join-us</param>
+						<param name="homepageUrl">http://superb.infn.it/home</param>
+					</concept>
+					<concept id="egi::virtual::494" label="gilda" claim="true">
+						<param name="enrollmentUrl">https://voms.ct.infn.it:8443/voms/gilda</param>
+						<param name="homepageUrl">https://gilda.ct.infn.it</param>
+					</concept>
+					<concept id="egi::virtual::10252" label="xenon.biggrid.nl" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/xenon.biggrid.nl</param>
+						<param name="homepageUrl">https://wiki.biggrid.nl/wiki/index.php/Xenon</param>
+					</concept>
+					<concept id="egi::virtual::130" label="balticgrid" claim="true">
+						<param name="enrollmentUrl">https://voms.balticgrid.org:8443/voms/balticgrid/</param>
+						<param name="homepageUrl">http://www.balticgrid.org</param>
+					</concept>
+					<concept id="egi::virtual::10265" label="gerda.mpg.de" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/gerda.mpg.de/</param>
+						<param name="homepageUrl">http://www.mpi-hd.mpg.de/gerda</param>
+					</concept>
+					<concept id="egi::virtual::67" label="belle" claim="true">
+						<param name="enrollmentUrl">https://voms.cc.kek.jp:8443/voms/belle</param>
+						<param name="homepageUrl">http://belle2.kek.jp/</param>
+					</concept>
+					<concept id="egi::virtual::2252" label="vo.stratuslab.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/vo.stratuslab.eu/register/start.action</param>
+						<param name="homepageUrl">http://www.stratuslab.eu</param>
+					</concept>
+					<concept id="egi::virtual::10026" label="camont" claim="true">
+						<param name="enrollmentUrl">http://www.hep.phy.cam.ac.uk/~parker/camtology/camont.html</param>
+						<param name="homepageUrl">http://www.hep.phy.cam.ac.uk/~parker/camtology/camont.html</param>
+					</concept>
+					<concept id="egi::virtual::10285" label="peachnote.com" claim="true">
+						<param name="enrollmentUrl"> https://perun.metacentrum.cz/perun-registrar-cert/?vo=peachnote.com</param>
+						<param name="homepageUrl">http://www.peachnote.com</param>
+					</concept>
+					<concept id="egi::virtual::98" label="ific" claim="true">
+						<param name="enrollmentUrl">https://swevo.ific.uv.es:8443/voms/ific</param>
+						<param name="homepageUrl">http://ific.uv.es</param>
+					</concept>
+					<concept id="egi::virtual::1190" label="pacs.infn.it" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::2192" label="oxgrid.ox.ac.uk" claim="true">
+						<param name="enrollmentUrl">http://oxgrid-vom.oerc.ox.ac.uk/cgi-bin/application.pl</param>
+						<param name="homepageUrl">http://www.oerc.ox.ac.uk/resources/oxgrid</param>
+					</concept>
+					<concept id="egi::virtual::810" label="glast.org" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/glast.org/</param>
+						<param name="homepageUrl">http://glast.gsfc.nasa.gov/</param>
+						<param name="suggestedAcknowledgment"> We would like to thank the INFN GRID Data Centers of ..., ..., ..., and ..., ... </param>
+					</concept>
+					<concept id="egi::virtual::2372" label="demo.vo.edges-grid.eu" claim="true">
+						<param name="enrollmentUrl">http://edgi-project.eu/</param>
+						<param name="homepageUrl">http://edgi-project.eu/</param>
+					</concept>
+					<concept id="egi::virtual::2052" label="vo.dorii.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/vo.dorii.eu/</param>
+						<param name="homepageUrl">http://www.dorii.eu/applications</param>
+					</concept>
+					<concept id="egi::virtual::1110" label="vo.u-psud.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.u-psud.fr/register/start.action</param>
+						<param name="homepageUrl">http://www.lri.fr/Demain/?cat=18</param>
+					</concept>
+					<concept id="egi::virtual::479" label="vo.cta.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.cta.in2p3.fr/register/start.action</param>
+						<param name="homepageUrl">http://www.mpi-hd.mpg.de/hfm/CTA/</param>
+					</concept>
+					<concept id="egi::virtual::1630" label="hgdemo" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/hgdemo</param>
+						<param name="homepageUrl">http://www.grid.auth.gr/en/services/</param>
+					</concept>
+					<concept id="egi::virtual::31" label="ngs.ac.uk" claim="true">
+						<param name="enrollmentUrl">http://www.ngs.ac.uk/ukca/apply</param>
+						<param name="homepageUrl">http://www.ngs.ac.uk</param>
+					</concept>
+					<concept id="egi::virtual::10260" label="mpi-kickstart.egi.eu" claim="true">
+						<param name="enrollmentUrl">https://egee.cesnet.cz/mpi/registration/prihlaska_priprav.php</param>
+						<param name="homepageUrl">https://www.metacentrum.cz/en/VO/MPI/index.html</param>
+					</concept>
+					<concept id="egi::virtual::1912" label="ops.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/ops.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::97" label="trgride" claim="true">
+						<param name="enrollmentUrl">https://voms.ulakbim.gov.tr:8443/voms/trgride/</param>
+						<param name="homepageUrl">https://voms.ulakbim.gov.tr:8443/voms/trgride/</param>
+					</concept>
+					<concept id="egi::virtual::2472" label="vo.indicate-project.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ct.infn.it:8443/voms/vo.indicate-project.eu</param>
+						<param name="homepageUrl">http://indicate-gw.consorzio-cometa.it/</param>
+					</concept>
+					<concept id="egi::virtual::411" label="vo.lpnhe.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.lpnhe.in2p3.fr</param>
+						<param name="homepageUrl">http://lpnhe.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::49" label="planck" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/planck/register/start.action</param>
+						<param name="homepageUrl">http://www.oats.inaf.it/it/tematiche-ricerca/macroarea-5/265-planck-lfi</param>
+					</concept>
+					<concept id="egi::virtual::7" label="egeode" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/egeode/</param>
+						<param name="homepageUrl">http://www.egeode.org</param>
+					</concept>
+					<concept id="egi::virtual::2492" label="vo.sim-e-child.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gnubila.fr:8443/voms/vo.sim-e-child.org</param>
+						<param name="homepageUrl">http://sec-portal.maatg.fr</param>
+					</concept>
+					<concept id="egi::virtual::2212" label="uniandes.edu.co" claim="true">
+						<param name="enrollmentUrl">https://caribe.uniandes.edu.co:8443/voms/uniandes.edu.co/register/start.action</param>
+						<param name="homepageUrl">https://caribe.uniandes.edu.co:8443/voms/uniandes.edu.co/user/home.action</param>
+					</concept>
+					<concept id="egi::virtual::910" label="oper.vo.eu-eela.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.eela.ufrj.br:8443/voms/oper.vo.eu-eela.eu</param>
+						<param name="homepageUrl">http://www.eu-eela.eu</param>
+					</concept>
+					<concept id="egi::virtual::10251" label="vo.france-grilles.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.france-grilles.fr</param>
+						<param name="homepageUrl">http://www.france-grilles.fr/</param>
+					</concept>
+					<concept id="egi::virtual::20" label="ncf" claim="true">
+						<param name="enrollmentUrl"> https://voms.grid.sara.nl:8443/voms/ncf/admin/home.action</param>
+						<param name="homepageUrl">https://www.surfsara.nl/systems/grid/new-users</param>
+					</concept>
+					<concept id="egi::virtual::10268" label="vo.astro.pic.es" claim="true">
+						<param name="enrollmentUrl">https://voms01.pic.es:8443/voms/vo.astro.pic.es</param>
+						<param name="homepageUrl">http://www.cosmo.pic.es</param>
+					</concept>
+					<concept id="egi::virtual::570" label="vo.hess-experiment.eu" claim="true">
+						<param name="enrollmentUrl">https://cagraidsvr10.cs.tcd.ie:8443/voms/vo.hess-experiment.eu/webui/request/user/create</param>
+						<param name="homepageUrl">http://www.mpi-hd.mpg.de/hfm/HESS/</param>
+					</concept>
+					<concept id="egi::virtual::1650" label="sgdemo" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/sgdemo</param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::2152" label="phys.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/phys.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::22" label="infngrid" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/infngrid/</param>
+						<param name="homepageUrl">http://grid.infn.it</param>
+					</concept>
+					<concept id="egi::virtual::69" label="embrace" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/embrace/register/start.action</param>
+						<param name="homepageUrl"> http://www.embracegrid.info/</param>
+					</concept>
+					<concept id="egi::virtual::10250" label="bbmri.nl" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/bbmri.nl</param>
+						<param name="homepageUrl">http://www.bbmri.nl</param>
+					</concept>
+					<concept id="egi::virtual::10083" label="gridit" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/gridit/</param>
+						<param name="homepageUrl">http://www.italiangrid.org/</param>
+					</concept>
+					<concept id="egi::virtual::10257" label="vo.aginfra.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ipb.ac.rs:8443/voms/vo.aginfra.eu/</param>
+						<param name="homepageUrl">http://www.aginfra.eu/</param>
+					</concept>
+					<concept id="egi::virtual::2432" label="shiwa-workflow.eu" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/shiwa-workflow.eu/</param>
+						<param name="homepageUrl">http://www.shiwa-workflow.eu</param>
+					</concept>
+					<concept id="egi::virtual::10267" label="igi.italiangrid.it" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/igi.italiangrid.it/</param>
+						<param name="homepageUrl">http://www.italiangrid.it/</param>
+					</concept>
+					<concept id="egi::virtual::1450" label="armgrid.grid.am" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.am:8443/voms/armgrid.grid.am/</param>
+						<param name="homepageUrl">http://www.grid.am</param>
+					</concept>
+					<concept id="egi::virtual::104" label="gridcc" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/gridcc</param>
+						<param name="homepageUrl">http://www.gridcc.org/</param>
+					</concept>
+					<concept id="egi::virtual::1510" label="vo.turbo.pic.es" claim="true">
+						<param name="enrollmentUrl">https://voms01.pic.es:8443/voms/vo.turbo.pic.es/register/start.action</param>
+						<param name="homepageUrl">http://www.pic.es</param>
+					</concept>
+					<concept id="egi::virtual::37" label="hone" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/hone/</param>
+						<param name="homepageUrl">http://www-h1.desy.de/</param>
+						<param name="suggestedAcknowledgment"> We thank to all partners contributing to the WLCG computing infrastructure for their support for the H1 Collaboration (list of publications: http://www-h1.desy.de/h1/www/publications/H1publication.short_list.html#YEAR2013) </param>
+					</concept>
+					<concept id="egi::virtual::2176" label="eng.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/eng.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::2174" label="earth.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/earth.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::10287" label="projects.nl" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/projects.nl</param>
+						<param name="homepageUrl">https://e-infra.surfsara.nl/</param>
+					</concept>
+					<concept id="egi::virtual::107" label="auger" claim="true">
+						<param name="enrollmentUrl">https://egee.cesnet.cz/auger/registration/</param>
+						<param name="homepageUrl">http://www.auger.org</param>
+						<param name="suggestedAcknowledgment"> no statement defined </param>
+					</concept>
+					<concept id="egi::virtual::670" label="vo.lpsc.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.mure.in2p3.fr/admin/home.action</param>
+						<param name="homepageUrl">http://lpsc.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::90" label="eela" claim="true">
+						<param name="enrollmentUrl">https://voms.lip.pt:8443/voms/eela/webui/request/user/create</param>
+						<param name="homepageUrl">http://www.eu-eela.org/</param>
+					</concept>
+					<concept id="egi::virtual::94" label="trgridb" claim="true">
+						<param name="enrollmentUrl">https://voms.ulakbim.gov.tr:8443/voms/trgridb/</param>
+						<param name="homepageUrl">https://voms.ulakbim.gov.tr:8443/voms/trgridb/</param>
+					</concept>
+					<concept id="egi::virtual::81" label="proactive" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/proactive/register/start.action</param>
+						<param name="homepageUrl">http://www-sop.inria.fr/oasis/ProActive/</param>
+					</concept>
+					<concept id="egi::virtual::990" label="desktopgrid.vo.edges-grid.eu" claim="true">
+						<param name="enrollmentUrl">http://idgf-sp.eu/</param>
+						<param name="homepageUrl">http://idgf-sp.eu/</param>
+					</concept>
+					<concept id="egi::virtual::1610" label="vo.delphi.cern.ch" claim="true">
+						<param name="enrollmentUrl">https://voms.cern.ch:8443/voms/vo.delphi.cern.ch/register/start.action</param>
+						<param name="homepageUrl">http://delphiwww.cern.ch/</param>
+					</concept>
+					<concept id="egi::virtual::10262" label="vo.gridcl.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.gridcl.fr/</param>
+						<param name="homepageUrl">http://www.labex-p2io.fr</param>
+					</concept>
+					<concept id="egi::virtual::44" label="ildg" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/ildg</param>
+						<param name="homepageUrl">http://plone.jldg.org/</param>
+					</concept>
+					<concept id="egi::virtual::1710" label="bg-edu.grid.acad.bg" claim="true">
+						<param name="enrollmentUrl">https://voms.ipp.acad.bg:8443/voms/bg-edu.grid.acad.bg/register/start.action</param>
+						<param name="homepageUrl">http://www.grid.bas.bg</param>
+					</concept>
+					<concept id="egi::virtual::36" label="desy" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/desy</param>
+						<param name="homepageUrl">http://grid.desy.de</param>
+					</concept>
+					<concept id="egi::virtual::3" label="lhcb" claim="true">
+						<param name="enrollmentUrl">https://lcg-voms.cern.ch:8443/vo/lhcb/vomrs</param>
+						<param name="homepageUrl">http://lhcb.web.cern.ch/lhcb/</param>
+						<param name="suggestedAcknowledgment"> The Tier1 computing centres are supported by IN2P3 (France), KIT and BMBF (Germany), INFN (Italy), NWO and SURF (The Netherlands), PIC (Spain), GridPP (United Kingdom). We are thankful for the computing resources put at our disposal by Yandex LLC (Russia), as well as to the communities behind the multiple open source software packages that we depend on. </param>	
+					</concept>
+					<concept id="egi::virtual::5" label="esr" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/esr</param>
+						<param name="homepageUrl">http://www.euearthsciencegrid.org/content/esr-vo-introduction</param>
+						<param name="suggestedAcknowledgment"> n/a (List of publications http://www.euearthsciencegrid.org/publications) </param>
+					</concept>
+					<concept id="egi::virtual::25" label="inaf" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/inaf</param>
+						<param name="homepageUrl"> http://www.inaf.it</param>
+					</concept>
+					<concept id="egi::virtual::970" label="vo.grid.auth.gr" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/vo.grid.auth.gr</param>
+						<param name="homepageUrl">http://www.grid.auth.gr/en/</param>
+					</concept>
+					<concept id="egi::virtual::89" label="argo" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/argo</param>
+						<param name="homepageUrl">http://argo.na.infn.it/</param>
+					</concept>
+					<concept id="egi::virtual::58" label="see" claim="true">
+						<param name="enrollmentUrl">https://www.grid.auth.gr/services/voms/SEE/request.php</param>
+						<param name="homepageUrl">http://www.hellasgrid.gr/about/see-vo/</param>
+					</concept>
+					<concept id="egi::virtual::10282" label="kzvo.isragrid.org.il" claim="true">
+						<param name="enrollmentUrl">https://ngi-il-voms3.isragrid.org.il:8443/voms/isravo.isragrid.org.il/</param>
+						<param name="homepageUrl">https://www.isragrid.org.il/</param>
+					</concept>
+					<concept id="egi::virtual::10271" label="neurogrid.incf.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/neurogrid.incf.org/</param>
+						<param name="homepageUrl">http://www.incf.org</param>
+					</concept>
+					<concept id="egi::virtual::150" label="gaussian" claim="true">
+						<param name="enrollmentUrl">https://voms.cyf-kr.edu.pl:8443/voms/gaussian</param>
+						<param name="homepageUrl">http://egee.grid.cyfronet.pl/gaussian</param>
+					</concept>
+					<concept id="egi::virtual::62" label="pheno" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/pheno/user/create!input.action</param>
+						<param name="homepageUrl">http://www.phenogrid.dur.ac.uk/</param>
+					</concept>
+					<concept id="egi::virtual::39" label="hermes" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/hermes</param>
+						<param name="homepageUrl">http://www-hermes.desy.de</param>
+					</concept>
+					<concept id="egi::virtual::10256" label="mice" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/mice/register/start.action</param>
+						<param name="homepageUrl">http://www.mice.iit.edu/</param>
+					</concept>
+					<concept id="egi::virtual::77" label="vo.lal.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.lal.in2p3.fr/</param>
+						<param name="homepageUrl">http://www.lal.in2p3.fr/</param>
+					</concept>
+					<concept id="egi::virtual::15" label="magic" claim="true">
+						<param name="enrollmentUrl">https://voms01.pic.es:8443/voms/magic/register/start.action</param>
+						<param name="homepageUrl">http://magic.mppmu.mpg.de</param>
+						<param name="suggestedAcknowledgment"> n/a (List of publications http://magic.mppmu.mpg.de/publications/articles/index.html) </param>
+					</concept>
+					<concept id="egi::virtual::1952" label="vo.neugrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.gnubila.fr:8443/voms/vo.neugrid.eu</param>
+						<param name="homepageUrl">http://neugrid.eu</param>
+					</concept>
+					<concept id="egi::virtual::1933" label="iber.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/iber.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::473" label="vo.scotgrid.ac.uk" claim="true">
+						<param name="enrollmentUrl">http://www.scotgrid.ac.uk/</param>
+						<param name="homepageUrl">http://www.scotgrid.ac.uk/</param>
+					</concept>
+					<concept id="egi::virtual::60" label="geant4" claim="true">
+						<param name="enrollmentUrl">https://lcg-voms.cern.ch:8443/vo/geant4/vomrs</param>
+						<param name="homepageUrl">http://geant4.web.cern.ch/geant4/</param>
+					</concept>
+					<concept id="egi::virtual::79" label="vo.ipno.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.ipno.in2p3.fr</param>
+						<param name="homepageUrl">http://ipnweb.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::76" label="apesci" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sinica.edu.tw:8443/voms/apesci/register/start.action</param>
+						<param name="homepageUrl">http://www.twgrid.org/aproc/services/vom/</param>
+					</concept>
+					<concept id="egi::virtual::14" label="compchem" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/compchem/</param>
+						<param name="homepageUrl">https://www3.compchem.unipg.it</param>
+					</concept>
+					<concept id="egi::virtual::68" label="ops" claim="true">
+						<param name="enrollmentUrl"> https://lcg-voms.cern.ch:8443/vo/ops/vomrs</param>
+						<param name="homepageUrl">https://wiki.egi.eu/wiki/OPS_vo</param>
+					</concept>
+					<concept id="egi::virtual::461" label="vo.agata.org" claim="true">
+						<param name="enrollmentUrl">https://www.agata.org/grid/avo</param>
+						<param name="homepageUrl">http://www.agata.org/grid/</param>
+					</concept>
+					<concept id="egi::virtual::10270" label="na62.vo.gridpp.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/na62.vo.gridpp.ac.uk/</param>
+						<param name="homepageUrl">http://na62.web.cern.ch/na62/</param>
+						<param name="suggestedAcknowledgment"> We acknowledge the use of Grid computing resources deployed and operated by (GridPP in the UK) or (the worldwide LHC computing Grid). </param>
+					</concept>
+					<concept id="egi::virtual::452" label="seegrid" claim="true">
+						<param name="enrollmentUrl">https://voms.irb.hr:8443/voms/seegrid/webui/request/user/create</param>
+						<param name="homepageUrl">http://www.see-grid.eu/</param>
+					</concept>
+					<concept id="egi::virtual::2552" label="snoplus.snolab.ca" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/snoplus.snolab.ca</param>
+						<param name="homepageUrl">http://snoplus.phy.queensu.ca/Home.html</param>
+					</concept>
+					<concept id="egi::virtual::497" label="vo.irfu.cea.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.irfu.cea.fr</param>
+						<param name="homepageUrl">http://irfu.cea.fr/</param>
+					</concept>
+					<concept id="egi::virtual::110" label="gridpp" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/gridpp</param>
+						<param name="homepageUrl">http://www.gridpp.ac.uk</param>
+					</concept>
+					<concept id="egi::virtual::10254" label="ukmhd.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/ukmhd.ac.uk/register/start.action</param>
+						<param name="homepageUrl">http://www.uksolphys.org/information/computing-resources/</param>
+					</concept>
+					<concept id="egi::virtual::830" label="euasia.euasiagrid.org" claim="true">
+						<param name="enrollmentUrl">http://aproc.twgrid.org/index.php?option=com_content&amp;task=view&amp;id=22&amp;Itemid=31</param>
+						<param name="homepageUrl">http://www.euasiagrid.org/</param>
+					</concept>
+					<concept id="egi::virtual::2392" label="vo.mure.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.mure.in2p3.fr</param> 
+						<param name="homepageUrl">http://lpsc.in2p3.fr/gpr/MURE/html/MURE/MURE.html</param>
+					</concept>
+					<concept id="egi::virtual::46" label="icecube" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/icecube/</param>
+						<param name="homepageUrl">http://www.icecube.wisc.edu/</param>
+						<param name="suggestedAcknowledgment"> They suggest to name in addtion to DFG (Deutsche Forschungsgemeinschaft) or NSF (National Science Foundation) also EGI resouces/help. </param>
+					</concept>
+					<concept id="egi::virtual::85" label="ghep" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/ghep/register/start.action</param>
+						<param name="homepageUrl">http://grid.desy.de/</param>
+					</concept>
+					<concept id="egi::virtual::19" label="pvier" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/pvier</param>
+						<param name="homepageUrl">http://poc.vl-e.nl/</param>
+					</concept>
+					<concept id="egi::virtual::10275" label="neiss.org.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/neiss.org.uk/admin/home.action</param>
+						<param name="homepageUrl">http://drupals.humanities.manchester.ac.uk/neiss3/</param>
+					</concept>
+					<concept id="egi::virtual::271" label="eumed" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/eumed</param>
+						<param name="homepageUrl">http://www.eumedgrid.eu</param>
+					</concept>
+					<concept id="egi::virtual::1730" label="moldyngrid" claim="true">
+						<param name="enrollmentUrl">http://moldyngrid.org</param>
+						<param name="homepageUrl">http://moldyngrid.org</param>
+					</concept>
+					<concept id="egi::virtual::10259" label="israelvo.isragrid.org.il" claim="true">
+						<param name="enrollmentUrl">https://ngi-il-voms1.isragrid.org.il:8443/voms/israel</param>
+						<param name="homepageUrl">http://www.isragrid.org.il</param>
+					</concept>
+					<concept id="egi::virtual::75" label="twgrid" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sinica.edu.tw:8443/voms/twgrid/register/start.action</param>
+						<param name="homepageUrl">http://www.twgrid.org/aproc/services/vom/</param>
+					</concept>
+					<concept id="egi::virtual::467" label="enmr.eu" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/enmr.eu/</param>
+						<param name="homepageUrl">http://www.wenmr.eu</param>
+						<param name="suggestedAcknowledgment">"The WeNMR project (European FP7 e-Infrastructure grant, contract no. 261572, www.wenmr.eu), supported by the European Grid Initiative (EGI) through the national GRID Initiatives of Belgium, France, Italy, Germany, the Netherlands (via the Dutch BiG Grid project), Portugal, Spain, UK, South Africa, Taiwan and the Latin America GRID infrastructure via the Gisela project is acknowledged for the use of web portals, computing and storage facilities." and the following article describing the WeNMR portals should be cited: Wassenaar et al. (2012). WeNMR: Structural Biology on the Grid.J. Grid. Comp., 10:743-767. (List of publications http://www.wenmr.eu/wenmr/publications-acknowledging-wenmr)</param>
+					</concept>
+					<concept id="egi::virtual::950" label="xfel.eu" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/xfel.eu</param>
+						<param name="homepageUrl">http://www.xfel.eu</param>
+					</concept>
+					<concept id="egi::virtual::2" label="alice" claim="true">
+						<param name="enrollmentUrl">http://alien2.cern.ch/index.php?option=com_content&amp;view=article&amp;id=17&amp;Itemid=90</param>
+						<param name="homepageUrl">http://aliceinfo.cern.ch</param>
+						<param name="suggestedAcknowledgment"> The ALICE collaboration gratefully acknowledges the resources and support provided by all Grid centres and the Worldwide LHC Computing Grid (WLCG) collaboration. </param>
+					</concept>
+					<concept id="egi::virtual::64" label="hungrid" claim="true">
+						<param name="enrollmentUrl">https://grid11.kfki.hu:8443/voms/hungrid</param>
+						<param name="homepageUrl">http://grid.kfki.hu/hungrid</param>
+					</concept>
+					<concept id="egi::virtual::105" label="euchina" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/euchina</param>
+						<param name="homepageUrl">http://www.euchinagrid.org/euchina_vo.html</param>
+					</concept>
+					<concept id="egi::virtual::1330" label="meteo.see-grid-sci.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/meteo.see-grid-sci.eu/register/start.action</param>
+						<param name="homepageUrl">http://wiki.egee-see.org/index.php/SG_Meteo_VO</param>
+					</concept>
+					<concept id="egi::virtual::1270" label="vlemed" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/vlemed</param>
+						<param name="homepageUrl">http://www.ebioscience.amc.nl/</param>
+					</concept>
+					<concept id="egi::virtual::482" label="vo.gear.cern.ch" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::2512" label="vo.aleph.cern.ch" claim="true">
+						<param name="enrollmentUrl">https://voms-admin.cern.ch:8443/voms/vo.aleph.cern.ch/</param>
+						<param name="homepageUrl">http://cern.ch/voaleph</param>
+					</concept>
+					<concept id="egi::virtual::1570" label="vo.complex-systems.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.auth.gr:8443/voms/vo.complex-systems.eu/register/start.action</param>
+						<param name="homepageUrl">http://wiki.grid.auth.gr/wiki/bin/view/ComplexityScienceSSC/VO</param>
+					</concept>
+					<concept id="egi::virtual::1" label="atlas" claim="true">
+						<param name="enrollmentUrl">https://lcg-voms.cern.ch:8443/vo/atlas/vomrs</param>
+						<param name="homepageUrl">https://www.racf.bnl.gov/docs/howto/grid/joinvo</param>
+						<param name="suggestedAcknowledgment">The crucial computing support from all WLCG partners is acknowledged gratefully, in particular from CERN and the ATLAS Tier-1 facilities at TRIUMF (Canada), NDGF (Denmark, Norway, Sweden), CCIN2P3 (France), KIT/GridKA (Germany), INFN-CNAF (Italy), NL-T1 (Netherlands), PIC (Spain), ASGC (Taiwan), RAL (UK) and BNL (USA) and in the Tier-2 facilities worldwide. </param>
+					</concept>
+					<concept id="egi::virtual::11" label="virgo" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/virgo</param>
+						<param name="homepageUrl">http://wwwcascina.virgo.infn.it/</param>
+					</concept>
+					<concept id="egi::virtual::47" label="enea" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/enea/</param>
+						<param name="homepageUrl">http://www.afs.enea.it/project/eneaegee/VOenea/</param>
+					</concept>
+					<concept id="egi::virtual::88" label="aegis" claim="true">
+						<param name="enrollmentUrl">https://voms.ipb.ac.rs:8443/voms/aegis/</param>
+						<param name="homepageUrl">http://www.aegis.rs/</param>
+					</concept>
+					<concept id="egi::virtual::8" label="cdf" claim="true">
+						<param name="enrollmentUrl">https://www.opensciencegrid.org/bin/view/VirtualOrganizations/VOInfo/FERMILAB</param>
+						<param name="homepageUrl">http://www-cdf.fnal.gov/</param>
+					</concept>
+					<concept id="egi::virtual::10276" label="epic.vo.gridpp.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/epic.vo.gridpp.ac.uk/admin/home.action</param>
+						<param name="homepageUrl">http://www.sruc.ac.uk/epic/</param>
+					</concept>
+					<concept id="egi::virtual::610" label="vo.southgrid.ac.uk" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/vo.southgrid.ac.uk/</param>
+						<param name="homepageUrl">http://www.southgrid.ac.uk/VO/</param>
+					</concept>
+					<concept id="egi::virtual::2173" label="life.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/life.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::1050" label="vo.general.csic.es" claim="true">
+						<param name="enrollmentUrl">https://voms.ific.uv.es:8443/voms/vo.general.csic.es</param>
+						<param name="homepageUrl">http://www.grid.csic.es/</param>
+					</concept>
+					<concept id="egi::virtual::1932" label="tut.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/tut.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::10255" label="vo.france-asia.org" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.france-asia.org/register/start.action</param>
+						<param name="homepageUrl">http://www.france-asia.org</param>
+					</concept>
+					<concept id="egi::virtual::1150" label="vo.up.pt" claim="true">
+						<param name="enrollmentUrl">https://voms.up.pt:8443/voms/vo.up.pt</param>
+						<param name="homepageUrl">http://voms.up.pt</param>
+					</concept>
+					<concept id="egi::virtual::1410" label="lattice.itep.ru" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl">http://www.lattice.itep.ru/</param>
+					</concept>
+					<concept id="egi::virtual::1891" label="belle2.org" claim="true">
+						<param name="enrollmentUrl">https://voms.cc.kek.jp:8443/voms/belle2.org</param>
+						<param name="homepageUrl">http://belle2.kek.jp/</param>
+					</concept>
+					<concept id="egi::virtual::61" label="auvergrid" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/auvergrid/register/start.action</param>
+						<param name="homepageUrl">http://www.auvergrid.fr/</param>
+					</concept>
+					<concept id="egi::virtual::71" label="fusion" claim="true">
+						<param name="enrollmentUrl">http://fusion.bifi.unizar.es/?page_id=122</param>
+						<param name="homepageUrl">http://fusion.bifi.unizar.es/</param>
+					</concept>
+					<concept id="egi::virtual::1810" label="vo.panda.gsi.de" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.panda.gsi.de</param>
+						<param name="homepageUrl">http://panda-wiki.gsi.de/cgi-bin/view/Computing/PandaGrid</param>
+					</concept>
+					<concept id="egi::virtual::2292" label="comput-er.it" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/comput-er.it/</param>
+						<param name="homepageUrl">http://www.comput-er.it/</param>
+					</concept>
+					<concept id="egi::virtual::503" label="nordugrid.org" claim="true">
+						<param name="enrollmentUrl">https://voms.ndgf.org:8443/voms/nordugrid.org</param>
+						<param name="homepageUrl">http://www.nordugrid.org/NorduGridVO</param>
+					</concept>
+					<concept id="egi::virtual::443" label="gridmosi.ici.ro" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.ici.ro:8443/voms/gridmosi.ici.ro/</param>
+						<param name="homepageUrl">http://www.gridmosi.ro</param>
+					</concept>
+					<concept id="egi::virtual::4" label="cms" claim="true">
+						<param name="enrollmentUrl">https://lcg-voms.cern.ch:8443/vo/cms/vomrs</param>
+						<param name="homepageUrl">http://cms.cern.ch/iCMS/</param>
+						<param name="suggestedAcknowledgment"> We thank the computing centres in the Worldwide LHC computing Grid for the provisioning and excellent performance of computing infrastructure essential to our analyses. </param>
+					</concept>
+					<concept id="egi::virtual::10263" label="icarus-exp.org" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/icarus-exp.org</param>
+						<param name="homepageUrl">http://icarus.lngs.infn.it</param>
+					</concept>
+					<concept id="egi::virtual::630" label="vo.renabi.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.renabi.fr</param>
+						<param name="homepageUrl">http://www.renabi.fr</param>
+					</concept>
+					<concept id="egi::virtual::1770" label="env.see-grid-sci.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ipp.acad.bg:8443/voms/env.see-grid-sci.eu/</param>
+						<param name="homepageUrl">http://wiki.egee-see.org/index.php/SG_Environmental_VO</param>
+					</concept>
+					<concept id="egi::virtual::437" label="vo.apc.univ-paris7.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.apc.univ-paris7.fr/register/start.action</param>
+						<param name="homepageUrl">http://www.apc.univ-paris7.fr/</param>
+					</concept>
+					<concept id="egi::virtual::82" label="calice" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/calice/register/start.action</param>
+						<param name="homepageUrl">https://twiki.cern.ch/twiki/bin/view/CALICE/</param>
+						<param name="suggestedAcknowledgment">The support on the computing elements (CE) from all the worldwide GRID, and the support on the storage elements (SE), in particular Germany DESY GRID SE and France Lyon SE, are acknowledged gratefully. (List of publications https://twiki.cern.ch/twiki/bin/view/CALICE/CalicePapers)</param>
+					</concept>
+					<concept id="egi::virtual::2072" label="vo.metacentrum.cz" claim="true">
+						<param name="enrollmentUrl">http://metavo.metacentrum.cz/en/application/index.html</param>
+						<param name="homepageUrl">http://vo.metacentrum.cz/</param>
+						<param name="suggestedAcknowledgment">The access to computing and storage facilities owned by parties and projects contributing to the National Grid Infrastructure MetaCentrum, provided under the programme "Projects of Large Infrastructure for Research, Development, and Innovations" (LM2010005) is highly appreciated/acknowledged.</param>
+					</concept>
+					<concept id="egi::virtual::391" label="vo.llr.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.llr.in2p3.fr</param>
+						<param name="homepageUrl">http://polywww.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::10269" label="vo.ingv.it" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/vo.ingv.it/</param>
+						<param name="homepageUrl">http://vo.ingv.it</param>
+					</concept>
+					<concept id="egi::virtual::1790" label="ams02.cern.ch" claim="true">
+						<param name="enrollmentUrl">http://ams.cern.ch</param>
+						<param name="homepageUrl">http://ams.cern.ch</param>
+					</concept>
+					<concept id="egi::virtual::84" label="dech" claim="true">
+						<param name="enrollmentUrl">https://glite-io.scai.fraunhofer.de:8443/voms/dech/</param>
+						<param name="homepageUrl">https://twiki.cern.ch/twiki/bin/view/EGEE/DECHFirstJobs</param>
+					</concept>
+					<concept id="egi::virtual::93" label="trgrida" claim="true">
+						<param name="enrollmentUrl">https://voms.ulakbim.gov.tr:8443/voms/trgrida/</param>
+						<param name="homepageUrl">https://voms.ulakbim.gov.tr:8443/voms/trgrida/</param>
+					</concept>
+					<concept id="egi::virtual::2272" label="envirogrids.vo.eu-egee.org" claim="true">
+						<param name="enrollmentUrl">https://lcg-voms.cern.ch:8443/vo/envirogrids.vo.eu-egee.org/vomrs</param>
+						<param name="homepageUrl">http://www.envirogrids.net/</param>
+					</concept>
+					<concept id="egi::virtual::16" label="dteam" claim="true">
+						<param name="enrollmentUrl">https://voms.hellasgrid.gr:8443/voms/dteam</param>
+						<param name="homepageUrl">http://wiki.egi.eu/wiki/Dteam_vo</param>
+					</concept>
+					<concept id="egi::virtual::92" label="cesga" claim="true">
+						<param name="enrollmentUrl">https://voms.egi.cesga.es:8443/voms/cesga/admin/home.action</param>
+						<param name="homepageUrl">http://www.egee.cesga.es/vo.html</param>
+					</concept>
+					<concept id="egi::virtual::446" label="imath.cesga.es" claim="true">
+						<param name="enrollmentUrl">i-math.cesga.es</param>
+						<param name="homepageUrl">i-math.cesga.es</param>
+					</concept>
+					<concept id="egi::virtual::65" label="uscms" claim="true">
+						<param name="enrollmentUrl"></param> 
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::108" label="pamela" claim="true">
+						<param name="enrollmentUrl">https://voms.cnaf.infn.it:8443/voms/pamela/register/start.action</param>
+						<param name="homepageUrl">http://pamela.roma2.infn.it</param>
+					</concept>
+					<concept id="egi::virtual::930" label="vo.formation.idgrilles.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.formation.idgrilles.fr</param>
+						<param name="homepageUrl">http://www.france-grilles.fr</param>
+					</concept>
+					<concept id="egi::virtual::790" label="vo.rhone-alpes.idgrilles.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.rhone-alpes.idgrilles.fr</param>
+						<param name="homepageUrl">http://www.tidra.org</param>
+					</concept>
+					<concept id="egi::virtual::730" label="vo.paus.pic.es" claim="true">
+						<param name="enrollmentUrl">https://voms.pic.es:8443/voms/vo.paus.pic.es</param>
+						<param name="homepageUrl">http://www.ice.csic.es/research/PAU/PAU-welcome.html</param>
+					</concept>
+					<concept id="egi::virtual::10274" label="fedcloud.egi.eu" claim="true">
+						<param name="enrollmentUrl">https://perun.metacentrum.cz/perun-registrar-cert/?vo=fedcloud.egi.eu</param>
+						<param name="homepageUrl">http://www.egi.eu/infrastructure/cloud/</param>
+					</concept>
+					<concept id="egi::virtual::1972" label="vo.lpta.in2p3.fr" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::590" label="d4science.research-infrastructures.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.research-infrastructures.eu:8443/voms/d4science.research-infrastructures.eu/</param>
+						<param name="homepageUrl">http://www.d4science.org</param>
+					</concept>
+					<concept id="egi::virtual::10278" label="isravo.isragrid.org.il" claim="true">
+						<param name="enrollmentUrl">https://ngi-il-voms3.isragrid.org.il:8443/voms/isravo.isragrid.org.il/</param>
+						<param name="homepageUrl">http://www.isragrid.org.il</param>
+					</concept>
+					<concept id="egi::virtual::491" label="cppm" claim="true">
+						<param name="enrollmentUrl">https://marvoms.in2p3.fr:8443/voms/cppm/</param>
+						<param name="homepageUrl">http://marwww.in2p3.fr</param>
+					</concept>
+					<concept id="egi::virtual::440" label="astro.vo.eu-egee.org" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/astro.vo.eu-egee.org/register</param>
+						<param name="homepageUrl">https://grid12.lal.in2p3.fr:8443/voms/astro.vo.eu-egee.org/</param>
+					</concept>
+					<concept id="egi::virtual::10288" label="km3net.org" claim="true">
+						<param name="enrollmentUrl">https://voms02.scope.unina.it:8443/voms/km3net.org/</param>
+						<param name="homepageUrl">http://www.km3net.org/home.php</param>
+					</concept>
+					<concept id="egi::virtual::10266" label="ipv6.hepix.org" claim="true">
+						<param name="enrollmentUrl">https://voms2.cnaf.infn.it:8443/voms/ipv6.hepix.org/admin/home.action</param>
+						<param name="homepageUrl">https://voms2.cnaf.infn.it:8443/voms/ipv6.hepix.org/admin/home.action</param>
+					</concept>
+					<concept id="egi::virtual::1690" label="atlas.ac.il" claim="true">
+						<param name="enrollmentUrl">https://voms.hep.tau.ac.il:8443/voms/atlas.ac.il/</param>
+						<param name="homepageUrl">https://voms.hep.tau.ac.il:8443/voms/atlas.ac.il/</param>
+						<param name="suggestedAcknowledgment"> The crucial computing support from all WLCG partners is acknowledged gratefully, in particular from CERN and the ATLAS Tier-1 facilities at TRIUMF (Canada), NDGF (Denmark, Norway, Sweden), CCIN2P3 (France), KIT/GridKA (Germany), INFN-CNAF (Italy), NL-T1 (Netherlands), PIC (Spain), ASGC (Taiwan), RAL (UK) and BNL (USA) and in the Tier-2 facilities worldwide" </param>  
+					</concept>
+					<concept id="egi::virtual::1170" label="vo.ipnl.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">http://www.ipnl.in2p3.fr/spip.php?article302&amp;lang=fr</param>
+						<param name="homepageUrl">http://www.ipnl.in2p3.fr/spip.php?article302&amp;lang=fr</param>
+					</concept>
+					<concept id="egi::virtual::2012" label="bing.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/bing.vo.ibergrid.eu/admin/home.action</param>
+						<param name="homepageUrl">http://www.brainimaging.pt</param>
+					</concept>
+					<concept id="egi::virtual::488" label="vo.lapp.in2p3.fr" claim="true">
+						<param name="enrollmentUrl">https://cclcgvomsli01.in2p3.fr:8443/voms/vo.lapp.in2p3.fr</param>
+						<param name="homepageUrl">http://lapp.in2p3.fr/spip.php?rubrique80</param>
+					</concept>
+					<concept id="egi::virtual::66" label="swetest" claim="true">
+						<param name="enrollmentUrl">https://swevo.ific.uv.es:8443/voms/swetest/register/start.action</param>
+						<param name="homepageUrl">http://swevo.ific.uv.es/vo/swetest/vo-swetest.html</param>
+					</concept>
+					<concept id="egi::virtual::1870" label="vo.mcia.fr" claim="true">
+						<param name="enrollmentUrl">https://grid12.lal.in2p3.fr:8443/voms/vo.mcia.fr</param>
+						<param name="homepageUrl">http://www.mcia.univ-bordeaux.fr/</param>
+					</concept>
+					<concept id="egi::virtual::1892" label="cometa" claim="true">
+						<param name="enrollmentUrl">http://www.consorzio-cometa.it/en/accesso</param>
+						<param name="homepageUrl">http://www.consorzio-cometa.it/</param>
+					</concept>
+					<concept id="egi::virtual::91" label="edteam" claim="true">
+						<param name="enrollmentUrl">https://voms.lip.pt:8443/voms/edteam/webui/request/user/create</param>
+						<param name="homepageUrl">http://www.eu-eela.org/</param>
+					</concept>
+					<concept id="egi::virtual::10272" label="verce.eu" claim="true">
+						<param name="enrollmentUrl">https://verce-voms.scai.fraunhofer.de:8443/voms/verce.eu/</param>
+						<param name="homepageUrl">http://www.verce.eu</param>
+					</concept>
+					<concept id="egi::virtual::251" label="lofar" claim="true">
+						<param name="enrollmentUrl">https://voms.grid.sara.nl:8443/voms/lofar/register/start.action</param>
+						<param name="homepageUrl">http://www.lofar.org</param>
+					</concept>
+					<concept id="egi::virtual::458" label="vo.plgrid.pl" claim="true">
+						<param name="enrollmentUrl">https://portal.plgrid.pl</param>
+						<param name="homepageUrl">http://www.plgrid.pl/en</param>
+					</concept>
+					<concept id="egi::virtual::10261" label="vo.landslides.mossaic.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/vo.landslides.mossaic.org/register/start.action</param>
+						<param name="homepageUrl">http://mossaic.org/</param>
+					</concept>
+					<concept id="egi::virtual::10" label="dzero" claim="true">
+						<param name="enrollmentUrl">https://voms.fnal.gov:8443/voms/dzero/register/start.action</param>
+						<param name="homepageUrl">http://www-d0.fnal.gov/</param>
+					</concept>
+					<concept id="egi::virtual::1390" label="lsgrid" claim="true">
+						<param name="enrollmentUrl"> https://voms.grid.sara.nl:8443/voms/lsgrid</param>
+						<param name="homepageUrl">http://www.sara.nl/project/life-science-grid</param>
+					</concept>
+					<concept id="egi::virtual::10286" label="cernatschool.org" claim="true">
+						<param name="enrollmentUrl">https://www.gridpp.ac.uk/wiki/CERN%40school#Enrollment</param>
+						<param name="homepageUrl">http://cernatschool.web.cern.ch/content/cernschool-vo</param>
+					</concept>
+					<concept id="egi::virtual::17" label="ukqcd" claim="true">
+						<param name="enrollmentUrl">https://grid-voms.desy.de:8443/voms/ildg/</param>
+						<param name="homepageUrl">http://ukqcd.ac.uk/</param>
+					</concept>
+					<concept id="egi::virtual::1310" label="vo.helio-vo.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/vo.helio-vo.eu</param>
+						<param name="homepageUrl">http://www.helio-vo.eu/</param>
+					</concept>
+					<concept id="egi::virtual::870" label="fkppl.kisti.re.kr" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::2132" label="vo.ifisc.csic.es" claim="true">
+						<param name="enrollmentUrl">https://voms.ific.uv.es:8443/voms/vo.ifisc.csic.es</param>
+						<param name="homepageUrl">https://voms.ific.uv.es:8443/voms/vo.ifisc.csic.es</param>
+					</concept>
+					<concept id="egi::virtual::10277" label="vo.dch-rp.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ct.infn.it:8443/voms/vo.dch-rp.eu</param>
+						<param name="homepageUrl">http://www.dch-rp.eu/</param>
+					</concept>
+					<concept id="egi::virtual::10253" label="dream.hipcat.net" claim="true">
+						<param name="enrollmentUrl">https://voms.hpcc.ttu.edu:8443/voms/dream/user/home.action</param>
+						<param name="homepageUrl">http://highenergy.phys.ttu.edu/dream/</param>
+						<param name="suggestedAcknowledgment"> n/a (list of publications: http://highenergy.phys.ttu.edu/dream/results/publications/publications.html) </param>
+					</concept>
+					<concept id="egi::virtual::102" label="nw_ru" claim="true">
+						<param name="enrollmentUrl"> https://gt1.pnpi.nw.ru:8443/voms/nw_ru/</param>
+						<param name="homepageUrl">http://egee.pnpi.nw.ru</param>
+					</concept>
+					<concept id="egi::virtual::2175" label="social.vo.ibergrid.eu" claim="true">
+						<param name="enrollmentUrl">https://voms01.ncg.ingrid.pt:8443/voms/social.vo.ibergrid.eu/register/start.action</param>
+						<param name="homepageUrl">http://ibergrid.lip.pt/USP</param>
+					</concept>
+					<concept id="egi::virtual::10281" label="lsst" claim="true">
+						<param name="enrollmentUrl">https://voms.fnal.gov:8443/voms/lsst</param>
+						<param name="homepageUrl">http://www.lsst.org/lsst/</param>
+					</concept>
+					<concept id="egi::virtual::57" label="voce" claim="true">
+						<param name="enrollmentUrl">https://voce-register.farm.particle.cz/voce/</param>
+						<param name="homepageUrl">http://egee.cesnet.cz/en/voce/</param>
+					</concept>
+					<concept id="egi::virtual::12" label="vo.sixt.cern.ch" claim="true">
+						<param name="enrollmentUrl">http://sixtrack.web.cern.ch/SixTrack/</param>
+						<param name="homepageUrl">http://sixtrack.web.cern.ch/SixTrack/</param>
+					</concept>
+					<concept id="egi::virtual::2112" label="seismo.see-grid-sci.eu" claim="true">
+						<param name="enrollmentUrl">https://voms.ulakbim.gov.tr:8443/voms/seismo.see-grid-sci.eu/register/start.action</param>
+						<param name="homepageUrl">http://wiki.egee-see.org/index.php/SG_Seismology_VO</param>
+					</concept>
+					<concept id="egi::virtual::1890" label="vo.cs.br" claim="true">
+						<param name="enrollmentUrl"></param>
+						<param name="homepageUrl"></param>
+					</concept>
+					<concept id="egi::virtual::1530" label="t2k.org" claim="true">
+						<param name="enrollmentUrl">https://voms.gridpp.ac.uk:8443/voms/t2k.org/register/start.action</param>
+						<param name="homepageUrl">http://www.t2k.org</param>
+						<param name="suggestedAcknowledgment"> n/a (list of publications: http://t2k-experiment.org/publications/) </param>
+					</concept>
+					<concept id="egi::virtual::10264" label="net.egi.eu" claim="true">
+						<param name="enrollmentUrl">https://vomsmania.cnaf.infn.it:8443/voms/net.egi.eu/</param>
+						<param name="homepageUrl">http://net.egi.eu</param>
+					</concept>
+				</category>
+			</context>
+		</CONFIGURATION>
+		<STATUS />            
+		<SECURITY_PARAMETERS/>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/AuthorshipRelations.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/AuthorshipRelations.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/AuthorshipRelations.proto	(revision 51225)
@@ -0,0 +1,13 @@
+package eu.dnetlib.data.proto;
+
+import "DngfParent.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "AuthorshipRelations";
+
+
+extend DNGFRel {
+    optional string ranking = 102;
+}
+
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/FieldType.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/FieldType.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/FieldType.proto	(revision 51225)
@@ -0,0 +1,128 @@
+package eu.dnetlib.data.proto;
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "FieldTypeProtos";
+
+message StringField {
+
+ 	required string value = 1;
+	optional DataInfo dataInfo = 2;
+}
+
+message BoolField {
+
+ 	required bool value = 1;
+	optional DataInfo dataInfo = 2;
+}
+
+message IntField {
+
+ 	required int32 value = 1;
+	optional DataInfo dataInfo = 2;
+}
+
+message StructuredProperty {
+
+	required string value = 1;
+	optional Qualifier qualifier = 2;
+	optional DataInfo dataInfo = 3;
+}
+
+// Generic container for identified values, e.g:
+//   <oaf:hostedBy name="Publications at Bielefeld University" id="opendoar::2294"/>
+//   <oaf:collectedFrom name="Publications at Bielefeld University" id="opendoar::2294"/>
+message KeyValue {
+
+	extensions 10 to 19;
+
+	required string key = 1;
+	optional string value = 2;
+	
+	optional DataInfo dataInfo = 3;
+}
+
+message Qualifier {
+
+	optional string classid = 1;
+	optional string classname = 2;
+	optional string schemeid = 3;
+	optional string schemename = 4;
+	
+	optional DataInfo dataInfo = 5;
+}
+
+message DataInfo {
+
+	optional bool inferred = 1;
+	optional bool deletedbyinference = 2;
+	optional string trust = 3;
+	optional string inferenceprovenance = 4;
+
+	required Qualifier provenanceaction = 5;
+}
+
+message OAIProvenance {
+
+	optional OriginDescription originDescription = 1;
+
+	message OriginDescription {
+		
+		optional string harvestDate = 1;
+		optional bool altered = 2 [default = true];
+		
+		optional string baseURL = 3;
+		optional string identifier = 4;
+		optional string datestamp = 5;
+		optional string metadataNamespace = 6;
+		
+		optional OriginDescription originDescription = 7;		
+	}
+}
+
+message Journal {
+	optional string name = 1;
+	optional string issnPrinted = 2;
+	optional string issnOnline = 3;
+	optional string issnLinking = 4;
+
+	optional DataInfo dataInfo = 5;
+}
+
+message ExtraInfo {
+
+	required string name = 1;
+	required string typology = 2;
+	required string provenance = 3;
+	optional string trust = 4;
+	
+	// json containing a Citation or Statistics
+	optional string value = 5;
+
+}
+
+// <concept id="egi::vo::alice" />
+message Context {
+	required string id = 1;
+	optional DataInfo dataInfo = 2;
+}
+
+message Instance {
+
+	optional Qualifier licence = 3;
+	optional Qualifier instancetype = 4;
+
+	optional KeyValue hostedby = 5;
+	repeated string url = 9;
+}
+
+message ExternalReference {
+
+	optional string sitename = 1;		// source
+	optional string label = 2;			// title
+	optional string url = 3;			// text()
+	optional string description = 4;	// ?? not mapped yet ??
+	optional Qualifier qualifier = 5;	// type
+	optional string refidentifier = 6;	// site internal identifier
+	optional string query = 7;			// maps the oaf:reference/@query attribute
+	optional DataInfo dataInfo = 8;		// ExternalReferences might be also inferred
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasourceorganization_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasourceorganization_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/datasourceorganization_2_hbase.xml	(revision 51225)
@@ -0,0 +1,59 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="760183e7-a5d4-4827-9218-3d49ff9fcbd1_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_datasourceOrganization2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="datasourceId" select="dnet:oafSplitId('datasource', //FIELD[@name = 'datasource'])"/>
+		<xsl:variable name="organizationId" select="dnet:oafSplitId('organization', //FIELD[@name = 'organization'])"/>
+
+		<ROWS>
+			<xsl:if test="string-length($datasourceId) &gt; 0 and string-length($organizationId) &gt; 0">
+				final String source,
+				final String target,
+				final NodeList nodeList,
+				final String relClass,
+				final String relScheme
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($datasourceId, $organizationId, //FIELD[not(@isNull)], 'provides', 'datasource_organization')"/>
+					</xsl:attribute>
+				</ROW>
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($organizationId, $datasourceId, //FIELD[not(@isNull)], 'isProvidedBy', 'datasource_organization')"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/project_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/project_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/project_2_hbase.xml	(revision 51225)
@@ -0,0 +1,54 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="5fccd61e-e6e5-4912-b849-54bc84b69a83_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_projects2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="originalid" select="//FIELD[@name = 'projectid']"/>
+		<xsl:variable name="projectid" select="dnet:oafSplitId('project', $originalid)"/>
+		<xsl:variable name="dateofcollection" select="//FIELD[@name = 'dateofcollection']"/>
+		<xsl:variable name="dateoftransformation" select="//FIELD[@name = 'dateoftransformation']"/>
+		<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //FIELD[@name = 'collectedfromid'])"/>
+		<xsl:variable name="collectedfromname" select="//FIELD[@name = 'collectedfromname']"/>
+
+		<ROWS>
+			<xsl:if test="string-length($projectid) &gt; 0">
+				<ROW>
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:oafEntity($projectid, $collectedfromid, $collectedfromname,
+						$originalid, $dateofcollection, $dateoftransformation, //FIELD[not(@isNull)])"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/pmf2hbase.xml	(revision 51225)
@@ -0,0 +1,173 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="43108eba-4b67-4d7a-8928-55ca09f1c8ff_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="pmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="dngf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_pmf2hbase</TITLE>
+				<CODE>
+					<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+					                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dc="http://purl.org/dc/elements/1.1/"
+					                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+					                xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
+					                xmlns:exslt="http://exslt.org/common"
+					                version="1.0" extension-element-prefixes="exslt"
+					                exclude-result-prefixes="xsl oaf dr dri dnet exslt">
+
+						<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+						<xsl:param name="writeCoAuthors" select="false()"/>
+
+						<xsl:template match="/*">
+							<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
+							<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
+							<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
+
+							<xsl:variable name="trust" select="string('0.9')"/>
+							<xsl:variable name="provenance" select="string('sysimport:crosswalk:repository')"/>
+
+							<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
+							<xsl:variable name="namespaceprefix">
+								<xsl:choose>
+
+									<!-- TODO check namespaceprefix length is 12 -->
+									<xsl:when test="string-length(//oaf:datasourceprefix) &gt; 0">
+										<xsl:value-of select="//oaf:datasourceprefix"/>
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="unknown_"/>
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+
+							<xsl:choose>
+								<!-- 			<xsl:when test="count($metadata) = 0 or string-length($namespaceprefix) = 0"> -->
+								<xsl:when test="count($metadata) = 0">
+									<ROWS/>
+								</xsl:when>
+								<xsl:otherwise>
+
+									<xsl:variable name="objIdentifier" select="//dri:objIdentifier"/>
+									<xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', //dri:objIdentifier)"/>
+
+									<xsl:if test="string-length($publicationId) &gt; 0">
+
+										<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
+										<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
+
+										<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
+										<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
+
+										<xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']"/>
+										<xsl:variable name="originalid">
+											<xsl:choose>
+												<xsl:when test="contains($originalidTest, '::')">
+													<xsl:value-of select="substring-after($originalidTest, '::')"/>
+												</xsl:when>
+												<xsl:otherwise>
+													<xsl:value-of select="$originalidTest"/>
+												</xsl:otherwise>
+											</xsl:choose>
+										</xsl:variable>
+
+										<ROWS>
+											<ROW>
+												<xsl:attribute name="value"><xsl:value-of select="dnet:oafPublication($publicationId, $provenance, $trust, $about, $hostedbyid, $hostedbyname, $collectedfromid,
+										              $collectedfromname, $originalid, $dateofcollection, $dateoftransformation, $metadata)"/></xsl:attribute>
+											</ROW>
+
+											<xsl:for-each select="//*[local-name()='projectid']">
+
+												<xsl:variable name="projectId" select="dnet:oafSplitId('project', normalize-space(.))"/>
+
+												<xsl:if test="string-length($projectId) &gt; 0">
+													<ROW>
+														<xsl:attribute name="value">
+															<xsl:value-of select="dnet:rel($publicationId, $projectId, 'isProducedBy', 'publication_project', $provenance, $trust, $about)"/>
+														</xsl:attribute>
+													</ROW>
+													<ROW>
+														<xsl:attribute name="value">
+															<xsl:value-of select="dnet:rel($projectId, $publicationId, 'produces', 'publication_project', $provenance, $trust, $about)"/>
+														</xsl:attribute>
+													</ROW>
+												</xsl:if>
+											</xsl:for-each>
+
+											<xsl:for-each select="//*[local-name()='relatedDataset']">
+
+												<!-- relatedDataset ids must be in the openaire format  -->
+												<xsl:variable name="datasetId" select="dnet:oafSimpleId('dataset', normalize-space(./@id))"/>
+
+												<xsl:if test="string-length($datasetId) &gt; 0">
+													<ROW>
+														<xsl:attribute name="value">
+															<xsl:value-of select="dnet:rel($publicationId, $datasetId, 'isRelatedTo', 'publication_dataset', $provenance, $trust, $about)"/>
+														</xsl:attribute>
+													</ROW>
+													<ROW>
+														<xsl:attribute name="value">
+															<xsl:value-of select="dnet:rel($datasetId, $publicationId, 'isRelatedTo', 'publication_dataset', $provenance, $trust, $about)"/>
+														</xsl:attribute>
+													</ROW>
+												</xsl:if>
+											</xsl:for-each>
+
+											<xsl:for-each select="//*[local-name()='creator']">
+
+												<xsl:if test="string-length(normalize-space(.)) &gt; 0">
+													<xsl:variable name="originalPersonId">
+														<xsl:choose>
+															<xsl:when test="string-length(@nameIdentifier) &gt; 0">
+																<xsl:value-of select="normalize-space(@nameIdentifier)"/>
+															</xsl:when>
+															<xsl:otherwise>
+																<xsl:value-of select="concat($originalid, '::', normalize-space(.))"/>
+															</xsl:otherwise>
+														</xsl:choose>
+													</xsl:variable>
+
+													<xsl:variable name="personId" select="dnet:oafId('person', $namespaceprefix, $originalPersonId)"/>
+													<xsl:variable name="position" select="position()"/>
+
+													<xsl:if test="string-length($personId) &gt; 0">
+														<ROW>
+															<xsl:attribute name="value">
+																<xsl:value-of select="dnet:person($personId, $about, $provenance, $trust, $collectedfromid, $collectedfromname,
+								                                    $originalPersonId, $dateofcollection, $dateoftransformation, normalize-space(.), @nameIdentifier, @nameIdentifierScheme)"/>
+															</xsl:attribute>
+														</ROW>
+														<ROW>
+															<xsl:attribute name="value">
+																<xsl:value-of select="dnet:authorship($personId, $publicationId, $position, 'isAuthorOf', 'person_publication', $provenance, $trust, $about)"/>
+															</xsl:attribute>
+														</ROW>
+														<ROW>
+															<xsl:attribute name="value">
+																<xsl:value-of select="dnet:authorship($publicationId, $personId, $position, 'hasAuthor', 'person_publication', $provenance, $trust, $about)"/>
+															</xsl:attribute>
+														</ROW>
+													</xsl:if>
+												</xsl:if>
+											</xsl:for-each>
+										</ROWS>
+									</xsl:if>
+								</xsl:otherwise>
+							</xsl:choose>
+						</xsl:template>
+					</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/similarity_2_hbase.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/similarity_2_hbase.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/similarity_2_hbase.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a9e72b6b-c047-410d-885b-636c3390e9ef_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+		<RESOURCE_KIND value="TransformationRuleDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="dbmf" layout="store" interpretation="cleaned"/>
+			<SINK_METADATA_FORMAT name="oaf_hbase"/>
+			<IMPORTED/>
+			<SCRIPT>
+				<TITLE>xslt_mapping_similarity2hbase</TITLE>
+				<CODE>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
+                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.DbmfToHbaseXsltFunctions"
+                version="1.0">
+
+	<xsl:output omit-xml-declaration="yes" indent="yes"/>
+
+	<xsl:template match="/">
+
+		<xsl:variable name="source" select="/SIMILARITY/SOURCE/@id"/>
+		<xsl:variable name="target" select="/SIMILARITY/TARGET/@id"/>
+		<xsl:variable name="type" select="/SIMILARITY/TYPE/@name"/>
+		<xsl:variable name="isSimilarTo" select="'isSimilarTo'"/>
+		<xsl:variable name="relationType">
+			<xsl:choose>
+				<xsl:when test="$type = 'result'">publication_publication</xsl:when>
+				<xsl:when test="$type = 'person'">person_person</xsl:when>
+				<xsl:when test="$type = 'organization'">organization_organization</xsl:when>
+			</xsl:choose>
+		</xsl:variable>
+		<ROWS>
+			<xsl:if test="string-length($source) &gt; 0 and string-length($target) &gt; 0 and string-length($relationType) &gt; 0">
+				<ROW >
+					<xsl:attribute name="value">
+						<xsl:value-of select="dnet:rel($source, $target, $isSimilarTo, $relationType)"/>
+					</xsl:attribute>
+				</ROW>
+			</xsl:if>
+		</ROWS>
+
+	</xsl:template>
+
+</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS/>
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/wos_rules.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/wos_rules.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/wos_rules.xml	(revision 51225)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5ac71ab7-a250-4d3d-9d5e-8e12d983ff4a_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-11-11T11:11:11+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>oaf_transformation_wos</TITLE>
+                <CODE><![CDATA[
+declare_script "oaf_transformation_wos";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+// +++ header section +++
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:recordIdentifier = xpath:"//csvRecord/column[@name='UT']";
+dri:dateOfCollection = xpath:"//dri:dateOfCollection";
+// dri:repositoryId
+oaf:datasourceprefix = "webcrawl____";
+// +++ metadata section +++
+dc:language = Convert(xpath:"//csvRecord/column[@name='LA']", Languages);
+dc:title = xpath:"//csvRecord/column[@name='TI']";
+%myTemplate = split(xpath:"//csvRecord/column[@name='AF']/text()", "dc:creator", ";");
+// dc:creator = xpath:"//csvRecord/column[@name='AF']/text()";
+$varIssn = xpath:"//csvRecord/column[@name='SN']";
+oaf:journal = set(xpath:"//csvRecord/column[@name='SO']", @issn = $varIssn;);
+dr:CobjCategory = Convert(xpath:"//csvRecord/column[@name='DT']", TextTypologies);
+// subjects must be ignored
+// dc:subject = xpath:"//csvRecord/column[@name='ID']";
+// abstract must be ignored
+// dc:description = xpath:"//csvRecord/column[@name='AB']";
+dc:publisher = xpath:"//csvRecord/column[@name='PU']";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::column[@name='PY']", DateISO8601, "yyyy-MM-dd", "min()");
+$varDoi = xpath:"concat('http://dx.doi.org/', normalize-space(//csvRecord/column[@name='DI']))";
+dc:identifier = $varDoi;
+if xpath:"//csvRecord/column[@name='OA'][text()='Y']" oaf:accessrights = "OPEN"; else oaf:accessrights = "CLOSED";
+oaf:identifier = set(xpath:"//csvRecord/column[@name='DI']", @identifierType = "doi";);
+oaf:hostedBy = set("''", @name="Unknown Repository";, @id="openaire____::1256f046-bf1f-4afc-8b47-d0b147148b18";);
+if xpath:"//csvRecord/column[@name='DI'][starts-with(., '10.')]" oaf:collectedFrom = set("''", @name="Crossref";, @id="openaire____::crossref";); else oaf:collectedFrom = set("''", @name="Web Crawl";, @id="openaire____::webcrawl";);
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Datasource.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Datasource.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Datasource.proto	(revision 51225)
@@ -0,0 +1,61 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "DatasourceProtos";
+
+message Datasource {
+
+	optional Metadata metadata = 2;
+
+	message Metadata {
+	
+		// common fields
+		optional Qualifier datasourcetype = 15;
+		optional Qualifier openairecompatibility = 17;
+
+		optional StringField officialname = 1;
+		optional StringField englishname = 2;
+		optional StringField websiteurl = 3;
+		optional StringField logourl = 4;
+		optional StringField contactemail = 5;
+		optional StringField namespaceprefix = 7;
+
+		optional StringField latitude = 18;
+		optional StringField longitude = 19;
+		optional StringField dateofvalidation = 20;
+		optional StringField description = 21;
+		
+		repeated StructuredProperty subjects = 45; 
+
+		// opendoar specific fields (od*)
+		optional StringField odnumberofitems = 9;
+		optional StringField odnumberofitemsdate = 10;
+		optional StringField odpolicies = 12;
+
+		repeated StringField odlanguages = 13;
+		repeated StringField odcontenttypes = 14;
+		repeated StringField accessinfopackage = 6;
+		
+		// re3data fields
+		optional StringField releasestartdate = 31; 
+		optional StringField releaseenddate = 32;
+		optional StringField missionstatementurl = 33;
+		optional BoolField dataprovider = 34;
+		optional BoolField serviceprovider = 35;
+		optional StringField databaseaccesstype = 36; // {open, restricted or closed} 
+ 		optional StringField datauploadtype = 37; // {open, restricted or closed} 
+ 		optional StringField databaseaccessrestriction = 38; // {feeRequired, registration, other} 
+ 		optional StringField datauploadrestriction = 39; // {feeRequired, registration, other} 
+ 		optional BoolField versioning = 40; 
+ 		optional StringField citationguidelineurl = 41; 
+ 		optional StringField qualitymanagementkind = 42; // {yes, no, uknown} 
+ 		optional StringField pidsystems = 43; 
+ 		optional StringField certificates = 44;		
+
+		repeated KeyValue policies = 46; 
+
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Publication.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Publication.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Publication.proto	(revision 51225)
@@ -0,0 +1,48 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+import "Person.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "PublicationProtos";
+
+message Publication {
+
+	optional Metadata metadata = 2;
+	
+	repeated Instance instance = 6;
+	
+	repeated ExternalReference externalReference = 7;
+
+	repeated Person author = 8;
+
+	message Metadata {
+
+		// resulttype allows subclassing results into publications or datasets
+		optional Qualifier resulttype = 8;
+
+		// common fields
+		optional Qualifier language = 12;
+		repeated Qualifier country = 33;
+
+		repeated StructuredProperty subject = 1;
+		repeated StructuredProperty title = 2;
+		repeated StructuredProperty relevantdate = 3;
+
+		repeated StringField description = 25;
+		optional StringField dateofacceptance = 4;
+		optional StringField publisher = 5;
+		optional StringField embargoenddate = 6;
+		repeated StringField source = 27;
+		repeated StringField fulltext = 29; // remove candidate
+		repeated StringField format = 21;
+		repeated StringField contributor = 30;
+
+		repeated Context context = 28;
+
+		// publication specific
+		optional Journal journal = 18;
+
+	}
+	
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Project.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Project.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Project.proto	(revision 51225)
@@ -0,0 +1,33 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "ProjectProtos";
+
+message Project {
+
+	optional Metadata metadata = 2;
+
+	message Metadata {
+
+		optional StringField websiteurl = 1;
+		optional StringField code = 2;
+		optional StringField acronym = 3;
+		optional StringField title = 4;
+		optional StringField startdate = 5;
+		optional StringField enddate = 6;
+		optional StringField callidentifier = 7;
+		optional StringField keywords = 8;
+		optional StringField duration = 9;
+		optional StringField ecsc39 = 10;
+		optional StringField oamandatepublications = 11;
+		optional StringField ecarticle29_3 = 12;
+		repeated StructuredProperty subjects = 14; 
+		
+		repeated StringField fundingtree = 15;
+
+		optional Qualifier contracttype = 13;
+	}
+	
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Kind.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Kind.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Kind.proto	(revision 51225)
@@ -0,0 +1,9 @@
+package eu.dnetlib.data.proto;
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "KindProtos";
+
+enum Kind {
+	entity = 1;
+	relation = 2;
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/FET-context.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/FET-context.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ContextDSResources/ContextDSResourceType/FET-context.xml	(revision 51225)
@@ -0,0 +1,1636 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+   <HEADER>
+      <RESOURCE_IDENTIFIER
+         value="1c2dedc3-4fac-4981-8b46-cb94adace4ee_Q29udGV4dERTUmVzb3VyY2VzL0NvbnRleHREU1Jlc291cmNlVHlwZQ=="/>
+      <RESOURCE_TYPE value="ContextDSResourceType"/>
+      <RESOURCE_KIND value="ContextDSResources"/>
+      <RESOURCE_URI value=""/>
+      <DATE_OF_CREATION value="2015-01-18T17:38:33+00:00"/>
+   </HEADER>
+   <BODY>
+      <CONFIGURATION>
+         <context type="community" id="fet-fp7" label="FET-FP7">
+            <category id="fet-fp7::open" label="FET Open" claim="false">
+               <param name="CD_DIVNAME">7.A.SP1.03.08</param>
+               <param name="CD_ABBR">ICT-2007.8.0</param>
+               <param name="CD_PARENT_DIVNAME">7.A.SP1.03</param>
+               <concept id="fet-fp7::open::450" label="Challenging current thinking"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.08</param>
+                  <param name="CD_ABBR">ICT-2009.8.0</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::open::450::245410" label="Mobility, Data Mining, and Privacy"
+                     claim="true">
+                     <param name="CD_PROJ_ID">245410</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">245410</param>
+                     <param name="CD_ACRONYM">MODAP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::249858"
+                     label="Emotional interaction grounded in realistic context" claim="true">
+                     <param name="CD_PROJ_ID">249858</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">249858</param>
+                     <param name="CD_ACRONYM">TANGO</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::249867"
+                     label="Optogenetic Neural stimulation platform" claim="true">
+                     <param name="CD_PROJ_ID">249867</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">249867</param>
+                     <param name="CD_ACRONYM">OPTONEURO</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::249958"
+                     label="The physics of Ion Coulomb Crystals: Thermodynamics, Quantum control,  and Quantum Simulators."
+                     claim="true">
+                     <param name="CD_PROJ_ID">249958</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">249958</param>
+                     <param name="CD_ACRONYM">PICC</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::250026"
+                     label="Social Interaction and Entrainment using Music PeRformance Experimentation"
+                     claim="true">
+                     <param name="CD_PROJ_ID">250026</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">250026</param>
+                     <param name="CD_ACRONYM">SIEMPRE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::250056"
+                     label="Terahertz room-temperature integrated parametric source" claim="true">
+                     <param name="CD_PROJ_ID">250056</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">250056</param>
+                     <param name="CD_ACRONYM">TREASURE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::250072" label="Integrated Quantum Sensors"
+                     claim="true">
+                     <param name="CD_PROJ_ID">250072</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">250072</param>
+                     <param name="CD_ACRONYM">ISENSE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255827" label="Computational Geometric Learning"
+                     claim="true">
+                     <param name="CD_PROJ_ID">255827</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255827</param>
+                     <param name="CD_ACRONYM">CG LEARNING</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255914"
+                     label="A Toolbox for Photon Orbital Angular Momentum Technology" claim="true">
+                     <param name="CD_PROJ_ID">255914</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255914</param>
+                     <param name="CD_ACRONYM">PHORBITECH</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255931"
+                     label="Uncertainty principles versus localization properties, function systems for efficient coding schemes"
+                     claim="true">
+                     <param name="CD_PROJ_ID">255931</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255931</param>
+                     <param name="CD_ACRONYM">UNLOCX</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255951"
+                     label="Using Local Inference in Massively Distributed Systems" claim="true">
+                     <param name="CD_PROJ_ID">255951</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255951</param>
+                     <param name="CD_ACRONYM">LIFT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255961" label="Quantum Computer Science" claim="true">
+                     <param name="CD_PROJ_ID">255961</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255961</param>
+                     <param name="CD_ACRONYM">QCS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::255987" label="Forecasting Financial Crises"
+                     claim="true">
+                     <param name="CD_PROJ_ID">255987</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">255987</param>
+                     <param name="CD_ACRONYM">FOC-II</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::256230" label="The Listening Talker" claim="true">
+                     <param name="CD_PROJ_ID">256230</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">256230</param>
+                     <param name="CD_ACRONYM">LISTA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::265578"
+                     label="enHanced Interference Alignment Techniques&#xA;for Unprecedented Spectral Efficiency"
+                     claim="true">
+                     <param name="CD_PROJ_ID">265578</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">265578</param>
+                     <param name="CD_ACRONYM">HIATUS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::265432"
+                     label="Enhance environmental awareness through social information technologies"
+                     claim="true">
+                     <param name="CD_PROJ_ID">265432</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">265432</param>
+                     <param name="CD_ACRONYM">EVERYAWARE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::265496"
+                     label="Statistical Mechanics Inspired Methods for Green Autonomous&#xA;Networking"
+                     claim="true">
+                     <param name="CD_PROJ_ID">265496</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">265496</param>
+                     <param name="CD_ACRONYM">STAMINA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::265505"
+                     label="Paving the Way for Future Emerging DNA-based Technologies: Computer-Aided Design and Manufacturing of DNA libraries"
+                     claim="true">
+                     <param name="CD_PROJ_ID">265505</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">265505</param>
+                     <param name="CD_ACRONYM">CADMAD</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::265522"
+                     label="Light-Matter interfaces in absence of cavities" claim="true">
+                     <param name="CD_PROJ_ID">265522</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">265522</param>
+                     <param name="CD_ACRONYM">MALICIA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::266722"
+                     label="Supermodeling by combining imperfect models" claim="true">
+                     <param name="CD_PROJ_ID">266722</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">266722</param>
+                     <param name="CD_ACRONYM">SUMO</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::266723" label="Global Systems Dynamics and Policy"
+                     claim="true">
+                     <param name="CD_PROJ_ID">266723</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">266723</param>
+                     <param name="CD_ACRONYM">GSDP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::268478"
+                     label="REVerse engineering of audio-VIsual coNtent Data" claim="true">
+                     <param name="CD_PROJ_ID">268478</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">268478</param>
+                     <param name="CD_ACRONYM">REWIND</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::270749"
+                     label="Strongly anisotropic Graphite-like semiconductor/dielectric 2D nanolattices"
+                     claim="true">
+                     <param name="CD_PROJ_ID">270749</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">270749</param>
+                     <param name="CD_ACRONYM">2D-NANOLATTICES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::270773"
+                     label="100 Gb/s Optical RAM on-chip:&#xA;Silicon-based, integrated Optical RAM enabling High-Speed Applications in Computing and Communications"
+                     claim="true">
+                     <param name="CD_PROJ_ID">270773</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">270773</param>
+                     <param name="CD_ACRONYM">RAMPLAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::270780"
+                     label="Incorporating Laughter into Human-Avatar Interactions: Research and Evaluation"
+                     claim="true">
+                     <param name="CD_PROJ_ID">270780</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">270780</param>
+                     <param name="CD_ACRONYM">ILHAIRE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::270833"
+                     label="Data Science for Simulating the Era of Electric Vehicles" claim="true">
+                     <param name="CD_PROJ_ID">270833</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">270833</param>
+                     <param name="CD_ACRONYM">DATA SIM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::270843"
+                     label="Integrated Quantum Information Technology" claim="true">
+                     <param name="CD_PROJ_ID">270843</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">270843</param>
+                     <param name="CD_ACRONYM">IQIT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::271554"
+                     label="Source of Electron Entanglement in Nano Devices" claim="true">
+                     <param name="CD_PROJ_ID">271554</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">271554</param>
+                     <param name="CD_ACRONYM">SE2ND</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::271574"
+                     label="The Innovation Society, Sustainability, and ICT" claim="true">
+                     <param name="CD_PROJ_ID">271574</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">271574</param>
+                     <param name="CD_ACRONYM">INSITE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::271578"
+                     label="Enhanced Technology for Open Intelligent Learning Environments"
+                     claim="true">
+                     <param name="CD_PROJ_ID">271578</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">271578</param>
+                     <param name="CD_ACRONYM">ETOILECASCADESIDEAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+                  <concept id="fet-fp7::open::450::286370"
+                     label="European Network for Social Intelligence" claim="true">
+                     <param name="CD_PROJ_ID">286370</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-C</param>
+                     <param name="CD_PROJECT_NUMBER">286370</param>
+                     <param name="CD_ACRONYM">SINTELNET</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.08</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::open::1252" label="FET-Open Xtrack" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.30.05</param>
+                  <param name="CD_ABBR">ICT-2013.9.5</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.30</param>
+                  <concept id="fet-fp7::open::1252::613024"
+                     label="GRAPHENE-BASED SINGLE-PHOTON NONLINEAR OPTICAL DEVICES" claim="true">
+                     <param name="CD_PROJ_ID">613024</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">613024</param>
+                     <param name="CD_ACRONYM">GRASP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::613044"
+                     label="Parallel computing based on designed networks explored by self-propelled, biological agents"
+                     claim="true">
+                     <param name="CD_PROJ_ID">613044</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">613044</param>
+                     <param name="CD_ACRONYM">ABACUS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::613055"
+                     label="GErmanium MId-infrared plasmoNIcs for sensing" claim="true">
+                     <param name="CD_PROJ_ID">613055</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">613055</param>
+                     <param name="CD_ACRONYM">GEMINI</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::612759" label="Insulator Spintronics" claim="true">
+                     <param name="CD_PROJ_ID">612759</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">612759</param>
+                     <param name="CD_ACRONYM">INSPIN</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::612862"
+                     label="Hybrid Architecture for quantum Information using Rydberg ensembles and Superconductors"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612862</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">612862</param>
+                     <param name="CD_ACRONYM">HAIRS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::612933" label="RECALL: Enhanced Human Memory"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612933</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">612933</param>
+                     <param name="CD_ACRONYM">RECALL</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::612944"
+                     label="Learning from Massive, Incompletely annotated, and Structured Data"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612944</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">612944</param>
+                     <param name="CD_ACRONYM">MAESTRA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+                  <concept id="fet-fp7::open::1252::612985"
+                     label="From Inherent Concurrency to Massive Parallelism through Type-based Optimizations"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612985</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-X</param>
+                     <param name="CD_PROJECT_NUMBER">612985</param>
+                     <param name="CD_ACRONYM">UPSCALE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.05</param>
+                  </concept>
+               </concept>
+            </category>
+            <category id="fet-fp7::flagship" label="FET Flagships" claim="false">
+               <param name="CD_ABBR">ICT-2013.9.9</param>
+               <param name="CD_PARENT_DIVNAME">7.A.SP1.03.30</param>
+               <concept id="fet-fp7::flagship::966" label="FET Flagship Initiative Preparatory Actions"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.05</param>
+                  <param name="CD_ABBR">ICT-2011.9.5</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::flagship::966::284558"
+                     label="Coordination Action for Graphene-Driven Revolutions in ICT and Beyond"
+                     claim="true">
+                     <param name="CD_PROJ_ID">284558</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">284558</param>
+                     <param name="CD_ACRONYM">GRAPHENE-CA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::284709"
+                     label="The FuturICT Knowledge Accelerator: Creating Socially Interactive Information Technologies for a Sustainable Future"
+                     claim="true">
+                     <param name="CD_PROJ_ID">284709</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">284709</param>
+                     <param name="CD_ACRONYM">FUTURICT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::284891"
+                     label="FET Flagship Support for European Excellence in Information Technology"
+                     claim="true">
+                     <param name="CD_PROJ_ID">284891</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">284891</param>
+                     <param name="CD_ACRONYM">FLEET</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::284941" label="Human Brain Project" claim="true">
+                     <param name="CD_PROJ_ID">284941</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">284941</param>
+                     <param name="CD_ACRONYM">HBP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::284951"
+                     label="Coordination Action for the design and description of the FET Flagship candidate Robot Companions for Citizens"
+                     claim="true">
+                     <param name="CD_PROJ_ID">284951</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">284951</param>
+                     <param name="CD_ACRONYM">CA-ROBOCOM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::285406"
+                     label="Guardian Angels for a Smarter Life" claim="true">
+                     <param name="CD_PROJ_ID">285406</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">285406</param>
+                     <param name="CD_ACRONYM">GUARDIAN ANGELS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::966::285609" label="IT Future of Medicine"
+                     claim="true">
+                     <param name="CD_PROJ_ID">285609</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">285609</param>
+                     <param name="CD_ACRONYM">ITFOM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.05</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::flagship::1256" label="FET Flagships" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.30.09</param>
+                  <param name="CD_ABBR">ICT-2013.9.9</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.30</param>
+                  <concept id="fet-fp7::flagship::1256::604102" label="The Human Brain Project"
+                     claim="true">
+                     <param name="CD_PROJ_ID">604102</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">604102</param>
+                     <param name="CD_ACRONYM">HBP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.09</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::1256::604391"
+                     label="Graphene-Based Revolutions in ICT And Beyond" claim="true">
+                     <param name="CD_PROJ_ID">604391</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-FET-F</param>
+                     <param name="CD_PROJECT_NUMBER">604391</param>
+                     <param name="CD_ACRONYM">GRAPHENE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.09</param>
+                  </concept>
+                  <concept id="fet-fp7::flagship::1256::619318" label="FET Flagship ERA-NET"
+                     claim="true">
+                     <param name="CD_PROJ_ID">619318</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-11</param>
+                     <param name="CD_PROJECT_NUMBER">619318</param>
+                     <param name="CD_ACRONYM">FLAG-ERA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.09</param>
+                  </concept>
+               </concept>
+            </category>
+            <category id="fet-fp7::proactive" label="FET Proactive" claim="false">
+               <concept id="fet-fp7::proactive::451"
+                  label="FET proactive 1: Concurrent Tera-device Computing" claim="false">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.09</param>
+                  <param name="CD_ABBR">ICT-2009.8.1</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::451::247846"
+                     label="European Reference Tiled Architecture Experiment" claim="true">
+                     <param name="CD_PROJ_ID">247846</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">247846</param>
+                     <param name="CD_ACRONYM">EURETILE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::451::248465"
+                     label="Service-oriented Operating Systems" claim="true">
+                     <param name="CD_PROJ_ID">248465</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248465</param>
+                     <param name="CD_ACRONYM">S(O)OS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::451::248789"
+                     label="TERASCALE RELIABLE ADAPTIVE MEMORY SYSTEMS" claim="true">
+                     <param name="CD_PROJ_ID">248789</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248789</param>
+                     <param name="CD_ACRONYM">TRAMS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::451::249013"
+                     label="Exploiting dataflow parallelism in Teradevice Computing" claim="true">
+                     <param name="CD_PROJ_ID">249013</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">249013</param>
+                     <param name="CD_ACRONYM">TERAFLUX</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.09</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::452"
+                  label="FET proactive 2: Quantum Information Foundations and Technologies"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.10</param>
+                  <param name="CD_ABBR">ICT-2009.8.2</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::452::248629"
+                     label="Solid State Systems for Quantum Information Processing" claim="true">
+                     <param name="CD_PROJ_ID">248629</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248629</param>
+                     <param name="CD_ACRONYM">SOLID</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::452::247687" label="Atomic QUantum TEchnologies"
+                     claim="true">
+                     <param name="CD_PROJ_ID">247687</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">247687</param>
+                     <param name="CD_ACRONYM">AQUTE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::452::248095"
+                     label="Quantum Interfaces, Sensors and Communication based on Entanglement"
+                     claim="true">
+                     <param name="CD_PROJ_ID">248095</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248095</param>
+                     <param name="CD_ACRONYM">Q-ESSENCE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.10</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::453"
+                  label="FET Proactive 3: Bio-chemistry-based Information Technology (CHEM-IT)"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.11</param>
+                  <param name="CD_ABBR">ICT-2009.8.3</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::453::248919"
+                     label="Bacterial Computing with Engineered Populations" claim="true">
+                     <param name="CD_PROJ_ID">248919</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248919</param>
+                     <param name="CD_ACRONYM">BACTOCOM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::453::248992"
+                     label="Artificial Wet Neuronal Networks from&#xA;Compartmentalised Excitable Chemical Media"
+                     claim="true">
+                     <param name="CD_PROJ_ID">248992</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">248992</param>
+                     <param name="CD_ACRONYM">NEUNEU</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::453::249032" label="Matrix for Chemical IT"
+                     claim="true">
+                     <param name="CD_PROJ_ID">249032</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-4</param>
+                     <param name="CD_PROJECT_NUMBER">249032</param>
+                     <param name="CD_ACRONYM">MATCHIT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.11</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::454" label="FET proactive 4: Human-Computer Confluence"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.12</param>
+                  <param name="CD_ABBR">ICT-2009.8.4</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::454::257695"
+                     label="Virtual Embodiment and Robotic Re-Embodiment" claim="true">
+                     <param name="CD_PROJ_ID">257695</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257695</param>
+                     <param name="CD_ACRONYM">VERE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.12</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::454::258749"
+                     label="The Collective Experience of Empathic Data Systems" claim="true">
+                     <param name="CD_PROJ_ID">258749</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">258749</param>
+                     <param name="CD_ACRONYM">CEEDS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.12</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::745"
+                  label="FET proactive 5: Self-Awareness in Autonomic Systems" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.13</param>
+                  <param name="CD_ABBR">ICT-2009.8.5</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::745::256873"
+                     label="Self-aware Pervasive Service Ecosystems" claim="true">
+                     <param name="CD_PROJ_ID">256873</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">256873</param>
+                     <param name="CD_ACRONYM">SAPERE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.13</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::745::257414"
+                     label="Autonomic Service-Component Ensembles" claim="true">
+                     <param name="CD_PROJ_ID">257414</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257414</param>
+                     <param name="CD_ACRONYM">ASCENS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.13</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::745::257756"
+                     label="Relevance and cognition for self-awareness in a content-centric Internet"
+                     claim="true">
+                     <param name="CD_PROJ_ID">257756</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257756</param>
+                     <param name="CD_ACRONYM">RECOGNITION</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.13</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::745::257906"
+                     label="Engineering Proprioception in Computing Systems" claim="true">
+                     <param name="CD_PROJ_ID">257906</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257906</param>
+                     <param name="CD_ACRONYM">EPICS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.13</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::746" label="FET Proactive 6: Towards Zero-Power ICT"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.14</param>
+                  <param name="CD_ABBR">ICT-2009.8.6</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::746::256959"
+                     label="Nanoscale energy management for powering ICT devices" claim="true">
+                     <param name="CD_PROJ_ID">256959</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">256959</param>
+                     <param name="CD_ACRONYM">NANOPOWER</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.14</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::746::257750"
+                     label="Generate Renewable Energy Efficiently using Nanofabricated Silicon"
+                     claim="true">
+                     <param name="CD_PROJ_ID">257750</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257750</param>
+                     <param name="CD_ACRONYM">GREEN SILICON</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.14</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::746::257856"
+                     label="Semiconducting Nanowire Platform for Autonomous Sensors" claim="true">
+                     <param name="CD_PROJ_ID">257856</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-5</param>
+                     <param name="CD_PROJECT_NUMBER">257856</param>
+                     <param name="CD_ACRONYM">SINAPS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.14</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::747"
+                  label="FET proactive 7: Molecular Scale Devices and Systems" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.15</param>
+                  <param name="CD_ABBR">ICT-2009.8.7</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::747::270028"
+                     label="Atomic Scale and single Molecule Logic gate Technologies" claim="true">
+                     <param name="CD_PROJ_ID">270028</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270028</param>
+                     <param name="CD_ACRONYM">ATMOL</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.15</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::747::270197"
+                     label="Diamond based atomic nanotechnologies" claim="true">
+                     <param name="CD_PROJ_ID">270197</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270197</param>
+                     <param name="CD_ACRONYM">DIAMANT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.15</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::747::270369"
+                     label="ELectric Field control Over Spin molecules" claim="true">
+                     <param name="CD_PROJ_ID">270369</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270369</param>
+                     <param name="CD_ACRONYM">ELFOS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.15</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::747::270483"
+                     label="Single Molecule Activation and Computing" claim="true">
+                     <param name="CD_PROJ_ID">270483</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270483</param>
+                     <param name="CD_ACRONYM">FOCUS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.15</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::748" label="FET proactive 8: Brain Inspired ICT" claim="false">
+                  <param name="CD_DIVNAME">7.A.SP1.03.08.16</param>
+                  <param name="CD_ABBR">ICT-2009.8.8</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.08</param>
+                  <concept id="fet-fp7::proactive::748::269459"
+                     label="Choreographing neural networks: coupling attractor dynamics and state-dependent computations across biomimetic brain interfaces with neuromorphic VLSI"
+                     claim="true">
+                     <param name="CD_PROJ_ID">269459</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">269459</param>
+                     <param name="CD_ACRONYM">CORONET</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.16</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::748::269921"
+                     label="Brain-inspired multiscale computation in neuromorphic hybrid systems"
+                     claim="true">
+                     <param name="CD_PROJ_ID">269921</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">269921</param>
+                     <param name="CD_ACRONYM">BRAINSCALES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.16</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::748::270324"
+                     label="Seeing Better with Hybrid BSI Spatio-Temporal Silicon Retina"
+                     claim="true">
+                     <param name="CD_PROJ_ID">270324</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270324</param>
+                     <param name="CD_ACRONYM">SEEBETTER</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.16</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::748::270434"
+                     label="Realistic Real-time Networks: computation dynamics in the cerebellum"
+                     claim="true">
+                     <param name="CD_PROJ_ID">270434</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2009-6</param>
+                     <param name="CD_PROJECT_NUMBER">270434</param>
+                     <param name="CD_ACRONYM">REALNET</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.08.16</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::967"
+                  label="Unconventional Computation (UCOMP)" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.06</param>
+                  <param name="CD_ABBR">ICT-2011.9.6</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::967::316366"
+                     label="Physarum Chip: Growing Computers from Slime Mould" claim="true">
+                     <param name="CD_PROJ_ID">316366</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">316366</param>
+                     <param name="CD_ACRONYM">PHYCHIP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::317662"
+                     label="NAnoSCale Engineering for Novel Computation using Evolution (NASCENCE)"
+                     claim="true">
+                     <param name="CD_PROJ_ID">317662</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317662</param>
+                     <param name="CD_ACRONYM">NASCENCE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::317707"
+                     label="MULTI-valued and parallel molecular logic" claim="true">
+                     <param name="CD_PROJ_ID">317707</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317707</param>
+                     <param name="CD_ACRONYM">MULTI</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::318202"
+                     label="Biological and Mathematical Basis of Interaction Computing" claim="true">
+                     <param name="CD_PROJ_ID">318202</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318202</param>
+                     <param name="CD_ACRONYM">BIOMICS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::318516"
+                     label="Molecular Architectures for QCA-inspired Boolean Networks" claim="true">
+                     <param name="CD_PROJ_ID">318516</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318516</param>
+                     <param name="CD_ACRONYM">MOLARNET</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::318597"
+                     label="SYnaptic MOlecular NEtworks for Bio-inspired Information Processing"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318597</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318597</param>
+                     <param name="CD_ACRONYM">SYMONE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::967::318671"
+                     label="Microscale Chemically Reactive Electronic Agents" claim="true">
+                     <param name="CD_PROJ_ID">318671</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318671</param>
+                     <param name="CD_ACRONYM">MICREAGENTS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.06</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::968"
+                  label="Dynamics of Multi-Level Complex Systems (DyM-CS)"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.07</param>
+                  <param name="CD_ABBR">ICT-2011.9.7</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Hierarchical Analysis of Complex Dynamical Systems" claim="true">
+                     <param name="CD_PROJ_ID">316705</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">316705</param>
+                     <param name="CD_ACRONYM">HIERATIC</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Foundational Research on MULTIlevel comPLEX networks and systems"
+                     claim="true">
+                     <param name="CD_PROJ_ID">317532</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317532</param>
+                     <param name="CD_ACRONYM">MULTIPLEX</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Self-Organised information PrOcessing, CriticaLity and Emergence in multilevel Systems"
+                     claim="true">
+                     <param name="CD_PROJ_ID">317534</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317534</param>
+                     <param name="CD_ACRONYM">SOPHOCLES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Mathematical framework for multiplex networks" claim="true">
+                     <param name="CD_PROJ_ID">317614</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317614</param>
+                     <param name="CD_ACRONYM">PLEXMATH</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Dynamics and COevolution in Multi-Level Strategic INteraction GAmeS"
+                     claim="true">
+                     <param name="CD_PROJ_ID">317672</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">317672</param>
+                     <param name="CD_ACRONYM">CONGAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="Topology driven methods for complex systems" claim="true">
+                     <param name="CD_PROJ_ID">318121</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318121</param>
+                     <param name="CD_ACRONYM">TOPDRIM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="multi-LAyer SpAtiotemporal Generalized NEtworks" claim="true">
+                     <param name="CD_PROJ_ID">318132</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318132</param>
+                     <param name="CD_ACRONYM">LASAGNE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::" label="Topological Complex Systems"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318493</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318493</param>
+                     <param name="CD_ACRONYM">TOPOSYS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::968::"
+                     label="MATHEmatics of Multi-level Anticipatory Complex Systems" claim="true">
+                     <param name="CD_PROJ_ID">318723</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318723</param>
+                     <param name="CD_ACRONYM">MATHEMACS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.07</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::969"
+                  label="Minimising Energy Consumption of Computing to the Limit (MINECC)"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.08</param>
+                  <param name="CD_ABBR">ICT-2011.9.8</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::969::318013"
+                     label="Ultra-Low-Power Holistic Design for Smart Biosignals Computing Platforms"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318013</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318013</param>
+                     <param name="CD_ACRONYM">PHIDIAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318287"
+                     label="Operating ICT basic switches below the Landauer limit" claim="true">
+                     <param name="CD_PROJ_ID">318287</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318287</param>
+                     <param name="CD_ACRONYM">LANDAUER</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318337"
+                     label="Whole-Systems Energy Transparency" claim="true">
+                     <param name="CD_PROJ_ID">318337</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318337</param>
+                     <param name="CD_ACRONYM">ENTRA</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318397" label="Towards Low Power ICT"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318397</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318397</param>
+                     <param name="CD_ACRONYM">TOLOP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318490"
+                     label="Self Energy-Supporting Autonomous Computation" claim="true">
+                     <param name="CD_PROJ_ID">318490</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318490</param>
+                     <param name="CD_ACRONYM">SENSATION</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318693"
+                     label="Parallel Distributed Infrastructure for Minimization of Energy"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318693</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318693</param>
+                     <param name="CD_ACRONYM">PARADIME</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::969::318793"
+                     label="Energy-Aware Sustainable Computing on Future&#xA;Technology – Paving the Road to Exascale Computing"
+                     claim="true">
+                     <param name="CD_PROJ_ID">318793</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-8</param>
+                     <param name="CD_PROJECT_NUMBER">318793</param>
+                     <param name="CD_ACRONYM">EXA2GREEN</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.08</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::970"
+                  label="Quantum ICT (QICT) including ERA-NET-Plus" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.09</param>
+                  <param name="CD_ABBR">ICT-2011.9.9</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::970::21179"
+                     label="Simulators and Interfaces with Quantum Systems" claim="true">
+                     <param name="CD_PROJ_ID">600645</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600645</param>
+                     <param name="CD_ACRONYM">SIQS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::970::21186" label="Quantum Algorithmics" claim="true">
+                     <param name="CD_PROJ_ID">600700</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600700</param>
+                     <param name="CD_ACRONYM">QALGO</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::970::21203"
+                     label="Quantum Waveguides Application and Development" claim="true">
+                     <param name="CD_PROJ_ID">600838</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600838</param>
+                     <param name="CD_ACRONYM">QWAD</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::970::21218"
+                     label="Scalable Superconducting Processors for Entangled Quantum Information Technology"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600927</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600927</param>
+                     <param name="CD_ACRONYM">SCALEQIT</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::970::21238"
+                     label="Hybrid Artificial and Natural Atomic Systems" claim="true">
+                     <param name="CD_PROJ_ID">601126</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601126</param>
+                     <param name="CD_ACRONYM">HANAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::970::21246"
+                     label="A Guided Matter-Wave Interferometer on a Atom-Chip" claim="true">
+                     <param name="CD_PROJ_ID">601180</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601180</param>
+                     <param name="CD_ACRONYM">MATTERWAVE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.09</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::971"
+                  label="Fundamentals of Collective Adaptive Systems (FOCAS)"
+                  claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.10</param>
+                  <param name="CD_ABBR">ICT-2011.9.10</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::971::600654"
+                     label="DIVERSIFY : Ecology-inspired software diversity for distributed adaptation in CAS"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600654</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600654</param>
+                     <param name="CD_ACRONYM">DIVERSIFY</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::600708"
+                     label="A Quantitative Approach to Management and Design of Collective and Adaptive Behaviours"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600708</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600708</param>
+                     <param name="CD_ACRONYM">QUANTICOL</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::600792" label="ALLOW Ensembles" claim="true">
+                     <param name="CD_PROJ_ID">600792</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600792</param>
+                     <param name="CD_ACRONYM">ALLOW ENSEMBLES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::600854"
+                     label="Hybrid and Diversity-Aware Collective Adaptive Systems: When People Meet Machines to Build a Smarter Society"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600854</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600854</param>
+                     <param name="CD_ACRONYM">SMARTSOCIETY</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::601062"
+                     label="A theoretical framework for swarms of GRN-controlled agents which display adaptive tissue-like organisation"
+                     claim="true">
+                     <param name="CD_PROJ_ID">601062</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601062</param>
+                     <param name="CD_ACRONYM">SWARM-ORGAN</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::601074"
+                     label="Animal and robot Societies Self-organise and Integrate by Social Interaction"
+                     claim="true">
+                     <param name="CD_PROJ_ID">601074</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601074</param>
+                     <param name="CD_ACRONYM">ASSISI_BF</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::971::601148"
+                     label="Collective Adaptive System SynThesIs with Non-zero-sum Games"
+                     claim="true">
+                     <param name="CD_PROJ_ID">601148</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601148</param>
+                     <param name="CD_ACRONYM">CASSTING</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.10</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::972"
+                  label="Neuro-Bio-Inspired Systems (NBIS)" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.19.11</param>
+                  <param name="CD_ABBR">ICT-2011.9.11</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.19</param>
+                  <concept id="fet-fp7::proactive::972::600725"
+                     label="Grid cells: From brains to technical implementation" claim="true">
+                     <param name="CD_PROJ_ID">600725</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600725</param>
+                     <param name="CD_ACRONYM">GRIDMAP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600730"
+                     label="Electromagnetic detection of neural activity at cellular resolution"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600730</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600730</param>
+                     <param name="CD_ACRONYM">MAGNETRODES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600785" label="Spatial Cognition" claim="true">
+                     <param name="CD_PROJ_ID">600785</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600785</param>
+                     <param name="CD_ACRONYM">SPACECOG</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600806"
+                     label="Computations and Organization of Retes Through the Interaction of&#xA;Computational, Optical and Neurophysiological Investigations of the Cerebral cortex"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600806</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600806</param>
+                     <param name="CD_ACRONYM">CORTICONIC</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600847"
+                     label="Retina-inspired ENcoding for advanced VISION tasks" claim="true">
+                     <param name="CD_PROJ_ID">600847</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600847</param>
+                     <param name="CD_ACRONYM">RENVISION</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600925"
+                     label="Investigation of local and global cortical circuits with advanced neural probes for high-resolution electrophysiological monitoring and optogenetic stimulation"
+                     claim="true">
+                     <param name="CD_PROJ_ID">600925</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600925</param>
+                     <param name="CD_ACRONYM">NEUROSEEKER</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::600954"
+                     label="VISUAL MODELLING USING GANGLION CELLS" claim="true">
+                     <param name="CD_PROJ_ID">600954</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">600954</param>
+                     <param name="CD_ACRONYM">VISUALISE</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::601167"
+                     label="Convergence Science Network of Biomimetics and NeuroTechnology"
+                     claim="true">
+                     <param name="CD_PROJ_ID">601167</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601167</param>
+                     <param name="CD_ACRONYM">CSNII</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::972::601215"
+                     label="Emulating the C. elegans nervous system: A blueprint for brain-inspired computational architectures"
+                     claim="true">
+                     <param name="CD_PROJ_ID">601215</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2011-9</param>
+                     <param name="CD_PROJECT_NUMBER">601215</param>
+                     <param name="CD_ACRONYM">SI ELEGANS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.19.11</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::1253"
+                  label="Evolving Living Technologies (EVLIT)" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.30.06</param>
+                  <param name="CD_ABBR">ICT-2013.9.6</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.30</param>
+                  <concept id="fet-fp7::proactive::1253::611640"
+                     label="Technological Evolution of Synergy Between Physicochemical and Living Systems"
+                     claim="true">
+                     <param name="CD_PROJ_ID">611640</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">611640</param>
+                     <param name="CD_ACRONYM">EVOBLISS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1253::610427" label="Evolution of Evolution"
+                     claim="true">
+                     <param name="CD_PROJ_ID">610427</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">610427</param>
+                     <param name="CD_ACRONYM">EVOEVO</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1253::610730"
+                     label="General-Purpose Programmable Evolution Machine on a Chip" claim="true">
+                     <param name="CD_PROJ_ID">610730</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">610730</param>
+                     <param name="CD_ACRONYM">EVOPROG</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1253::611687"
+                     label="NEurocontrolled BIdirectional Artificial upper limb and hand prosthesiS"
+                     claim="true">
+                     <param name="CD_PROJ_ID">611687</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">611687</param>
+                     <param name="CD_ACRONYM">NEBIAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1253::612058"
+                     label="Real neurons-nanoelectronics Architecture with Memristive Plasticity"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612058</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">612058</param>
+                     <param name="CD_ACRONYM">RAMP</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1253::612146"
+                     label="Engineering multicellular biocircuits: programming cell-cell communication using plasmids as wires"
+                     claim="true">
+                     <param name="CD_PROJ_ID">612146</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">612146</param>
+                     <param name="CD_ACRONYM">PLASWIRES</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.06</param>
+                  </concept>
+               </concept>
+               <concept id="fet-fp7::proactive::1254"
+                  label="Atomic and Molecular Scale Devices and Systems" claim="true">
+                  <param name="CD_DIVNAME">7.A.SP1.03.30.07</param>
+                  <param name="CD_ABBR">ICT-2013.9.7</param>
+                  <param name="CD_PARENT_DIVNAME">7.A.SP1.03.30</param>
+                  <concept id="fet-fp7::proactive::1254::22452"
+                     label="Planar Atomic and Molecular Scale devices" claim="false">
+                     <param name="CD_PROJ_ID">610446</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">610446</param>
+                     <param name="CD_ACRONYM">PAMS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1254::22453" label="Molecular Quantum Spintronics" claim="false">
+                     <param name="CD_PROJ_ID">610449</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">610449</param>
+                     <param name="CD_ACRONYM">MOQUAS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1254::22488"
+                     label="Silicon at the Atomic and Molecular scale" claim="false">
+                     <param name="CD_PROJ_ID">610637</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">610637</param>
+                     <param name="CD_ACRONYM">SIAM</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.07</param>
+                  </concept>
+                  <concept id="fet-fp7::proactive::1254::22574"
+                     label="DIAmond Devices Enabled Metrology and Sensing" claim="false">
+                     <param name="CD_PROJ_ID">611143</param>
+                     <param name="CD_CALL_ID">FP7-ICT-2013-10</param>
+                     <param name="CD_PROJECT_NUMBER">611143</param>
+                     <param name="CD_ACRONYM">DIADEMS</param>
+                     <param name="CD_FRAMEWORK">FP7</param>
+                     <param name="CD_SPECIFIC_PROGRAMME">7.A.SP1</param>
+                     <param name="CD_WORK_PROGRAMME">7.A.SP1.03</param>
+                     <param name="CD_RESEARCH_THEMA">7.A.SP1.03.30.07</param>
+                  </concept>
+               </concept>
+            </category>
+         </context>
+      </CONFIGURATION>
+      <STATUS/>
+      <SECURITY_PARAMETERS/>
+   </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/RepositoryServiceResources/RepositoryServiceResourceType/bootstrap-entityreg.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/RepositoryServiceResources/RepositoryServiceResourceType/bootstrap-entityreg.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/RepositoryServiceResources/RepositoryServiceResourceType/bootstrap-entityreg.xml	(revision 51225)
@@ -0,0 +1,84 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="07465671-636a-4d26-bb4c-6ac49747e9e3_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+        <RESOURCE_KIND value="RepositoryServiceResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-10-14T14:14:56+02:00"/>
+        <PROTOCOL/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <DATASOURCE_TYPE>entityregistry</DATASOURCE_TYPE>
+            <DATASOURCE_ORIGINAL_ID provenance="OPENAIRE">openaire____::bootstrap</DATASOURCE_ORIGINAL_ID>
+            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+            <ENVIRONMENTS>
+                <ENVIRONMENT>OPENAIRE</ENVIRONMENT>
+            </ENVIRONMENTS>
+            <TYPOLOGY/>
+            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+            <OFFICIAL_NAME>OpenAIRE Bootstrap</OFFICIAL_NAME>
+            <ENGLISH_NAME>OpenAIRE Bootstrap</ENGLISH_NAME>
+            <ICON_URI>http://www.openaire.eu/images/stories/logo_openaire.png</ICON_URI>
+            <COUNTRY/>
+            <LOCATION>
+                <LONGITUDE>0.0</LONGITUDE>
+                <LATITUDE>0.0</LATITUDE>
+                <TIMEZONE>0.0</TIMEZONE>
+            </LOCATION>
+            <REPOSITORY_WEBPAGE>http://www.openaire.eu/</REPOSITORY_WEBPAGE>
+            <REPOSITORY_INSTITUTION/>
+            <ADMIN_INFO>michele.artini@isti.cnr.it</ADMIN_INFO>
+            <INTERFACES>
+                <INTERFACE id="bootstrap_entityregistry_api" label="Bootstrap entityRegistry API" typology="entityregistry" active="false" removable="false" compliance="native" contentDescription="metadata">
+                    <ACCESS_PROTOCOL header="true" separator="\t">CSVFileSystem</ACCESS_PROTOCOL>
+                    <BASE_URL>file:///home/xxxx</BASE_URL>
+                </INTERFACE>
+            </INTERFACES>
+            <EXTRA_FIELDS>
+                <FIELD>
+                    <key>OpenAireDataSourceId</key>
+                    <value>openaire____::bootstrap</value>
+                </FIELD>
+                <FIELD>
+                    <key>NamespacePrefix</key>
+                    <value>openaire____</value>
+                </FIELD>
+                <FIELD>
+                    <key>VERIFIED</key>
+                    <value>NO</value>
+                </FIELD>
+                <FIELD>
+                    <key>aggregatorName</key>
+                    <value>OPENAIRE</value>
+                </FIELD>
+                <FIELD>
+                    <key>dateOfValidation</key>
+                    <value/>
+                </FIELD>
+                <FIELD>
+                    <key>dateOfCollection</key>
+                    <value>2013-05-07</value>
+                </FIELD>
+                <FIELD>
+                    <key>mergeHomonyms</key>
+                    <value>true</value>
+                </FIELD>
+            </EXTRA_FIELDS>
+            <REGISTERED_BY>michele.artini@isti.cnr.it</REGISTERED_BY>
+        </CONFIGURATION>
+        <STATUS>
+            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+            <LAST_UPDATE value="2013-10-14T14:14:43Z"/>
+        </STATUS>
+        <QOS>
+            <AVAILABILITY>0</AVAILABILITY>
+            <CAPACITY/>
+            <THROUGHPUT>0.0</THROUGHPUT>
+        </QOS>
+        <SECURITY_PARAMETERS/>
+        <BLACKBOARD/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Type.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Type.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Type.proto	(revision 51225)
@@ -0,0 +1,15 @@
+package eu.dnetlib.data.proto;
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "TypeProtos";
+
+// entity tags are used as rowkey prefixes on hbase
+enum Type {
+	datasource = 10;
+	organization = 20;
+	person = 30;
+	project = 40;
+	publication = 50;
+	dataset = 60;
+	unknown = 70;
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Organization.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Organization.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Organization.proto	(revision 51225)
@@ -0,0 +1,32 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "OrganizationProtos";
+
+message Organization {
+
+	optional Metadata metadata = 2;
+
+	message Metadata {
+		optional StringField legalshortname = 1;
+		optional StringField legalname = 2;
+		optional StringField websiteurl = 3;
+		optional StringField logourl = 4;
+		optional StringField eclegalbody = 5;
+		optional StringField eclegalperson = 6;
+		optional StringField ecnonprofit = 7;
+		optional StringField ecresearchorganization = 8;
+		optional StringField echighereducation = 9;
+		optional StringField ecinternationalorganizationeurinterests = 10;
+		optional StringField ecinternationalorganization = 11;
+		optional StringField ecenterprise = 12;
+		optional StringField ecsmevalidated = 13;
+		optional StringField ecnutscode = 14;
+
+		optional Qualifier country = 16;
+
+	}
+
+}
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_doaj.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_doaj.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_doaj.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="1fa784c6-0fc3-489f-80b7-3c404b5d9d2c_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-10-29T13:15:18+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_doaj</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_compliant_doaj";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+// $varUnknownRepoId = "'openaire____::55045bd2a65019fd8e6741a755395c8c'";
+$varUnknownRepoId = "'openaire____::1256f046-bf1f-4afc-8b47-d0b147148b18'";
+$varUnknownRepoName = "'Unknown Repository'";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"//dc:creator[string-length(normalize-space(.)) &gt; 0][contains(., 'CDATA')][starts-with(normalize-space(.), '(')][starts-with(normalize-space(.), '.')]" dc:creator = skipRecord(); else $varDummy = "''";
+//apply xpath:"//dc:creator" if xpath:"string-length(normalize-space(.)) &amp;gt; 0 and not(contains(., 'CDATA')) and not(starts-with(normalize-space(.), '.')) and not(starts-with(normalize-space(.), '('))" dc:creator = Convert(xpath:".", Person); else $varDummy = "''";
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:relation[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+//apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = $varDatasourceid;
+//
+// apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+dr:CobjCategory = "0001";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+$varJournalName = xpath:"substring-before(//dc:source, ',')";
+oaf:journal = set($varJournalName, @issn = xpath:"//dc:identifier[string-length() = 9 and matches(., '(\d{4})-(\d{4})')][1]"; , @eissn = xpath:"//dc:identifier[string-length() = 9 and matches(., '(\d{4})-(\d{4})')][2]";);
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_fraunhofer.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_fraunhofer.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_fraunhofer.xml	(revision 51225)
@@ -0,0 +1,82 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="3ff02e38-f3d2-4ecc-9d45-7100256c979d_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-04-29T03:51:40+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_fraunhofer</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_fraunhofer";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:rights[starts-with(., 'openAccess')]  or count(//dc:relation[starts-with(normalize-space(.), 'info:eu-repo/grantAgreement')]) > 0" $varHttpTest = "true"; else dc:identifier = skipRecord();
+//if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ucl.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ucl.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_ucl.xml	(revision 51225)
@@ -0,0 +1,81 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="52dfa952-2943-4d76-b964-981425a4c7f0_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_ucl</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_ucl";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+//apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = Convert(xpath:".", Person); else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+dc:identifier = xpath:"//dc:identifier[last()]";
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http') and position()!=last()" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/SpecialTrust.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/SpecialTrust.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/SpecialTrust.proto	(revision 51225)
@@ -0,0 +1,9 @@
+package eu.dnetlib.data.proto;
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "SpecialTrustProtos";
+
+enum SpecialTrust {
+	INFINITE = 1;
+	NEUTRAL = 2;
+}
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus.xml	(revision 51225)
@@ -0,0 +1,76 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="d8bf1473-4af6-4c18-8b27-fb59759908ed_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAREplus</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 5" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+oaf:accessrights = "OPEN";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant.xml	(revision 51225)
@@ -0,0 +1,84 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="b844840b-4efa-40a1-a1ce-90b4b63972c2_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$varFP7 = "'corda_______::'";
+$varH2020 = "'corda__h2020::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0 and not(contains(., 'US National Cancer Institute'))" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+dc:type = xpath:"//dc:type";
+dc:format = xpath:"//dc:format";
+dc:date = xpath:"//dc:date";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+// FP7
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varFP7, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+// H2020
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+dc:relation = xpath:"//dc:relation";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+// 1st param: list of xpath expresssions to be applied on the metadata in json syntax; 2nd param: xpath expression for the metadata record; 3rd param reg expr that matches with a negative lookahead for the first group and extracts digits of the second group
+$varPmId = identifierExtract('["//dc:relation[starts-with(normalize-space(.), \"info:eu-repo/semantics/altIdentifier/pmid/\")]"]' , xpath:"./*[local-name()='record']" , '(?!info:eu-repo/semantics/altIdentifier/pmid/)(\d+)');
+$varUrn = identifierExtract('["//dc:relation[starts-with(normalize-space(.), \"info:eu-repo/semantics/altIdentifier/urn/\")]"]' , xpath:"./*[local-name()='record']" , '(?!info:eu-repo/semantics/altIdentifier/urn/)(urn:nbn:.*)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:identifier = set(xpath:"$varPmId//value", @identifierType = "pmid";);
+oaf:identifier = set(xpath:"$varUrn//value", @identifierType = "urn";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_zenodo_datacite.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_zenodo_datacite.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_cleaning_zenodo_datacite.xml	(revision 51225)
@@ -0,0 +1,154 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="33e8cc88-3b4a-4a68-b332-7cae8baad8dc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-07-17T10:41:08+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_cleaning_zenodo_datacite</TITLE>
+                <CODE><![CDATA[
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
+ 		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+                xmlns:oaf="http://namespace.openaire.eu/oaf"
+                xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+        	xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                extension-element-prefixes="TransformationFunction"
+                exclude-result-prefixes="TransformationFunction">
+
+  <xsl:param name="varOfficialName" />
+  <xsl:param name="varDsType" />
+  <xsl:param name="varDataSourceId" />
+  <xsl:param name="varCorda" select="'corda_______::'"/>
+
+  <xsl:param name="index" select="0"/>
+  <xsl:variable name="tf" select="TransformationFunction:getInstance()"/>
+
+
+  <xsl:template match="/">
+    <xsl:variable name="datasourcePrefix"
+             select="normalize-space(//oaf:datasourceprefix)" />
+    <xsl:call-template name="validRecord" />
+  </xsl:template>
+
+
+  <xsl:template name="validRecord">
+    <record>
+      <xsl:copy-of select="//*[local-name() = 'header']" />
+
+      <metadata>
+        <xsl:copy-of select="//*[local-name() = 'metadata']/*[local-name() = 'resource']" />
+
+         <xsl:if test="//*[local-name()='date']/@dateType='Available'">
+            <xsl:variable name='varEmbargoEndDate' 
+                select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='date'][@dateType='Available']), 'DateISO8601')"/>
+            <xsl:choose>
+              <xsl:when test="string-length($varEmbargoEndDate) > 0">
+                <oaf:embargoenddate>
+                  <xsl:value-of select="$varEmbargoEndDate"/>
+                </oaf:embargoenddate>
+              </xsl:when>
+              <xsl:otherwise>
+               <oaf:skip>
+                 <xsl:value-of select="TransformationFunction:skipRecord($tf, $index)"/>
+               </oaf:skip>
+              </xsl:otherwise>
+            </xsl:choose>
+         </xsl:if>
+
+         <dr:CobjCategory><xsl:value-of 
+                 select="TransformationFunction:convertString($tf, //*[local-name()='resourceType']/@resourceTypeGeneral, 'TextTypologies')" />
+         </dr:CobjCategory>
+
+         <oaf:dateAccepted>
+               <xsl:value-of select="TransformationFunction:convertString($tf, normalize-space(//*[local-name()='publicationYear']), 'DateISO8601')"/>           
+         </oaf:dateAccepted>
+         <xsl:choose>
+
+          <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+          <xsl:when test="//*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')]">
+             <oaf:accessrights>
+                <xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name() = 'rights']/@rightsURI[starts-with(normalize-space(.), 'info:eu-repo/semantics')], 'AccessRights')"/>
+             </oaf:accessrights>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:choose>
+             <xsl:when test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'http://creativecommons.org')]">
+              <oaf:accessrights>
+                 <xsl:text>OPEN</xsl:text>
+              </oaf:accessrights>
+             </xsl:when>
+             <xsl:otherwise>
+              <oaf:accessrights>
+                 <xsl:text>CLOSED</xsl:text>
+              </oaf:accessrights>
+             </xsl:otherwise> 
+            </xsl:choose>
+          </xsl:otherwise>
+         </xsl:choose>
+
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+
+<!--
+    <xsl:if test="//*[local-name() = 'rights'][starts-with(normalize-space(.), 'info:eu-repo/semantics/embargoedAccess')]">
+        <oaf:embargoenddate>
+          <xsl:value-of select="//*[local-name()='date']/@dateType='Available'"/>
+        </oaf:embargoenddate>
+    </xsl:if>
+-->
+
+         <xsl:for-each select="//*[local-name()='nameIdentifier']">
+            <xsl:if test="string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6">
+                <oaf:projectid>
+                    <xsl:value-of select="TransformationFunction:regExpr($tf, normalize-space(.), $varCorda, 's/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gm')"/>
+                </oaf:projectid>
+            </xsl:if>
+         </xsl:for-each>
+
+
+         <oaf:hostedBy>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varDataSourceId"/>
+            </xsl:attribute>
+         </oaf:hostedBy>
+         <oaf:collectedFrom>
+            <xsl:attribute name="name">
+               <xsl:value-of select="$varOfficialName"/>
+            </xsl:attribute>
+            <xsl:attribute name="id">
+               <xsl:value-of select="$varDataSourceId"/>
+            </xsl:attribute>
+         </oaf:collectedFrom>
+      </metadata>
+      <xsl:copy-of select="//*[local-name() = 'about']" />
+   </record>
+  </xsl:template>
+
+<!--
+  <xsl:template match="//*[local-name()='language']">
+         <oaf:language>
+           <xsl:value-of select="TransformationFunction:convert($tf, //*[local-name()='language'], 'Languages')" />
+         </oaf:language>
+  </xsl:template>
+-->
+</xsl:stylesheet>
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidatacite.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidatacite.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/oaf2oaidatacite.xml	(revision 51225)
@@ -0,0 +1,245 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+			value="oaf2oaidatacite_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="TransformationRuleDSResourceType" />
+		<RESOURCE_KIND value="TransformationRuleDSResources" />
+		<RESOURCE_URI value="" />
+		<DATE_OF_CREATION value="2001-12-31T12:00:00" />
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<SOURCE_METADATA_FORMAT name="oaf" layout="index"
+				interpretation="openaire" />
+			<SINK_METADATA_FORMAT name="oai_datacite" />
+			<IMPORTED />
+			<SCRIPT>
+				<TITLE>OAF to OAI_DATACITE</TITLE>
+				<CODE>
+					<!-- (M): Mandatory (R): Reccomended (M w A): Mandatory when Applicable -->
+					<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+						xmlns:datacite="http://datacite.org/schema/kernel-3" xmlns:oaf="http://namespace.openaire.eu/oaf"
+						version="1.0" exclude-result-prefixes="oaf">
+
+						<xsl:output method="xml" indent="yes"
+							omit-xml-declaration="yes" />
+
+						<xsl:variable name="openaireNamespace" select="string('oai:dnet:')" />
+
+						<xsl:template match="//oaf:entity">
+							<datacite:resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+								xsi:schemaLocation="http://datacite.org/schema/kernel-3 http://schema.datacite.org/meta/kernel-3/metadata.xsd">
+								<xsl:apply-templates />
+								<datacite:titles>
+									<xsl:for-each select="oaf:result/title/text()">
+										<datacite:title>
+											<xsl:value-of select="normalize-space(.)" />
+										</datacite:title>
+									</xsl:for-each>
+								</datacite:titles>
+								<datacite:descriptions>
+									<xsl:for-each select="oaf:result/description/text()">
+										<datacite:description descriptionType="Abstract">
+											<xsl:value-of select="normalize-space(.)" />
+										</datacite:description>
+									</xsl:for-each>
+								</datacite:descriptions>
+								<datacite:subjects>
+									<xsl:for-each select="oaf:result/subject[./text()]">
+										<xsl:choose>
+											<xsl:when test="@classname='keyword'">
+												<datacite:subject>
+													<xsl:value-of select="normalize-space(./text())" />
+												</datacite:subject>
+											</xsl:when>
+											<xsl:otherwise>
+												<datacite:subject subjectScheme="{@classid}">
+													<xsl:value-of select="normalize-space(./text())" />
+												</datacite:subject>
+											</xsl:otherwise>
+										</xsl:choose>
+									</xsl:for-each>
+								</datacite:subjects>
+								<!-- Dates are mandatory but we do not always have them... -->
+								<datacite:dates>
+									<datacite:date dateType="Issued">
+										<xsl:value-of select="oaf:result/dateofacceptance/text()" />
+									</datacite:date>
+									<xsl:variable name="embargoEndDate">
+										<xsl:value-of select="oaf:result/embargoenddate/text()" />
+									</xsl:variable>
+									<xsl:if test="$embargoEndDate != ''">
+										<datacite:date dateType="Available">
+											<xsl:value-of select="$embargoEndDate" />
+										</datacite:date>
+									</xsl:if>
+								</datacite:dates>
+								<!-- Size (O) -->
+								<datacite:sizes>
+									<xsl:for-each select="oaf:result/size/text()">
+										<datacite:size>
+											<xsl:value-of select="." />
+										</datacite:size>
+									</xsl:for-each>
+								</datacite:sizes>
+
+							</datacite:resource>
+						</xsl:template>
+
+
+						<!--Identifier (M) -->
+						<xsl:template match="oaf:result//webresource/url ">
+							<datacite:identifier identifierType="URL">
+								<xsl:value-of select="./text()" />
+							</datacite:identifier>
+						</xsl:template>
+
+						<!-- Alt id : we know it's only one because we do not deduplicate dataset -->
+						<xsl:template match="oaf:result/pid/text()">
+							<datacite:alternateIdentifiers>
+								<datacite:alternateIdentifier
+									alternateIdentifierType="{@classid}">
+									<xsl:value-of select="." />
+								</datacite:alternateIdentifier>
+							</datacite:alternateIdentifiers>
+						</xsl:template>
+
+						<!-- Handling relationships -->
+						<xsl:template match="oaf:result/rels">
+							<!-- Creators (M) -->
+							<datacite:creators>
+								<xsl:apply-templates select="./rel[./to/@class='hasAuthor']" />
+							</datacite:creators>
+							<datacite:contributors>
+								<!-- person contributors: not yet available in openaire -->
+								<xsl:apply-templates select="./rel[./to/@class='hasContributor']" />
+								<!-- contributor fields is also used to model funding information -->
+								<xsl:apply-templates select="./rel[./to/@class='isProducedBy']" />
+							</datacite:contributors>
+							<datacite:relatedIdentifiers>
+								<!-- Links to publications -->
+								<xsl:apply-templates
+									select="./rel[./resulttype/@classid='publication']" />
+							</datacite:relatedIdentifiers>
+
+						</xsl:template>
+
+						<!--Creator template -->
+						<xsl:template match="rel[./to/@class='hasAuthor']">
+							<datacite:creator>
+								<datacite:creatorName>
+									<xsl:value-of select="./fullname" />
+								</datacite:creatorName>
+							</datacite:creator>
+						</xsl:template>
+
+						<!-- Person Contributor template -->
+						<xsl:template match="rel[./to/@class='hasContributor']">
+							<datacite:contributor>
+								<datacite:contributorName>
+									<xsl:value-of select="./fullname" />
+								</datacite:contributorName>
+							</datacite:contributor>
+						</xsl:template>
+
+						<!-- Funding template, goes into contributors -->
+						<xsl:template match="rel[./to/@class='isProducedBy']">
+							<xsl:variable name="funder" select="./funding/funder/@shortname" />
+							<xsl:variable name="fundingProgramme" select="./funding/funding_level_0/@name"/>
+							<xsl:variable name="jurisdiction" select = "./funding/funder/@jurisdiction"/>
+							<datacite:contributor contributorType="Funder">
+								<datacite:contributorName>
+									<xsl:value-of select="$funder" />
+								</datacite:contributorName>
+								<datacite:nameIdentifier
+									nameIdentifierScheme="info">
+									<xsl:value-of
+										select="concat('info:eu-repo/grantAgreement/', $funder, '/', $fundingProgramme, '/', ./code, '/', $jurisdiction, '/' , ./title, '/', ./acronym)" />
+								</datacite:nameIdentifier>
+							</datacite:contributor>
+						</xsl:template>
+
+						<!-- Links to publication. The related id should be a DOI or similar, 
+							but we only have the openaire id for now... -->
+						<xsl:template match="rel[./resulttype/@classid='publication']">
+							<datacite:relatedIdentifier
+								relatedIdentifierType="openaire" relationType="IsReferencedBy">
+								<xsl:value-of select="concat($openaireNamespace, ./to/text())" />
+							</datacite:relatedIdentifier>
+						</xsl:template>
+
+						<!--publisher (M) from publisher -->
+						<xsl:template match="oaf:result/publisher/text()">
+							<datacite:publisher>
+								<xsl:value-of select="normalize-space(.)" />
+							</datacite:publisher>
+						</xsl:template>
+
+						<!-- Publication year (M) -->
+						<xsl:template match="oaf:result/dateofacceptance/text()">
+							<datacite:publicationYear>
+								<xsl:value-of select="normalize-space(substring-before(.,'-'))" />
+							</datacite:publicationYear>
+						</xsl:template>
+
+						<!-- Language (R) from language@classid -->
+						<xsl:template match="oaf:result/language/@classid">
+							<datacite:language>
+								<xsl:value-of select="." />
+							</datacite:language>
+						</xsl:template>
+
+						<!-- ResourceType (R) -->
+						<xsl:template
+							match="oaf:result/children/instance/instancetype[./@classname!='Unknown'] | oaf:result/resourcetype[./@classname != '']">
+							<datacite:resourceType resourceTypeGeneral="{./@classname}" />
+						</xsl:template>
+
+						<!-- Version (O) -->
+						<xsl:template match="oaf:result/version/text()">
+							<datacite:version>
+								<xsl:value-of select="." />
+							</datacite:version>
+						</xsl:template>
+
+
+						<!-- Rights list (M) -->
+						<xsl:template match="oaf:result/bestlicense">
+							<xsl:variable name="license">
+								<xsl:choose>
+									<xsl:when test="@classid='OPEN'">
+										<xsl:value-of select="string('info:eu-repo/semantics/openAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='CLOSED'">
+										<xsl:value-of select="string('info:eu-repo/semantics/closedAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='RESTRICTED'">
+										<xsl:value-of
+											select="string('info:eu-repo/semantics/restrictedAccess')" />
+									</xsl:when>
+									<xsl:when test="@classid='EMBARGO'">
+										<xsl:value-of
+											select="string('info:eu-repo/semantics/embargoedAccess')" />
+									</xsl:when>
+									<xsl:otherwise>
+										<xsl:value-of select="string('info:eu-repo/semantics/unknownAccess')" />
+									</xsl:otherwise>
+								</xsl:choose>
+							</xsl:variable>
+							<datacite:rightsList>
+								<datacite:rights rightsURI="{$license}">
+									<xsl:value-of select="./@classname" />
+								</datacite:rights>
+							</datacite:rightsList>
+						</xsl:template>
+
+						<!-- Override default template -->
+						<xsl:template match="text()|@*" />
+					</xsl:stylesheet>
+				</CODE>
+			</SCRIPT>
+		</CONFIGURATION>
+		<STATUS />
+		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_CSIC.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_CSIC.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_CSIC.xml	(revision 51225)
@@ -0,0 +1,87 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="e545ed7a-a349-47e0-8387-c3bd9b1aab37_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2015-02-26T11:02:25+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_CSIC</TITLE>
+                <CODE>declare_script "dc_cleaning_OpenAIREplus_CSIC";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+//preprocess p1 = dblookup("select id, officialname, accessinfopackage from datasources where accessinfopackage is not null");
+$var0 = "''";
+$varFP7 = "'corda_______::'";
+$varH2020 = "'corda__h2020::'";
+$varFCT="'fct_________::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = xpath:"//dri:recordIdentifier";
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) &gt; 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) &gt; 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) &gt; 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) &gt; 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) &gt; 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+dc:format = xpath:"//dc:format";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')] and (//dc:rights[starts-with(normalize-space(.), 'openAccess')] or //dc:relation[starts-with(normalize-space(.), 'info:eu-repo/grantAgreement')])" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+dr:dateOfCollection = xpath:"//dri:dateOfCollection";
+dc:rights = xpath:"//dc:rights";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//dc:language = "eng";
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+// FP7
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varFP7, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+// H2020
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')]/concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))";
+// FCT
+oaf:projectid = xpath:"//dc:relation[matches(normalize-space(.), '(info:eu-repo/grantagreement/fct)/(.+)/(\d+)(.*)', 'i')]/concat($varFCT, replace(normalize-space(.), '(info:eu-repo/grantagreement/fct)/(.+)/(\d+)(.*)', '$3', 'i'))";
+dc:relation = xpath:"//dc:relation";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else $var0 = "''";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'openAccess')]" oaf:accessrights = "OPEN"; else $var0 = "''";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'closedAccess')]" oaf:accessrights = "CLOSED"; else $var0 = "''";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'embargoedAccess')]" oaf:accessrights = "EMBARGO"; else $var0 = "''";
+// if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/&lt;&gt;]*/[^\s"&lt;&gt;]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_prodinra.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_prodinra.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_compliant_prodinra.xml	(revision 51225)
@@ -0,0 +1,80 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a8354bda-726f-41a1-b835-59e20dc4fc64_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-06-16T17:04:41+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_compliant_prodinra</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_compliant_prodinra";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+if xpath:"count(//dc:creator) = 0" dc:creator = skipRecord(); else $varDummy = "''";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http://prodinra.inra.fr/record')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6 and not(contains(normalize-space(.), '/12345'))" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[starts-with(normalize-space(.), 'info:eu-repo/semantics')]" $var0 = "''"; else oaf:accessrights = "OPEN";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_crossrefclaims.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_crossrefclaims.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_crossrefclaims.xml	(revision 51225)
@@ -0,0 +1,69 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="01782ea8-34fb-4ea1-82ef-326081e8a0c6_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2014-07-17T13:01:32+02:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc2oaf_cleaning_OPENAIREplus_compliant_crossrefclaims</TITLE>
+                <CODE><![CDATA[
+declare_script "dc2oaf_cleaning_OpenAIREplus_compliant_crossrefclaims";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varRepoid = xpath:"//dri:repositoryId";
+$varCollectedFromName = xpath:"//oaf:collectedFrom/@name";
+$varHostedByName = xpath:"//oaf:hostedBy/@name";
+$varHostedById = xpath:"//oaf:hostedBy/@id";
+$varCollectedFromId = xpath:"//oaf:collectedFrom/@id";
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+dri:recordIdentifier = xpath:"//dri:recordIdentifier";
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+if xpath:"count(//dc:identifier) = 1 and count(//dc:identifier[@identifierType='doi']) = 1" dc:identifier = xpath:"concat('http://dx.doi.org/', //dc:identifier[@identifierType='doi'])"; else $varDummy = "''";
+dr:dateOfCollection = xpath:"//dr:dateOfCollection";
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:dateAccepted", DateISO8601, "yyyy-MM-dd", "min()");
+oaf:embargoenddate = Convert(xpath:"descendant-or-self::oaf:embargoenddate", DateISO8601, "yyyy-MM-dd", "min()");
+// apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+//
+dr:CobjCategory = "0001";
+oaf:accessrights = xpath:"//oaf:accessrights";
+//
+oaf:collectedFrom = set("''", @name = $varCollectedFromName; , @id = $varCollectedFromId;);
+oaf:hostedBy = set("''", @name = $varHostedByName; , @id = $varHostedById;);
+//
+oaf:identifier = set(xpath:"//dc:identifier[@identifierType='doi']", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+about = xpath:"//about";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_rioxx2oaf_core.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_rioxx2oaf_core.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/xslt_rioxx2oaf_core.xml	(revision 51225)
@@ -0,0 +1,281 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="522cd83c-4177-4401-85ad-3217d5cb7ba0_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2016-03-10T16:03:17+00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>xslt_rioxx2oaf_core</TITLE>
+                <CODE>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1" 
+                             xmlns:dri="http://www.driver-repository.eu/namespace/dri" 
+                             xmlns:dc="http://purl.org/dc/elements/1.1/" 
+                             xmlns:oaf="http://namespace.openaire.eu/oaf" 
+                             xmlns:dr="http://www.driver-repository.eu/namespace/dr" 
+                             xmlns:transformExt="http://namespace.openaire.eu/java/org.apache.commons.codec.digest.DigestUtils" 
+                             xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
+                             extension-element-prefixes="transformExt TransformationFunction"
+                             exclude-result-prefixes="transformExt TransformationFunction" &gt;
+                        &lt;xsl:output indent="yes" omit-xml-declaration="yes"/&gt;
+
+  &lt;xsl:param name="varOfficialName" /&gt;
+  &lt;xsl:param name="varDsType" /&gt;
+  &lt;xsl:param name="varDataSourceId" /&gt;
+  &lt;xsl:param name="varFP7" select="'corda_______::'"/&gt;
+  &lt;xsl:param name="varH2020" select="'corda__h2020::'"/&gt;
+
+  &lt;xsl:param name="repoCode" select="replace(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], '^([^:]*:[^:]*):.*$', '$1')"/&gt;
+
+  &lt;xsl:param name="index" select="0"/&gt;
+  &lt;xsl:param name="transDate" select="current-dateTime()"/&gt;
+  &lt;xsl:variable name="tf" select="TransformationFunction:getInstance()"/&gt;
+
+
+
+&lt;xsl:variable name="vCodes"&gt;
+  &lt;codes&gt;
+   &lt;code key="oai:usir.salford.ac.uk" value="od_______991"   id="opendoar____::991" name="University of Salford Institutional repository"/&gt;
+   &lt;code key="oai:sro.sussex.ac.uk" value="od______2384"   id="opendoar____::2384" name="Sussex Research Online"/&gt;
+   &lt;code key="oai:eprints.gla.ac.uk" value="od_______162"  id="opendoar____::162" name="Enlighten"/&gt;
+   &lt;code key="oai:researchspace.bathspa.ac.uk" value="od______2694" id="opendoar____::2694" name="ResearchSPace - Bath Spa University"/&gt;
+   &lt;code key="oai:wrap.warwick.ac.uk" value="od______1288"  id="opendoar____::1288" name="Warwick Research Archives Portal Repository"/&gt;
+   &lt;code key="oai:centaur.reading.ac.uk" value="od______1731"    id="opendoar____::1731" name="Central Archive at the University of Reading"/&gt;
+   &lt;code key="oai:eprints.lse.ac.uk" value="od_______206"   id="opendoar____::206" name="LSE Research Online"/&gt;
+   &lt;code key="oai:westminsterresearch.wmin.ac.uk" value="od_______936"  id="opendoar____::936" name="WestminsterResearch"/&gt;
+   &lt;code key="oai:eprints.soas.ac.uk" value="od_______285"  id="opendoar____::285" name="SOAS Research Online"/&gt;
+   &lt;code key="oai:open.ac.uk.OAI2" value="od_______300"  id="opendoar____::300" name="Open Research Online"/&gt;
+   &lt;code key="oai:nectar.northampton.ac.uk" value="od______1251"  id="opendoar____::1251" name="NECTAR"/&gt;
+   &lt;code key="oai:openaccess.sgul.ac.uk" value="od______2556"  id="opendoar____::2556" name="St George's Online Research Archive"/&gt;
+   &lt;code key="oai:researchrepository.napier.ac.uk" value="od______1334"  id="opendoar____::1334" name="Repository@Napier"/&gt;
+   &lt;code key="oai:roar.uel.ac.uk" value="od______1488"  id="opendoar____::1488" name="ROAR at University of East London"/&gt;
+   &lt;code key="oai:eprints.staffs.ac.uk" value="od______2881"  id="opendoar____::2881" name="STORE - Staffordshire Online Repository"/&gt;
+   &lt;code key="oai:ray.yorksj.ac.uk" value="od______1391"   id="opendoar____::1391" name="York St John University Repository"/&gt;
+   &lt;code key="oai:repository.winchester.ac.uk" value="core________"   id="openaire____::d2d51e00-28b0-4f13-b541-7473d104a860" name="CORE"/&gt;
+   &lt;code key="oai:rhinology.in" value="core________"   id="openaire____::d2d51e00-28b0-4f13-b541-7473d104a860" name="CORE"/&gt;
+  &lt;/codes&gt;
+ &lt;/xsl:variable&gt;
+&lt;!-- 
+status CORE-ID OpenDOAR-ID repo name
+ok 136   1288    Warwick Research Archives Portal Repository
+ok 67    206        LSE Research Online
+ok 42    162        Enlighten
+ok 109    2384    Sussex Research Online
+ok 130    991        University of Salford Institutional repository  oai:usir.salford.ac.uk
+ok 17    1731    Central Archive at the University of Reading
+ok 86    300        Open Research Online
+ok 103    285        SOAS Research Online
+ok 138    936        WestminsterResearch
+ok 686    0    !2694        ResearchSPace - Bath Spa University              http://researchspace.bathspa.ac.uk/cgi/oai2
+ok 78    1251    NECTAR                                      http://nectar.northampton.ac.uk/cgi/oai2?verb=Identify
+ok 253    2556    St George's Online Research Archive
+ok 92    1334    Repository@Napier
+ok 96    1488    ROAR at University of East London
+ok 620    2881    STORE - Staffordshire Online Repository
+ok ? 694    0        Winchester Research Repository                  http://repository.winchester.ac.uk/cgi/oai2 oai:repository.winchester.ac.uk
+ok 683    0    ! 1391    York St John University Repository              http://ray.yorksj.ac.uk/cgi/oai2
+? 294    0        Entrepo                                          http://rhinology.in/cgi/oai2 oai:rhinology.in
+? no records so far 170    2134    LSE Theses Online                              http://etheses.lse.ac.uk/cgi/oai2
+   &lt;code key="oai:eprints.lse.ac.uk" value="od______2134"   id="opendoar____::2134" name="LSE Theses Online"/&gt;
+
+--&gt;
+&lt;xsl:key name="kCodeByName" match="code" use="string(@key)"/&gt;
+
+
+               &lt;xsl:template name="terminate"&gt;
+                	&lt;xsl:message terminate="yes"&gt;
+                             	record is not compliant, transformation is interrupted.
+                	&lt;/xsl:message&gt;
+               &lt;/xsl:template&gt;
+
+                        &lt;xsl:template match="/"&gt;
+                              &lt;record&gt;
+                                  &lt;xsl:apply-templates select="//*[local-name() = 'header']" /&gt;
+                                  &lt;metadata&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:title"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:title'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='author']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:creator'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='contributor']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:contributor'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:description"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:description'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:format"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:format'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:subject"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:subject'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:publisher"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:publisher'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:source"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:source'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;dc:language&gt;
+                                             &lt;xsl:value-of select="TransformationFunction:convertString($tf, //dc:language, 'Languages')"/&gt;
+                                    &lt;/dc:language&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:rights"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:rights'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:relation"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:relation'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:if test="not(//dc:identifier[starts-with(., 'http')])"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                                   &lt;/xsl:if&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//dc:identifier[starts-with(., 'http')]"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'dc:identifier'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                    &lt;xsl:if test="//*[local-name()='version_of_record'][starts-with(., 'http://dx.doi.org/')]"&gt;
+                                     &lt;xsl:element name="oaf:identifier"&gt; 
+                                          &lt;xsl:attribute name="identifierType"&gt;
+                                              &lt;xsl:text&gt;doi&lt;/xsl:text&gt;
+                                          &lt;/xsl:attribute&gt;
+                                            &lt;xsl:value-of select="substring-after(//*[local-name()='version_of_record'], 'http://dx.doi.org/')"/&gt;
+                                        &lt;/xsl:element&gt;
+                                    &lt;/xsl:if&gt;
+         &lt;xsl:for-each select="//*[local-name()='project']"&gt;
+            &lt;xsl:if test="(contains(@funder_name, 'EU FP7') or starts-with(@funder_name, 'Europe') or contains(@funder_id, '10.13039/501100000780') or contains(@funder_id, '10.13039/501100004963') ) and not(contains(., '531245')) and not(contains(lower-case(.), 'lifelong learning programme')) and matches(normalize-space(.), '^.*(\d\d\d\d\d\d).*$', 'i')"&gt;
+                &lt;oaf:projectid&gt;
+                    &lt;xsl:value-of select="concat($varFP7, replace(normalize-space(.), '^.*(\d\d\d\d\d\d).*$', '$1', 'i'))"/&gt;
+                &lt;/oaf:projectid&gt;
+            &lt;/xsl:if&gt;
+            &lt;xsl:if test="matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')"&gt;
+                &lt;oaf:projectid&gt;
+                    &lt;xsl:value-of select="concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))"/&gt;
+                &lt;/oaf:projectid&gt;
+            &lt;/xsl:if&gt;
+         &lt;/xsl:for-each&gt;
+
+
+&lt;!--
+                                    &lt;xsl:if test="not(//didl:Component/didl:Resource[@mimeType='application/pdf'])"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                                   &lt;/xsl:if&gt;
+--&gt;
+                                   &lt;xsl:choose&gt;
+                                            &lt;xsl:when test="//*[local-name()='free_to_read']" &gt;
+                                  &lt;oaf:accessrights&gt;
+                                      &lt;xsl:text&gt;OPEN&lt;/xsl:text&gt;
+                                  &lt;/oaf:accessrights&gt;
+                                            &lt;/xsl:when&gt;
+                                            &lt;xsl:otherwise&gt;
+                                  &lt;oaf:accessrights&gt;
+                                      &lt;xsl:text&gt;UNKNOWN&lt;/xsl:text&gt;
+                                  &lt;/oaf:accessrights&gt;
+                                            &lt;/xsl:otherwise&gt;
+                                            &lt;/xsl:choose&gt;
+                                    &lt;xsl:call-template name="allElements"&gt;
+                                            &lt;xsl:with-param name="sourceElement" select="//*[local-name()='license_ref']"/&gt;
+                                            &lt;xsl:with-param name="targetElement" select="'oaf:license'"/&gt;
+                                    &lt;/xsl:call-template&gt;
+                                  &lt;dr:CobjCategory&gt;
+                                  &lt;xsl:value-of 
+                 select="TransformationFunction:convertString($tf, //*[local-name()='type'], 'TextTypologies')" /&gt;
+         &lt;/dr:CobjCategory&gt;
+
+         &lt;oaf:dateAccepted&gt;
+               &lt;xsl:value-of select="TransformationFunction:convertString($tf, //*[local-name()='publication_date'], 'DateISO8601')"/&gt;
+         &lt;/oaf:dateAccepted&gt;
+
+
+&lt;!--
+                                    &lt;oaf:fulltext&gt;&lt;xsl:value-of select="//didl:Component/didl:Resource[@mimeType='application/pdf']/@ref"/&gt;&lt;/oaf:fulltext&gt;
+--&gt;
+         &lt;oaf:hostedBy&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="key('kCodeByName', $repoCode, $vCodes)/@name"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="key('kCodeByName', $repoCode, $vCodes)/@id"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:hostedBy&gt;
+
+&lt;!--
+         &lt;oaf:hostedBy&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="$varOfficialName"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="$varDataSourceId"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:hostedBy&gt;
+--&gt;
+
+         &lt;oaf:collectedFrom&gt;
+            &lt;xsl:attribute name="name"&gt;
+               &lt;xsl:value-of select="$varOfficialName"/&gt;
+            &lt;/xsl:attribute&gt;
+            &lt;xsl:attribute name="id"&gt;
+               &lt;xsl:value-of select="$varDataSourceId"/&gt;
+            &lt;/xsl:attribute&gt;
+         &lt;/oaf:collectedFrom&gt;
+                                  &lt;/metadata&gt;
+                                &lt;xsl:copy-of select="//*[local-name() = 'about']" /&gt;
+                              &lt;/record&gt;
+
+                        &lt;/xsl:template&gt;
+
+         &lt;xsl:template name="allElements"&gt;
+             &lt;xsl:param name="sourceElement"/&gt;
+             &lt;xsl:param name="targetElement"/&gt;
+             &lt;xsl:for-each select="$sourceElement"&gt;
+                &lt;xsl:element name="{$targetElement}"&gt;
+                    &lt;xsl:value-of select="normalize-space(.)"/&gt;
+                &lt;/xsl:element&gt;
+             &lt;/xsl:for-each&gt;
+          &lt;/xsl:template&gt;
+
+
+                       &lt;xsl:template match="//*[local-name() = 'header']"&gt;
+                         &lt;xsl:copy&gt;
+                            &lt;xsl:apply-templates  select="node()|@*"/&gt;
+                             &lt;xsl:element name="dr:dateOfTransformation"&gt;
+                                 &lt;xsl:value-of select="$transDate"/&gt;
+                             &lt;/xsl:element&gt;
+                         &lt;/xsl:copy&gt;
+                        &lt;/xsl:template&gt;
+
+&lt;!--
+                       &lt;xsl:template match="dri:objIdentifier"&gt;
+                         &lt;xsl:variable name="objIdentifier" select="substring-after(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], ':')"/&gt;
+                         &lt;xsl:variable name="nsPrefix" select="key('kCodeByName', $repoCode, $vCodes)/@value"/&gt;
+                         &lt;xsl:if test="string-length($nsPrefix) = 0"&gt;
+                                         &lt;xsl:call-template name="terminate"/&gt;
+                         &lt;/xsl:if&gt;
+                        &lt;xsl:copy&gt;
+                        &lt;xsl:value-of select="concat( $nsPrefix , '::', transformExt:md5Hex(string($objIdentifier)))"/&gt;
+                        &lt;/xsl:copy&gt;
+                       &lt;/xsl:template&gt;
+--&gt;
+                       &lt;xsl:template match="node()|@*"&gt;
+                            &lt;xsl:copy&gt;
+                                 &lt;xsl:apply-templates select="node()|@*"/&gt;
+                            &lt;/xsl:copy&gt;
+                       &lt;/xsl:template&gt;
+                    &lt;/xsl:stylesheet&gt;</CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_od______1581.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_od______1581.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/dc2oaf_cleaning_OPENAIREplus_od______1581.xml	(revision 51225)
@@ -0,0 +1,79 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="36517292-69af-4793-9769-6985cddccfff_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
+        <RESOURCE_KIND value="TransformationRuleDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2013-02-28T12:14:22+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <IMPORTED/>
+            <SCRIPT>
+                <TITLE>dc_cleaning_OPENAIREplus_od______1581</TITLE>
+                <CODE><![CDATA[
+declare_script "dc_cleaning_OpenAIREplus_od______1581";
+declare_ns oaf = "http://namespace.openaire.eu/oaf";
+declare_ns dri = "http://www.driver-repository.eu/namespace/dri";
+declare_ns dr = "http://www.driver-repository.eu/namespace/dr";
+declare_ns dc = "http://purl.org/dc/elements/1.1/";
+declare_ns prov = "http://www.openarchives.org/OAI/2.0/provenance";
+$var0 = "''";
+$var1 = "'corda_______::'";
+$varDummy = "''";
+static $varDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+static $varRepoid = xpath:"//dri:repositoryId";
+static $varOfficialname = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//OFFICIAL_NAME"]);
+dri:objIdentifier = xpath:"//dri:objIdentifier";
+dri:repositoryId = $varRepoid;
+//dri:repositoryId = xpath:"//dri:repositoryId";
+dri:recordIdentifier = RegExpr(xpath:"//dri:recordIdentifier", $var0, "s/^(.*)(::)/$2/");
+apply xpath:"//dc:creator" if xpath:"string-length(.) > 0" dc:creator = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:title" if xpath:"string-length(.) > 0" dc:title = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:subject" if xpath:"string-length(.) > 0" dc:subject = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:publisher" if xpath:"string-length(.) > 0" dc:publisher = xpath:"normalize-space(.)"; else $varDummy = "''";
+apply xpath:"//dc:source" if xpath:"string-length(.) > 0" dc:source = xpath:"normalize-space(.)"; else $varDummy = "''";
+dc:contributor = xpath:"//dc:contributor";
+dc:description = xpath:"//dc:description";
+$varHttpTest = "''";
+if xpath:"//dc:identifier[starts-with(., 'http')]" $varHttpTest = "true"; else dc:identifier = skipRecord();
+apply xpath:"//dc:identifier" if xpath:"starts-with(normalize-space(.), 'http')" dc:identifier = xpath:"normalize-space(.)"; else dr:CobjIdentifier = xpath:"normalize-space(.)";
+static dr:dateOfCollection = getValue(CURRENTDATE, []);
+// dc:type = xpath:"//dc:type";
+dc:language = Convert(xpath:"//dc:language", Languages);
+//if xpath:"//dc:rights[text()='info:eu-repo/semantics/openAccess']" dc:publisher = xpath:"//dc:publisher"; else dc:publisher = skipRecord();
+dc:date = xpath:"//dc:date";
+oaf:dateAccepted = Convert(xpath:"descendant-or-self::dc:date", DateISO8601, "yyyy-MM-dd", "min()");
+apply xpath:"//dc:date" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/date')" oaf:embargoenddate = RegExpr(xpath:"normalize-space(.)", $var0, "s/^(.*info:eu-repo\/date\/embargoEnd\/)//gmi"); else $var0 = "''";
+apply xpath:"//dc:relation" if xpath:"string-length(substring-after(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7/')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"string-length(translate(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7','')) = 6" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//apply xpath:"//dc:relation" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/grantAgreement/EC/FP7')" oaf:projectid = RegExpr(xpath:"normalize-space(.)", $var1, "s/^(.*info:eu-repo\/grantAgreement\/EC\/FP7\/)//gmi"); else dc:relation = xpath:"normalize-space(.)";
+//comment-js-09-10-2012 apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" dc:rights = empty; else dc:rights = xpath:"normalize-space(.)";
+// static oaf:datasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+//
+//
+static $varDsType = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//CONFIGURATION/DATASOURCE_TYPE"]);
+//if xpath:"$varDsType='aggregator'" oaf:hostingDatasourceid = xpath:"//prov:baseURL"; else oaf:hostingDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+oaf:collectedDatasourceid = getValue(PROFILEFIELD, [xpath:"//dri:repositoryId", xpath:"//EXTRA_FIELDS/FIELD[key='OpenAireDataSourceId']/value"]);
+//
+apply xpath:"//dc:type" if xpath:"." dr:CobjCategory = Convert(xpath:"normalize-space(.)", TextTypologies); else dc:type = xpath:".";
+//apply xpath:"//dc:rights" if xpath:"starts-with(normalize-space(.), 'info:eu-repo/semantics')" oaf:accessrights = Convert(xpath:"normalize-space(.)", AccessRights); else dc:rights = xpath:".";
+if xpath:"//dc:rights[text() = 'open']" oaf:accessrights = "OPEN"; else oaf:accessrights = "CLOSED";
+//if xpath:"count(//dc:rights) = 0" oaf:accessrights = "OPEN"; else $var0 = "''";
+// oaf:accessrights = Convert(xpath:"normalize-space(//dc:rights)", AccessRights);
+//
+static oaf:collectedFrom = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+static oaf:hostedBy = set("''", @name = $varOfficialname; , @id = $varDatasourceid;);
+//
+$varId = identifierExtract('["//dc:identifier", "//dc:relation"]' , xpath:"./*[local-name()='record']" , '(10[.][0-9]{4,}[^\s"/<>]*/[^\s"<>]+)');
+oaf:identifier = set(xpath:"$varId//value", @identifierType = "doi";);
+oaf:datasourceprefix = xpath:"//oaf:datasourceprefix";
+end
+]]></CODE>
+            </SCRIPT>
+        </CONFIGURATION>
+        <STATUS/>
+        <SECURITY_PARAMETERS/>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/dataset.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/dataset.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/dataset.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="5c82eff0-4172-4188-8b65-5c8334faa6f4_RGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupOrchestrationDSResourceType"/>
+        <RESOURCE_KIND value="DedupOrchestrationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION enabled="true">
+            <DEDUPLICATION>
+                <ENTITY name="dataset" code="60" label="Dataset" />
+                <ACTION_SET id="dedup-similarity-dataset" />
+                <SCAN_SEQUENCE>
+                	<SCAN id="c24801f5-7366-4a4d-9867-c8827ed0e724_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                </SCAN_SEQUENCE>
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization-simple.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization-simple.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupOrchestrationDSResources/DedupOrchestrationDSResourceType/organization-simple.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="a7a9bbdd-5aff-400c-b8c6-46626927fb52_RGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBPcmNoZXN0cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupOrchestrationDSResourceType"/>
+        <RESOURCE_KIND value="DedupOrchestrationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION enabled="true">
+            <DEDUPLICATION>
+                <ENTITY name="organization" code="20" label="Organization" />
+                <ACTION_SET id="dedup-similarity-organization-simple" />
+                <SCAN_SEQUENCE>
+                	<SCAN id="20d08926-ce57-443c-adef-c879c561d30d_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+                </SCAN_SEQUENCE>
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-statistics.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-statistics.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-statistics.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="ad7086a3-8f22-4299-ba40-7fd5a0b36e80_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:06+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-document-statistics">iis-document-statistics</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-classes.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-classes.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-document-classes.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="7a732071-a3ff-4f2b-8457-4ad7586c2315_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T21:50:06+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-document-classes">iis-document-classes</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T21:50:05+00:00" creationDate="2014-11-17T17:40:59+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-preprocessing.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-preprocessing.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/ActionManagerSetDSResources/ActionManagerSetDSResourceType/iis-referenced-projects-preprocessing.xml	(revision 51225)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="95c14b4a-8d3b-4726-88fe-a08d3d671d39_QWN0aW9uTWFuYWdlclNldERTUmVzb3VyY2VzL0FjdGlvbk1hbmFnZXJTZXREU1Jlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="ActionManagerSetDSResourceType"/>
+        <RESOURCE_KIND value="ActionManagerSetDSResources"/>
+        <RESOURCE_URI value="http://localhost:8280/is/services/actionManager?wsdl"/>
+        <DATE_OF_CREATION value="2014-11-17T17:27:12+00:00"/>
+    </HEADER>
+    <BODY>
+        <SET id="iis-referenced-projects-preprocessing">iis-referenced-projects-preprocessing</SET>
+        <IMPACT>INSERT_UPDATE</IMPACT>
+        <RAW_SETS>
+            <LATEST id="" lastUpdate="2014-11-17T17:27:12+00:00" creationDate="2014-11-17T13:20:05+00:00"/>
+        </RAW_SETS>
+        <STATUS>
+            <LAST_EXECUTION_DATE/>
+            <NUMBER_OF_INFOPACKAGES>0</NUMBER_OF_INFOPACKAGES>
+            <NUMBER_OF_ATOMICACTIONS>0</NUMBER_OF_ATOMICACTIONS>
+        </STATUS>
+    </BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/dataset.step.01.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/dataset.step.01.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/dataset.step.01.xml	(revision 51225)
@@ -0,0 +1,46 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="c24801f5-7366-4a4d-9867-c8827ed0e724_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+	        <DESCRIPTION>1 - Dataset: Match against the description</DESCRIPTION>
+            <DEDUPLICATION>
+ 			{ 
+				"wf" : { 
+			        "threshold" : "0.90",
+			        "dedupRun" : "001", 
+			        "entityType" : "dataset",
+			        "orderField" : "title", 
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "dataset", "personDataset_authorship_hasAuthor", "datasetProject_outcome_isProducedBy", "datasetDataset_isRelatedTo_isRelatedTo" ],
+			        "includeChildren" : "true" 
+			    },
+				"pace" : {		
+					"clustering" : [
+						{ "name" : "ngrampairs", "fields" : [ "title" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+						{ "name" : "suffixprefix", "fields" : [ "title" ], "params" : { "max" : "1", "len" : "3" } } 
+					],	
+			  		"conditions" : [ 
+			  		],
+					"model" : [
+			            { "name" : "title", "algo" : "LevensteinTitle", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "dataset/metadata/title/value" },
+						{ "name" : "description", "algo" : "Level2Levenstein", "type" : "String", "weight" : "1.0", "ignoreMissing" : "true", "path" : "dataset/metadata/description/value" }
+					],
+					"blacklists" : {}
+				}
+			}
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.02.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.02.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/DedupConfigurationDSResources/DedupConfigurationDSResourceType/organization.step.02.xml	(revision 51225)
@@ -0,0 +1,43 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="1d52dba7-1902-4c25-bf5b-3598f29ef11c_RGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZXMvRGVkdXBDb25maWd1cmF0aW9uRFNSZXNvdXJjZVR5cGU="/>
+        <RESOURCE_TYPE value="DedupConfigurationDSResourceType"/>
+        <RESOURCE_KIND value="DedupConfigurationDSResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2001-12-31T12:00:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+        	<DESCRIPTION>2 - Organization: Match against the legalname</DESCRIPTION>
+            <DEDUPLICATION>
+			{ 
+				"wf" : { 
+			        "threshold" : "0.95", 
+			        "dedupRun" : "001", 
+			        "entityType" : "organization", 
+			        "orderField" : "legalname", 
+			        "queueMaxSize" : "2000",
+			        "groupMaxSize" : "10",
+			        "slidingWindowSize" : "200",
+			        "rootBuilder" : [ "organization", "projectOrganization_participation_isParticipant", "datasourceOrganization_provision_isProvidedBy" ],
+			        "includeChildren" : "true" 
+			    },
+				"pace" : {		
+					"clustering" : [
+						{ "name" : "ngrampairs", "fields" : [ "legalname" ], "params" : { "max" : "1", "ngramLen" : "3"} },
+						{ "name" : "suffixprefix", "fields" : [ "legalname" ], "params" : { "max" : "1", "len" : "3" } } 
+					],		
+					"model" : [
+						{ "name" : "legalname", "algo" : "JaroWinkler", "type" : "String", "weight" : "1.0", "ignoreMissing" : "false", "path" : "organization/metadata/legalname/value" }
+					],
+					"blacklists" : { } 		
+				}
+			} 	
+            </DEDUPLICATION>
+        </CONFIGURATION>
+        <STATUS>
+            <LAST_UPDATE value="2001-12-31T12:00:00"/>
+        </STATUS>
+        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/19933778-e582-4af2-8668-26414b5386c9.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/19933778-e582-4af2-8668-26414b5386c9.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/19933778-e582-4af2-8668-26414b5386c9.xml	(revision 51225)
@@ -0,0 +1,41 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="19933778-e582-4af2-8668-26414b5386c9_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:content_description_typologies">D-Net Content Description Typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>D-Net Content Description Typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="file::EuropePMC" code="file::EuropePMC" english_name="file::EuropePMC" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="file::PDF" code="file::PDF" english_name="file::PDF" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="file::WoS" code="file::WoS" english_name="file::WoS" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="metadata" code="metadata" english_name="metadata" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="file::hybrid" code="file::hybrid" english_name="file::hybrid" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a48f6872-4055-484f-b365-a9c11f5ff152.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a48f6872-4055-484f-b365-a9c11f5ff152.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/a48f6872-4055-484f-b365-a9c11f5ff152.xml	(revision 51225)
@@ -0,0 +1,60 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="a48f6872-4055-484f-b365-a9c11f5ff152_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:dataCite_resource">dnet:dataCite_resource</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:dataCite_resource</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="collection" encoding="OPENAIRE" english_name="collection" native_name="collection">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="dataset" encoding="OPENAIRE" english_name="dataset" native_name="dataset">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="event" encoding="OPENAIRE" english_name="event" native_name="event">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="film" encoding="OPENAIRE" english_name="film" native_name="film">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="image" encoding="OPENAIRE" english_name="image" native_name="image">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="interactiveResource" encoding="OPENAIRE" english_name="interactiveResource" native_name="interactiveResource">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="model" encoding="OPENAIRE" english_name="model" native_name="model">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="physicalObject" encoding="OPENAIRE" english_name="physicalObject" native_name="physicalObject">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="service" encoding="OPENAIRE" english_name="service" native_name="service">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="software" encoding="OPENAIRE" english_name="software" native_name="software">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="sound" encoding="OPENAIRE" english_name="sound" native_name="sound">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="text" encoding="OPENAIRE" english_name="text" native_name="text">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5c8b4a2e-5487-4971-a931-58aca0196a8a.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5c8b4a2e-5487-4971-a931-58aca0196a8a.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/5c8b4a2e-5487-4971-a931-58aca0196a8a.xml	(revision 51225)
@@ -0,0 +1,57 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="5c8b4a2e-5487-4971-a931-58aca0196a8a_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:subject_classification_typologies">dnet:subject_classification_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:subject_classification_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="DFG Classification" code="DFG" english_name="DFG Classification" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="ddc" code="ddc" english_name="Dewey Decimal Classification" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Horizon 2020 Topics" code="ec:h2020topics" english_name="Horizon 2020 Topics" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="mesheuropmc" code="mesheuropmc" english_name="Medical Subject Headings" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenDOAR subjects" code="dnet:od_subjects" english_name="OpenDOAR subjects" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="UNKNOWN" code="UNKNOWN" english_name="UNKNOWN" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="wos" code="wos" english_name="Web of Science Subject Areas" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="arxiv" code="arxiv" english_name="arXiv" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="Field of Application (NSF)" code="nsf:fieldOfApplication" english_name="Field of Application (NSF)" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b.xml	(revision 51225)
@@ -0,0 +1,33 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value="String"/>
+		<DATE_OF_CREATION value="2015-07-22T15:58:39+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:externalReference_typologies">dnet:externalReference_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>Types for externalreference field of results</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="accessionNumber" code="accessionNumber" english_name="accessionNumber" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="dataset" code="dataset" english_name="dataset" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="software" code="software" english_name="software" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-07-22T15:58:39+00:00"/>
+		</STATUS>
+		<SECURITY_PARAMETERS/>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file

Property changes on: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ee65c3bb-fb73-4d5d-a21c-f00bc7cac64b.xml
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec4a6f99-bbc1-482d-aa3a-c171f9401d26.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec4a6f99-bbc1-482d-aa3a-c171f9401d26.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec4a6f99-bbc1-482d-aa3a-c171f9401d26.xml	(revision 51225)
@@ -0,0 +1,140 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="ec4a6f99-bbc1-482d-aa3a-c171f9401d26_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-04-27T10:37:34+00:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:protocols">dnet:protocols</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:protocols</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM native_name="NetCDF" code="NetCDF" english_name="NetCDF" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="OpenDAP" code="OpenDAP" english_name="OpenDAP" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="UNKNOWN" code="UNKNOWN" english_name="UNKNOWN" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="api" code="api" english_name="api" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="datasetsbyjournal" code="datasetsbyjournal" english_name="datasetsbyjournal" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="datasetsbyproject" code="datasetsbyproject" english_name="datasetsbyproject" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="file" code="file" english_name="file" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="CMREntityRegistry" code="CMREntityRegistry" english_name="CMREntityRegistry" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="fileCSV" code="fileCSV" english_name="fileCSV" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="fileGzip" code="fileGzip" english_name="fileGzip" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="files_by_rpc" code="files_by_rpc" english_name="files_by_rpc" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="files_from_mdstore" code="files_from_mdstore" english_name="files_from_mdstore" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="files_from_metadata" code="files_from_metadata" english_name="files_from_metadata" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="filesystem" code="filesystem" english_name="filesystem" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="ftp" code="ftp" english_name="ftp" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="http" code="http" english_name="http" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="httpCSV" code="httpCSV" english_name="httpCSV" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="httpList" code="httpList" english_name="httpList" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="jdbc" code="jdbc" english_name="jdbc" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="oai" code="oai" english_name="oai" encoding="OPENAIRE">
+					<SYNONYMS>
+						<SYNONYM term="OAI-PMH" encoding="OPENAIRE"/>
+						<SYNONYM term="OAI_PMH" encoding="OPENAIRE"/>
+					</SYNONYMS>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="oai_sets" code="oai_sets" english_name="oai_sets" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="other" code="other" english_name="other" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="re3data" code="re3data" english_name="re3data" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="rest" code="rest" english_name="rest" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="soap" code="soap" english_name="soap" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="sparql" code="sparql" english_name="sparql" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="sword" code="sword" english_name="sword" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="targz" code="targz" english_name="targz" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+				<TERM native_name="sftp" code="sftp" english_name="sftp" encoding="OPENAIRE">
+					<SYNONYMS/>
+					<RELATIONS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/3470afb2-d15f-4046-988e-7a7a2f7c993b.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/3470afb2-d15f-4046-988e-7a7a2f7c993b.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/3470afb2-d15f-4046-988e-7a7a2f7c993b.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="3470afb2-d15f-4046-988e-7a7a2f7c993b_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-08T18:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="fct:funding_typologies">fct:funding_typologies</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>fct:funding_typologies</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="fct:program" encoding="OPENAIRE" english_name="fct:program" native_name="fct:program">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-01-08T18:46:37Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec216410-9ebc-4547-bb4a-190acb0985ef.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec216410-9ebc-4547-bb4a-190acb0985ef.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/ec216410-9ebc-4547-bb4a-190acb0985ef.xml	(revision 51225)
@@ -0,0 +1,24 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="ec216410-9ebc-4547-bb4a-190acb0985ef_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-08T19:46:38+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="fct:funding_relations">fct:funding_relations</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>fct:funding_relations</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="fct:hasParentFunding" encoding="OPENAIRE" english_name="fct:hasParentFunding" native_name="fct:hasParentFunding">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2015-01-08T19:46:38Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/4f80e5c4-577f-422e-ba29-5cb86e4381cb.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/4f80e5c4-577f-422e-ba29-5cb86e4381cb.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/VocabularyDSResourceType/4f80e5c4-577f-422e-ba29-5cb86e4381cb.xml	(revision 51225)
@@ -0,0 +1,51 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER value="4f80e5c4-577f-422e-ba29-5cb86e4381cb_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL1ZvY2FidWxhcnlEU1Jlc291cmNlVHlwZQ=="/>
+		<RESOURCE_TYPE value="VocabularyDSResourceType"/>
+		<RESOURCE_KIND value="VocabularyDSResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2013-11-18T10:46:37+01:00"/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME code="dnet:dataCite_date">dnet:dataCite_date</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>dnet:dataCite_date</VOCABULARY_DESCRIPTION>
+			<TERMS>
+				<TERM code="available" encoding="OPENAIRE" english_name="available" native_name="available">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="copyrighted" encoding="OPENAIRE" english_name="copyrighted" native_name="copyrighted">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="created" encoding="OPENAIRE" english_name="created" native_name="created">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="endDate" encoding="OPENAIRE" english_name="endDate" native_name="endDate">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="issued" encoding="OPENAIRE" english_name="issued" native_name="issued">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="startDate" encoding="OPENAIRE" english_name="startDate" native_name="startDate">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="submitted" encoding="OPENAIRE" english_name="submitted" native_name="submitted">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="UNKNOWN" encoding="OPENAIRE" english_name="UNKNOWN" native_name="UNKNOWN">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="updated" encoding="OPENAIRE" english_name="updated" native_name="updated">
+					<SYNONYMS/>
+				</TERM>
+				<TERM code="valid" encoding="OPENAIRE" english_name="valid" native_name="valid">
+					<SYNONYMS/>
+				</TERM>
+			</TERMS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2013-11-18T10:46:36Z"/>
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
\ No newline at end of file
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/MetadataFormatDSResourceType/7-de9a7d86-00cd-4348-905d-0c977b2b996d.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/MetadataFormatDSResourceType/7-de9a7d86-00cd-4348-905d-0c977b2b996d.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/VocabularyDSResources/MetadataFormatDSResourceType/7-de9a7d86-00cd-4348-905d-0c977b2b996d.xml	(revision 51225)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+			value="7-de9a7d86-00cd-4348-905d-0c977b2b996d_Vm9jYWJ1bGFyeURTUmVzb3VyY2VzL01ldGFkYXRhRm9ybWF0RFNSZXNvdXJjZVR5cGU=" />
+		<RESOURCE_TYPE value="MetadataFormatDSResourceType" />
+		<RESOURCE_KIND value="VocabularyDSResources" />
+		<RESOURCE_URI value="String" />
+		<DATE_OF_CREATION value="2008-05-20T12:44:48+02:00" />
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<VOCABULARY_NAME>Informations about metadata formats
+			</VOCABULARY_NAME>
+			<VOCABULARY_DESCRIPTION>Contain the necessary informations about the metadata formats used by DRIVER</VOCABULARY_DESCRIPTION>
+			<METADATAFORMATS>
+				<METADATAFORMAT NameSpace="http://www.openarchives.org/OAI/2.0/oai_dc/"
+					Prefix="oai_dc" Schema="http://www.openarchives.org/OAI/2.0/oai_dc.xsd"
+					name="DC" IndexPrefix="DMF" IndexLayout="index" IndexDate="dateAccepted"
+					IndexQuery="Textual" />
+				<METADATAFORMAT NameSpace="http://schema.datacite.org/oai/oai-1.0/"
+					Prefix="oai_datacite" Schema="http://schema.datacite.org/oai/oai-1.0/oai.xsd"
+					name="OAI_DATACITE" IndexPrefix="oai_datacite" IndexLayout="index"
+					IndexDate="dateAccepted" IndexQuery="Textual" />
+				<METADATAFORMAT NameSpace="http://datacite.org/schema/nonexistant"
+					Prefix="datacite"
+					Schema="http://schema.datacite.org/meta/nonexistant/nonexistant.xsd"
+					name="DATACITE" IndexPrefix="datacite" IndexLayout="index"
+					IndexDate="dateAccepted" IndexQuery="Textual" />
+				<METADATAFORMAT NameSpace="http://www.driver-repository.eu/OAI/2.0/DMF/"
+					Prefix="DMF"
+					Schema="http://driver.research-infrastructures.eu/schemas/DMFSchema.xsd"
+					name="DMF" IndexPrefix="DMF" IndexLayout="index" IndexDate="dateAccepted"
+					IndexQuery="Textual" />
+			</METADATAFORMATS>
+		</CONFIGURATION>
+		<STATUS>
+			<LAST_UPDATE value="2008-05-20T12:44:48+02:00" />
+		</STATUS>
+		<SECURITY_PARAMETERS>String</SECURITY_PARAMETERS>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/WebInterfaceLayoutResources/WebInterfaceLayoutResourceType/4352524d-4083-409d-929a-fa3269affbc6.xml
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/WebInterfaceLayoutResources/WebInterfaceLayoutResourceType/4352524d-4083-409d-929a-fa3269affbc6.xml	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/bootstrap/profiles/WebInterfaceLayoutResources/WebInterfaceLayoutResourceType/4352524d-4083-409d-929a-fa3269affbc6.xml	(revision 51225)
@@ -0,0 +1,882 @@
+<RESOURCE_PROFILE>
+    <HEADER>
+        <RESOURCE_IDENTIFIER value="4352524d-4083-409d-929a-fa3269affbc6_V2ViSW50ZXJmYWNlTGF5b3V0UmVzb3VyY2VzL1dlYkludGVyZmFjZUxheW91dFJlc291cmNlVHlwZQ=="/>
+        <RESOURCE_TYPE value="WebInterfaceLayoutResourceType"/>
+        <RESOURCE_KIND value="WebInterfaceLayoutResources"/>
+        <RESOURCE_URI value=""/>
+        <DATE_OF_CREATION value="2010-11-30T17:54:35+01:00"/>
+    </HEADER>
+    <BODY>
+        <CONFIGURATION>
+            <NAME>openaire</NAME>
+            <MDFORMAT_NAME>DMF</MDFORMAT_NAME>
+            <INDEX_LAYOUT_NAME>index</INDEX_LAYOUT_NAME>
+        </CONFIGURATION>
+        <CSS_FILE>driver_search.css</CSS_FILE>
+        <SUPPORTED_LOCALES>
+            <SUPPORTED_LOCALE DEFAULT="true">
+                <LOCALE>en_GB</LOCALE>
+            </SUPPORTED_LOCALE>
+        </SUPPORTED_LOCALES>
+        <SEARCHABLES>
+            <SEARCHABLE hidden="false">
+                <NAME>author</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>creator</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Author</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">author</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>title</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>title</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Title</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">title</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>2</SEARCH_RANK>
+                <REFINE_RANK>2</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>subject</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>subject</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Subject</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">subject</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>3</SEARCH_RANK>
+                <REFINE_RANK>3</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>publisher</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>publisher</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Publisher</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">publisher</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>5</SEARCH_RANK>
+                <REFINE_RANK>5</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>dateAccept</NAME>
+                <TYPE>date</TYPE>
+                <INDEX_TYPE>publicationdate</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Publication Date</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">published</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>8</SEARCH_RANK>
+                <REFINE_RANK>-1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+                <FROM_YEAR>1980</FROM_YEAR>
+                <TO_YEAR>-1</TO_YEAR>
+                <PERIOD_BACK_MAP>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">0</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the specified date range</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">1</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last one month</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">2</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 2 months</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">3</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 3 months</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">6</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 6 months</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">12</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 12 months</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">24</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 2 years</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">36</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 3 years</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">60</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 5 years</value>
+                        </value>
+                    </mapEntry>
+                    <mapEntry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:int">120</key>
+                        <value>
+                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">in the last 10 years</value>
+                        </value>
+                    </mapEntry>
+                </PERIOD_BACK_MAP>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>lang</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>language</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Document Language</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">language</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>true</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>9</SEARCH_RANK>
+                <REFINE_RANK>7</REFINE_RANK>
+                <BROWSE_RANK>1</BROWSE_RANK>
+                <SEARCH_VOCABULARY>Short list of language names</SEARCH_VOCABULARY>
+                <BROWSE_VOCABULARY>Names of languages</BROWSE_VOCABULARY>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="true">
+                <NAME>project</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>projectname</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Project</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">project</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>true</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>areaid</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>subdivisionid</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Scientific Areas</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">area</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>true</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>11</SEARCH_RANK>
+                <REFINE_RANK>9</REFINE_RANK>
+                <BROWSE_RANK>3</BROWSE_RANK>
+                <SEARCH_VOCABULARY>subdivisionNames</SEARCH_VOCABULARY>
+                <BROWSE_VOCABULARY>subdivisionNames</BROWSE_VOCABULARY>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="true">
+                <NAME>area</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>subdivisionname</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Scientific Area</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">area</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>country</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>countryaffiliation</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Country</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">country</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>true</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+                <SEARCH_VOCABULARY>Names of Countries</SEARCH_VOCABULARY>
+                <BROWSE_VOCABULARY>Names of Countries</BROWSE_VOCABULARY>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>programmeid</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>specificprogrammeid</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Programmes</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">programmes</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>true</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>11</SEARCH_RANK>
+                <REFINE_RANK>9</REFINE_RANK>
+                <BROWSE_RANK>3</BROWSE_RANK>
+                <SEARCH_VOCABULARY>programmeNames</SEARCH_VOCABULARY>
+                <BROWSE_VOCABULARY>programmeNames</BROWSE_VOCABULARY>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="true">
+                <NAME>programme</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>specificprogrammename</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Programmes</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">programmes</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="false">
+                <NAME>repName</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>datasourcename</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Repositories</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">repositories</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>11</SEARCH_RANK>
+                <REFINE_RANK>9</REFINE_RANK>
+                <BROWSE_RANK>3</BROWSE_RANK>
+                <SEARCH_VOCABULARY>Names of Repositories</SEARCH_VOCABULARY>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="true">
+                <NAME>year</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>publicationyear</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Publication Year</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">year</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>true</IN_BROWSE>
+                <SEARCH_RANK>11</SEARCH_RANK>
+                <REFINE_RANK>9</REFINE_RANK>
+                <BROWSE_RANK>3</BROWSE_RANK>
+            </SEARCHABLE>
+            <SEARCHABLE hidden="true">
+                <NAME>accessmode</NAME>
+                <TYPE>plain</TYPE>
+                <INDEX_TYPE>accessmode</INDEX_TYPE>
+                <DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Access Mode</value>
+                    </entry>
+                </DESCRIPTION_MAP>
+                <SHORT_DESCRIPTION_MAP>
+                    <entry>
+                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">en_GB</key>
+                        <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">access</value>
+                    </entry>
+                </SHORT_DESCRIPTION_MAP>
+                <IN_SEARCH>true</IN_SEARCH>
+                <IN_REFINE>false</IN_REFINE>
+                <IN_BROWSE>false</IN_BROWSE>
+                <SEARCH_RANK>1</SEARCH_RANK>
+                <REFINE_RANK>1</REFINE_RANK>
+                <BROWSE_RANK>-1</BROWSE_RANK>
+            </SEARCHABLE>
+        </SEARCHABLES>
+        <DOCUMENT_DESCRIPTIONS>
+            <entry>
+                <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">summaryView</key>
+                <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="DocumentDescriptionType">
+                    <view>summaryView</view>
+                    <documentFields>
+                        <documentField>
+                            <switch conditionField="CobjTypology">
+                                <documentFieldMap>
+                                    <entry>
+                                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Compound Object</key>
+                                        <value xsi:type="DocumentFieldType">
+                                            <name>identifier</name>
+                                            <descriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                </entry>
+                                            </descriptionMap>
+                                            <forceDescription>true</forceDescription>
+                                            <multipleValuesDescriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">You can also visit...</value>
+                                                </entry>
+                                            </multipleValuesDescriptionMap>
+                                            <displays>
+                                                <display>
+                                                    <displayType>internalUrl</displayType>
+                                                    <action>showEPublication</action>
+                                                    <parameter>epId</parameter>
+                                                    <descriptionMap>
+                                                        <entry>
+                                                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                        </entry>
+                                                    </descriptionMap>
+                                                </display>
+                                            </displays>
+                                            <maxCharacters>1</maxCharacters>
+                                            <cutpoint>value</cutpoint>
+                                            <cssClass>document_ep</cssClass>
+                                        </value>
+                                    </entry>
+                                    <entry>
+                                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Textual</key>
+                                        <value xsi:type="DocumentFieldType">
+                                            <name>identifier</name>
+                                            <descriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                </entry>
+                                            </descriptionMap>
+                                            <forceDescription>true</forceDescription>
+                                            <multipleValuesDescriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">You can also visit...</value>
+                                                </entry>
+                                            </multipleValuesDescriptionMap>
+                                            <displays>
+                                                <display>
+                                                    <displayType>documentExternalUrl</displayType>
+                                                    <descriptionMap>
+                                                        <entry>
+                                                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                        </entry>
+                                                    </descriptionMap>
+                                                </display>
+                                            </displays>
+                                            <maxCharacters>1</maxCharacters>
+                                            <cutpoint>value</cutpoint>
+                                            <cssClass>document_text</cssClass>
+                                        </value>
+                                    </entry>
+                                </documentFieldMap>
+                            </switch>
+                            <cutpoint>line</cutpoint>
+                        </documentField>
+                        <documentField>
+                            <name>creator</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Author(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>search</displayType>
+                                    <label>author</label>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>100</maxCharacters>
+                            <cutpoint>value</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>projectname</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Project(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>300</maxCharacters>
+                            <cutpoint>part</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                    </documentFields>
+                </value>
+            </entry>
+            <entry>
+                <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">detailedView</key>
+                <value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="DocumentDescriptionType">
+                    <view>detailedView</view>
+                    <documentFields>
+                        <documentField>
+                            <switch conditionField="CobjTypology">
+                                <documentFieldMap>
+                                    <entry>
+                                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Compound Object</key>
+                                        <value xsi:type="DocumentFieldType">
+                                            <name>identifier</name>
+                                            <descriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                </entry>
+                                            </descriptionMap>
+                                            <forceDescription>true</forceDescription>
+                                            <multipleValuesDescriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">You can also visit...</value>
+                                                </entry>
+                                            </multipleValuesDescriptionMap>
+                                            <displays>
+                                                <display>
+                                                    <displayType>internalUrl</displayType>
+                                                    <action>showEPublication</action>
+                                                    <parameter>epId</parameter>
+                                                    <descriptionMap>
+                                                        <entry>
+                                                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                        </entry>
+                                                    </descriptionMap>
+                                                </display>
+                                            </displays>
+                                            <maxCharacters>1</maxCharacters>
+                                            <cutpoint>value</cutpoint>
+                                            <cssClass>document_ep</cssClass>
+                                        </value>
+                                    </entry>
+                                    <entry>
+                                        <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Textual</key>
+                                        <value xsi:type="DocumentFieldType">
+                                            <name>identifier</name>
+                                            <descriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                </entry>
+                                            </descriptionMap>
+                                            <forceDescription>true</forceDescription>
+                                            <multipleValuesDescriptionMap>
+                                                <entry>
+                                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">You can also visit...</value>
+                                                </entry>
+                                            </multipleValuesDescriptionMap>
+                                            <displays>
+                                                <display>
+                                                    <displayType>documentExternalUrl</displayType>
+                                                    <descriptionMap>
+                                                        <entry>
+                                                            <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                                            <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">${title}</value>
+                                                        </entry>
+                                                    </descriptionMap>
+                                                </display>
+                                            </displays>
+                                            <maxCharacters>1</maxCharacters>
+                                            <cutpoint>value</cutpoint>
+                                            <cssClass>document_text</cssClass>
+                                        </value>
+                                    </entry>
+                                </documentFieldMap>
+                            </switch>
+                            <cutpoint>line</cutpoint>
+                        </documentField>
+                        <documentField>
+                            <name>creator</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Author(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>search</displayType>
+                                    <label>author</label>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>100</maxCharacters>
+                            <cutpoint>value</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>projectname</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Project(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>300</maxCharacters>
+                            <cutpoint>part</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>description</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Description</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>300</maxCharacters>
+                            <cutpoint>part</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>specificprogrammedescription</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Programme(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>300</maxCharacters>
+                            <cutpoint>part</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>subdivisionname</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Scientific Area(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>subject</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Subject(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>datasourcename</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Repository</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>300</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>language</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Language(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <vocabulary>Names of Languages</vocabulary>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>100</maxCharacters>
+                            <cutpoint>value</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>publisher</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Publisher(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>publicationdate</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Publication Date(s)</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>embargoenddate</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Embargo End Date</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                        <documentField>
+                            <name>accessmode</name>
+                            <descriptionMap>
+                                <entry>
+                                    <key xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">en_GB</key>
+                                    <value xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">Access Mode</value>
+                                </entry>
+                            </descriptionMap>
+                            <displays>
+                                <display>
+                                    <displayType>plain</displayType>
+                                    <descriptionMap/>
+                                </display>
+                            </displays>
+                            <maxCharacters>2147483647</maxCharacters>
+                            <cutpoint>line</cutpoint>
+                            <cssClass>resultsField</cssClass>
+                        </documentField>
+                    </documentFields>
+                </value>
+            </entry>
+        </DOCUMENT_DESCRIPTIONS>
+        <VIEW_COMMUNITIES>false</VIEW_COMMUNITIES>
+        <VIEW_COLLECTIONS>false</VIEW_COLLECTIONS>
+        <VIEW_REPOSITORIES>true</VIEW_REPOSITORIES>
+        <VIEW_ANNOUNCEMENTS>true</VIEW_ANNOUNCEMENTS>
+        <VIEW_USER_PROFILE>true</VIEW_USER_PROFILE>
+        <VIEW_SIMILAR_DOCUMENTS>false</VIEW_SIMILAR_DOCUMENTS>
+        <VIEW_EPUBLICATIONS>false</VIEW_EPUBLICATIONS>
+    </BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/ParticipationRelations.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/ParticipationRelations.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/ParticipationRelations.proto	(revision 51225)
@@ -0,0 +1,15 @@
+package eu.dnetlib.data.proto;
+
+import "DngfParent.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "ParticipationRelations";
+
+
+extend DNGFRel {
+
+    optional string participantnumber = 106;
+
+}
+
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Dataset.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Dataset.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Dataset.proto	(revision 51225)
@@ -0,0 +1,58 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+import "Person.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "DatasetProtos";
+
+message Dataset {
+
+	extensions 100 to 199;
+
+	optional Metadata metadata = 2;
+	
+	repeated Instance instance = 6;
+	
+	repeated ExternalReference externalReference = 7;
+
+	repeated Person author = 8;
+
+	message Metadata {
+
+		extensions 100 to 199;
+
+		// resulttype allows subclassing results into publications or datasets
+		optional Qualifier resulttype = 8;
+
+		// common fields
+		optional Qualifier language = 12;
+		repeated Qualifier country = 33;
+
+		repeated StructuredProperty subject = 1;
+		repeated StructuredProperty title = 2;
+		repeated StructuredProperty relevantdate = 3;
+
+		repeated StringField description = 25;
+		optional StringField dateofacceptance = 4;
+		optional StringField publisher = 5;
+		optional StringField embargoenddate = 6;
+		repeated StringField source = 27;
+		repeated StringField fulltext = 29; // remove candidate
+		repeated StringField format = 21;
+		repeated StringField contributor = 30;
+
+		repeated Context context = 28;
+
+		// dataset specific
+		optional StringField storagedate = 9;
+		optional Qualifier resourcetype = 19;
+		optional StringField device = 26;
+		optional StringField size = 20;
+		optional StringField version = 22;
+		optional StringField lastmetadataupdate = 23;
+		optional StringField metadataversionnumber = 24;
+	}
+
+}
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Person.proto
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Person.proto	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/Person.proto	(revision 51225)
@@ -0,0 +1,49 @@
+package eu.dnetlib.data.proto;
+
+import "FieldType.proto";
+
+option java_package = "eu.dnetlib.data.proto";
+option java_outer_classname = "PersonProtos";
+
+message Person {
+
+	optional Metadata metadata = 2;
+
+	message Metadata {
+		optional StringField firstname = 1;
+		repeated StringField secondnames = 2;
+		optional StringField fullname = 11;
+		optional StringField fax = 3;
+		optional StringField email = 4;
+		optional StringField phone = 5;
+
+		optional Qualifier nationality = 9;
+	}
+
+	// Dedup preprocess
+	repeated CoAuthor coauthor = 4;
+
+	repeated MergedPerson mergedperson = 5;
+	
+	optional bool anchor = 6 [default = false];
+
+	message CoAuthor {
+	
+		required string id = 1;
+
+		optional string anchorId = 2;
+		
+		optional int32 coauthoredpapers = 3 [default = 1];
+	
+		optional Metadata metadata = 4;	
+	}
+
+	message MergedPerson {
+	
+		required string id = 1;
+	
+		optional Metadata metadata = 2;	
+	}
+
+}
+
Index: modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/xsd/oafProtoSchema.xsd
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/xsd/oafProtoSchema.xsd	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src/main/resources/eu/dnetlib/data/proto/xsd/oafProtoSchema.xsd	(revision 51225)
@@ -0,0 +1,309 @@
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+	<xs:element name="Oaf">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="kind" type="kindType" minOccurs="1"/>
+				<xs:choice>
+					<xs:element ref="entity"/>
+					<xs:element ref="rel"/>
+				</xs:choice>
+				<xs:element name="dataInfo" type="dataInfoType"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	<xs:simpleType name="kindType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="relation"/>
+			<xs:enumeration value="entity"/>
+		</xs:restriction>
+	</xs:simpleType>
+	<xs:element name="entity">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="type" type="entityType" minOccurs="1"/>
+				<xs:choice>
+					<xs:element ref="person"/>
+					<xs:element ref="result"/>
+					<!-- ... other entities ... -->
+				</xs:choice>
+				<xs:element name="originalId" type="xs:string" maxOccurs="unbounded" />
+				<xs:element name="collectedfrom" type="keyValueType" maxOccurs="unbounded" />
+				<xs:element name="pid" type="structuredPropertyType" minOccurs="0" maxOccurs="unbounded" />
+				<xs:element name="dateofcollection" type="xs:string"/> <!-- replace with xs:date or xs:datetime ?? -->
+				<xs:element name="id" type="xs:string" minOccurs="1"/>
+				<xs:element name="dateoftransformation" type="xs:string" minOccurs="0"/> <!-- replace with xs:date or xs:datetime ?? -->
+				<xs:element name="oaiprovenance" type="OAIProvenanceType" minOccurs="0"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+
+	<xs:simpleType name="entityType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="result"/>
+			<xs:enumeration value="person"/>
+			<xs:enumeration value="datasource"/>
+			<xs:enumeration value="project"/>
+			<xs:enumeration value="organization"/>
+		</xs:restriction>
+	</xs:simpleType>
+
+	<!-- RESULT -->
+	<xs:element name="result">
+		<xs:complexType>
+			<xs:all>
+				<xs:element name="metadata" type="resultMetadataType"/>
+				<xs:element name="instance" type="instanceType"/>
+				<xs:element name="externalReference" type="externalReferenceType"/>
+				<!-- <xs:element ref="author"/> -->
+			</xs:all>
+		</xs:complexType>
+	</xs:element>
+	<xs:complexType name="instanceType">
+		<xs:sequence>
+			<xs:element name="licence" type="qualifierType"/>
+			<xs:element name="instancetype" type="qualifierType"/>
+			<xs:element name="hostedby" type="keyValueType"/>
+			<xs:element name="url" type="xs:anyURI" maxOccurs="unbounded" />
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="externalReferenceType">
+		<xs:all>
+			<xs:element name="sitename" type="xs:string" minOccurs="0" />
+			<xs:element name="label" type="xs:string" minOccurs="0" />
+			<xs:element name="url" type="xs:string" minOccurs="0" />
+			<xs:element name="description" type="xs:string" minOccurs="0" />
+			<xs:element name="qualifier" type="qualifierType" minOccurs="0" />
+			<xs:element name="refidentifier" type="xs:string" minOccurs="0" />
+			<xs:element name="query" type="xs:string" minOccurs="0" />
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0" />
+		</xs:all>
+	</xs:complexType>
+	<xs:complexType name="resultMetadataType">
+		<xs:sequence>
+			<xs:element name="subject" type="structuredPropertyType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="title" type="structuredPropertyType" maxOccurs="unbounded"/>
+			<xs:element name="dateofacceptance" type="stringFieldType" minOccurs="0" />
+			<xs:element name="publisher" type="stringFieldType" minOccurs="0" />
+			<xs:element name="embargoenddate" type="stringFieldType" minOccurs="0" />
+			<xs:element name="resulttype" type="qualifierType"/> <!-- resulttype allows subclassing results into publications or datasets -->
+			<xs:element name="language" type="qualifierType" minOccurs="0"/>
+			<xs:element name="journal" type="journalType" minOccurs="0" />
+			<xs:element name="description" type="stringFieldType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="source" type="stringFieldType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="context" type="contextType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="contributor" type="stringFieldType" minOccurs="0" maxOccurs="unbounded"/>
+
+
+			<xs:element name="country" type="qualifierType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="relevantdate" type="structuredPropertyType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="fulltext" type="stringFieldType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="format" type="stringFieldType" minOccurs="0" maxOccurs="unbounded"/>
+			<xs:element name="storagedate" type="stringFieldType" minOccurs="0" />
+			<xs:element name="resourcetype" type="qualifierType" minOccurs="0"  />
+			<xs:element name="device" type="stringFieldType" minOccurs="0" />
+			<xs:element name="size" type="stringFieldType" minOccurs="0" />
+			<xs:element name="version" type="stringFieldType" minOccurs="0" />
+			<xs:element name="lastmetadataupdate" type="stringFieldType" minOccurs="0" />
+			<xs:element name="metadataversionnumber" type="stringFieldType" minOccurs="0" />
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="contextType">
+		<xs:all>
+			<xs:element name="id" type="xs:string" minOccurs="1"/>
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0" />
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="journalType">
+		<xs:all>
+			<xs:element name="name" type="xs:string"/>
+			<xs:element name="issnPrinted" type="xs:string" minOccurs="0" />
+			<xs:element name="issnOnline" type="xs:string" minOccurs="0" />
+			<xs:element name="issnLinking" type="xs:string" minOccurs="0" />
+			<xs:element name="datInfo" type="dataInfoType" minOccurs="0" />
+		</xs:all>
+	</xs:complexType>
+
+
+	<!-- END OF RESULT -->
+
+	<!-- PERSON -->
+	<xs:element name="person">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="metadata" type="personMetadataType"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+
+	<xs:complexType name="personMetadataType">
+		<xs:sequence>
+			<xs:element name="firstname" type="stringFieldType" minOccurs="0" />
+			<xs:element name="secondnames" type="stringFieldType" minOccurs="0" maxOccurs="unbounded" />
+			<xs:element name="fullname" type="stringFieldType" />
+			<xs:element name="fax" type="stringFieldType" minOccurs="0"/>
+			<xs:element name="email" type="stringFieldType" minOccurs="0" />
+			<xs:element name="phone" type="stringFieldType" minOccurs="0" />
+			<xs:element name="nationality" type="qualifierType" minOccurs="0" />
+		</xs:sequence>
+	</xs:complexType>
+
+	<!-- END OF PERSON -->
+
+
+
+
+
+
+	<!-- RELATIONSHIPS -->
+
+	<xs:element name="rel">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="relType" type="relationshipType" minOccurs="1"/>
+
+				<xs:element name="source" type="xs:string"/>
+				<xs:element name="target" type="xs:string"/>
+				<xs:element name="child" type="xs:boolean"/>
+
+				<xs:choice>
+					<xs:element name="personResult" type="personResultType"/>
+					<xs:element name="resultProject" type="resultProjectType"/>
+					<!-- ... -->
+				</xs:choice>
+
+				<xs:element name="subRelType" type="subRelationshipType" minOccurs="1"/>
+				<xs:element name="relClass" type="xs:string"/> <!-- we need to restrict the possible values here -->
+
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+
+	<xs:simpleType name="relationshipType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="datasourceOrganization"/>
+			<xs:enumeration value="personResult"/>
+			<xs:enumeration value="projectOrganization"/>
+			<xs:enumeration value="projectPerson"/>
+			<xs:enumeration value="resultOrganization"/>
+			<xs:enumeration value="resultProject"/>
+			<xs:enumeration value="resultResult"/>
+			<xs:enumeration value="personPerson"/>
+			<xs:enumeration value="organizationOrganization"/>
+		</xs:restriction>
+	</xs:simpleType>
+
+	<xs:simpleType name="subRelationshipType">
+		<xs:restriction base="xs:string">
+			<xs:enumeration value="provision"/>
+			<xs:enumeration value="coauthorship"/>
+			<xs:enumeration value="authorship"/>
+			<xs:enumeration value="participation"/>
+			<xs:enumeration value="contactPerson"/>
+			<xs:enumeration value="outcome"/>
+			<xs:enumeration value="similarity"/>
+			<xs:enumeration value="publicationDataset"/>
+			<xs:enumeration value="affiliation"/>
+			<xs:enumeration value="dedup"/>
+			<xs:enumeration value="dedupSimilarity"/>
+			<xs:enumeration value="supplement"/>
+			<xs:enumeration value="part"/>
+		</xs:restriction>
+	</xs:simpleType>
+
+	<xs:complexType name="personResultType">
+		<xs:all>
+			<xs:element name="authorship">
+				<xs:complexType>
+					<xs:all>
+						<xs:element name="relMetadata" type="relMetadataType" minOccurs="1" />
+						<xs:element name="ranking" type="xs:string"/> <!-- use numeric value here -->
+						<xs:element name="affiliation" type="xs:string" minOccurs="0"/>
+					</xs:all>
+				</xs:complexType>
+			</xs:element>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="resultProjectType">
+		<xs:all>
+			<xs:element name="outcome">
+				<xs:complexType>
+					<xs:sequence>
+						<xs:element name="relMetadata" type="relMetadataType" minOccurs="1" />
+					</xs:sequence>
+				</xs:complexType>
+			</xs:element>
+		</xs:all>
+	</xs:complexType>
+
+	<!-- BASIC TYPES -->
+	<xs:complexType name="dataInfoType">
+		<xs:all>
+			<xs:element name="inferred" type="xs:boolean"/>
+			<xs:element name="deletedbyinference" type="xs:boolean"/>
+			<xs:element name="trust" type="xs:string"/>
+			<xs:element name="provenanceaction" type="qualifierType" minOccurs="1"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="qualifierType">
+		<xs:all>
+			<xs:element name="classid" type="xs:string"/>
+			<xs:element name="classname" type="xs:string"/>
+			<xs:element name="schemeid" type="xs:string"/>
+			<xs:element name="schemename" type="xs:string"/>
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="keyValueType">
+		<xs:all>
+			<xs:element name="key" type="xs:string" minOccurs="1"/>
+			<xs:element name="value" type="xs:string"/>
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="structuredPropertyType">
+		<xs:all>
+			<xs:element name="value" type="xs:string" minOccurs="1"/>
+			<xs:element name="qualifier" type="qualifierType"/>
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="stringFieldType">
+		<xs:all>
+			<xs:element name="value" type="xs:string" minOccurs="1"/>
+			<xs:element name="dataInfo" type="dataInfoType" minOccurs="0"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="relMetadataType">
+		<xs:all>
+			<xs:element name="semantics" type="qualifierType"/>
+			<xs:element name="startdate" type="xs:string" minOccurs="0"/>
+			<xs:element name="enddate" type="xs:string" minOccurs="0"/>
+		</xs:all>
+	</xs:complexType>
+
+	<xs:complexType name="OAIProvenanceType">
+		<xs:sequence>
+			<xs:element name="originDescription" type="originDescriptionType" minOccurs="0"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="originDescriptionType">
+		<xs:sequence>
+			<xs:element name="harvestDate" type="xs:string" minOccurs="0"/>
+			<xs:element name="altered" type="xs:boolean" minOccurs="0"/>
+			<xs:element name="baseURL" type="xs:string" minOccurs="0"/>
+			<xs:element name="identifier" type="xs:string" minOccurs="0"/>
+			<xs:element name="datestamp" type="xs:string" minOccurs="0"/>
+			<xs:element name="metadataNamespace" type="xs:string" minOccurs="0"/>
+			<xs:element name="originDescription" type="originDescriptionType" minOccurs="0"/>
+
+		</xs:sequence>
+	</xs:complexType>
+
+</xs:schema>
Index: modules/dnet-graph-domain/branches/saxonHE/src
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE/src	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE/src	(revision 51225)

Property changes on: modules/dnet-graph-domain/branches/saxonHE/src
___________________________________________________________________
Added: svn:ignore
## -0,0 +1 ##
+gen
Index: modules/dnet-graph-domain/branches/saxonHE
===================================================================
--- modules/dnet-graph-domain/branches/saxonHE	(nonexistent)
+++ modules/dnet-graph-domain/branches/saxonHE	(revision 51225)

Property changes on: modules/dnet-graph-domain/branches/saxonHE
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,6 ##
+.project
+target
+src/gen
+.settings
+.classpath
+*.iml
