Project

General

Profile

« Previous | Next » 

Revision 53516

[maven-release-plugin] copy for tag dnet-openaireplus-mapping-utils-6.2.17

View differences:

modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/deploy.info
1
{"type_source": "SVN", "goal": "package -U source:jar", 
2
"url": "http://svn-public.driver.research-infrastructures.eu/driver/dnet45/modules/dnet-openaireplus-mapping-utils/trunk/", "deploy_repository": "dnet45-snapshots", "version": "4", "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/dnet45-snapshots", "name": "dnet-openaireplus-mapping-utils"}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/openaire/exporter/model/ProjectTest.java
1
package eu.dnetlib.openaire.exporter.model;
2

  
3
import org.junit.Before;
4
import org.junit.Test;
5

  
6
import static org.junit.Assert.assertEquals;
7

  
8
public class ProjectTest {
9

  
10
	Project pMZOS;
11
	Project pFP7;
12

  
13
	@Before
14
	public void setUp() throws Exception {
15
		pMZOS = new Project()
16
				.setFunder("MZOS")
17
				.setJurisdiction("HR")
18
				.setFundingpathid("irb_hr______::MZOS")
19
				.setAcronym("")
20
				.setTitle("Project Title")
21
				.setCode("115-1152437-2500")
22
				.setStartdate("2007-01-01")
23
				.setEnddate("2009-01-01");
24

  
25
		pFP7 = new Project()
26
				.setFunder("EC")
27
				.setJurisdiction("EU")
28
				.setFundingpathid("ec__________::EC::FP7::SP1::NMP")
29
				.setAcronym("REFFIBRE")
30
				.setTitle("Project Title")
31
				.setCode("604187")
32
				.setStartdate("2013-11-01")
33
				.setEnddate("20015-01-01");
34
	}
35

  
36
	@Test
37
	public void testIdNamespaceMZOS(){
38
		String ns = pMZOS.getIdnamespace();
39
		assertEquals("info:eu-repo/grantAgreement/MZOS//115-1152437-2500/HR", ns);
40
	}
41

  
42
	@Test
43
	public void testIdNamespaceFP7(){
44
		String ns = pFP7.getIdnamespace();
45
		assertEquals("info:eu-repo/grantAgreement/EC/FP7/604187/EU", ns);
46
	}
47

  
48

  
49

  
50
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/openaire/exporter/model/ProjectDetailTest.java
1
package eu.dnetlib.openaire.exporter.model;
2

  
3
import java.io.IOException;
4
import java.io.StringReader;
5

  
6
import com.google.common.collect.Lists;
7
import org.apache.commons.io.IOUtils;
8
import org.springframework.core.io.ClassPathResource;
9
import org.springframework.core.io.Resource;
10

  
11
import static org.junit.Assert.assertEquals;
12

  
13
/**
14
 * Created by claudio on 22/09/16.
15
 */
16
public class ProjectDetailTest {
17

  
18
	private Resource projectsCsv = new ClassPathResource("/eu/dnetlib/openaire/exporter/model/projectDetails.csv");
19
	private Resource projectsJson = new ClassPathResource("/eu/dnetlib/openaire/exporter/model/projectDetails.json");
20

  
21
	//@Test
22
	public void testSerialisationCSV() throws IOException {
23
		final String csv = IOUtils.toString(projectsCsv.getInputStream());
24
		doTest(csv, "csv");
25
	}
26

  
27
	//@Test
28
	public void testSerialisationCSV2() throws IOException {
29
		final ProjectDetail p = new ProjectDetail()
30
				.setAcronym("acro")
31
				.setCode("01")
32
				.setOptional1("op1")
33
				.setOptional2("op2")
34
				.setProjectId("project_01")
35
				.setJsonextrainfo("extraInfo")
36
				.setFundingPath(Lists.newArrayList("fundingpath1", "fundingpath2"));
37

  
38
		doTest(p.asCSV(), "csv");
39
	}
40

  
41
	//@Test
42
	public void testSerialisationJSON() throws IOException {
43
		final String json = IOUtils.toString(projectsJson.getInputStream());
44
		doTest(json, "json");
45
	}
46

  
47
	private void doTest(final String data, final String format) throws IOException {
48
		final StringReader reader = new StringReader(data);
49
		for(String line : IOUtils.readLines(reader)) {
50
			System.out.println("line:          " + line);
51
			ProjectDetail p;
52
			String s = "";
53
			switch (format) {
54
			case "csv":
55
				p = ProjectDetail.fromCSV(line);
56
				s = p.asCSV();
57
				break;
58
			case "json":
59
				p = ProjectDetail.fromJson(line);
60
				s = p.asJson();
61
				break;
62
			default: throw new IllegalArgumentException("invalid format: " + format);
63
			}
64
			System.out.println("serialisation: " + s);
65
			assertEquals(s, line);
66
		}
67
	}
68

  
69
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/mapreduce/util/OafDecoderTest.java
1
package eu.dnetlib.data.mapreduce.util;
2

  
3
import static org.junit.Assert.assertFalse;
4
import static org.junit.Assert.assertNotNull;
5

  
6
import java.util.List;
7

  
8
import org.junit.Test;
9

  
10
import eu.dnetlib.data.proto.KindProtos.Kind;
11
import eu.dnetlib.miscutils.functional.xml.IndentXmlString;
12

  
13
public class OafDecoderTest {
14

  
15
	@Test
16
	public void testAsXml() {
17

  
18
		final OafDecoder decoder = OafTest.embed(OafTest.getResult("50|id_1"), Kind.entity);
19

  
20
		assertNotNull(decoder);
21

  
22
		assertNotNull(decoder.asXml());
23

  
24
		System.out.println(IndentXmlString.apply(decoder.asXml()));
25

  
26
	}
27

  
28
	@Test
29
	public void testGetFieldValues() {
30
		final OafDecoder decoder = OafTest.embed(OafTest.getResult("50|id_1"), Kind.entity);
31

  
32
		final String path = "result/metadata/title/value";
33
		final List<String> titles = decoder.decodeEntity().getFieldValues(path);
34

  
35
		assertNotNull(titles);
36
		assertFalse(titles.isEmpty());
37
	}
38
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/mapreduce/util/OafRowKeyDecoderTest.java
1
package eu.dnetlib.data.mapreduce.util;
2

  
3
import org.junit.Test;
4

  
5
public class OafRowKeyDecoderTest {
6

  
7
	@Test
8
	public void test() {
9

  
10
		String id1 = "50|acnbad______::0a454baf9c61e63d42fb83ab549f8062";
11

  
12
		OafRowKeyDecoder d = OafRowKeyDecoder.decode(id1);
13

  
14
		System.out.println(d.getId());
15
	}
16

  
17
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/mapreduce/util/OafRelDecoderTest.java
1
package eu.dnetlib.data.mapreduce.util;
2

  
3
import eu.dnetlib.data.proto.DedupProtos.Dedup.RelName;
4
import eu.dnetlib.data.proto.OafProtos.OafRel;
5
import eu.dnetlib.data.proto.RelTypeProtos.RelType;
6
import eu.dnetlib.data.proto.RelTypeProtos.SubRelType;
7
import org.junit.Before;
8
import org.junit.Test;
9

  
10
import static org.junit.Assert.assertEquals;
11
import static org.junit.Assert.assertNotNull;
12

  
13
public class OafRelDecoderTest {
14

  
15
	private OafRel oafRel;
16

  
17
	@Before
18
	public void setUp() {
19
		oafRel = OafTest.getDedupRel("ID_1", "ID_2", RelType.resultResult, "isMergedIn");
20
	}
21

  
22
	@Test
23
	public void testSetClass() {
24

  
25
		OafRelDecoder d1 = OafRelDecoder.decode(oafRel);
26

  
27
		assertNotNull(d1);
28
		assertEquals("isMergedIn", d1.getRelClass());
29

  
30
		OafRelDecoder d2 = OafRelDecoder.decode(d1.setClassId("isMergedIn").build());
31

  
32
		assertEquals("isMergedIn", d2.getRelClass());
33
		assertEquals("isMergedIn", d2.getRelMetadata().getSemantics().getClassid());
34
		assertEquals("isMergedIn", d2.getRelMetadata().getSemantics().getClassname());
35

  
36
	}
37

  
38
	@Test
39
	public void testGetCF() {
40
		assertEquals("resultResult_dedup_isMergedIn", OafRelDecoder.getCFQ(RelType.resultResult, SubRelType.dedup, RelName.isMergedIn));
41
		assertEquals("resultResult_dedup_isMergedIn", OafRelDecoder.getCFQ(RelType.resultResult, SubRelType.dedup, "isMergedIn"));
42
	}
43

  
44
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/bulktag/CommunityConfigurationFactoryTest.java
1
package eu.dnetlib.data.bulktag;
2

  
3
import org.apache.commons.io.IOUtils;
4
import org.apache.commons.lang3.StringUtils;
5
import org.dom4j.DocumentException;
6
import org.junit.Before;
7
import org.junit.Test;
8

  
9
import java.io.IOException;
10

  
11
import static org.junit.Assert.assertEquals;
12
import static org.junit.Assert.assertTrue;
13

  
14
/**
15
 * Created by miriam on 03/08/2018.
16
 */
17
public class CommunityConfigurationFactoryTest {
18

  
19
    private String xml;
20

  
21
    @Before
22
    public void setUp() throws IOException, DocumentException {
23
        xml = IOUtils.toString(getClass().getResourceAsStream("community_configuration.xml"));
24
    }
25

  
26
    @Test
27
    public void parseTest() throws DocumentException {
28

  
29
        final CommunityConfiguration cc = CommunityConfigurationFactory.newInstance(xml);
30
        assertEquals(cc.size(),4);
31
        cc.getCommunityList().forEach(c -> assertTrue(StringUtils.isNoneBlank(c.getId())));
32

  
33

  
34
    }
35
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/transform/ParserToProtoIT.java
1
package eu.dnetlib.data.transform;
2

  
3
import java.io.IOException;
4
import java.io.InputStream;
5
import java.io.StringReader;
6
import java.util.List;
7
import java.util.Objects;
8
import java.util.Properties;
9
import java.util.concurrent.atomic.AtomicInteger;
10
import java.util.function.Function;
11
import java.util.stream.Collectors;
12
import java.util.stream.StreamSupport;
13

  
14
import com.google.protobuf.InvalidProtocolBufferException;
15
import com.mongodb.client.MongoCollection;
16
import com.mongodb.client.MongoDatabase;
17
import eu.dnetlib.data.proto.OafProtos.Oaf;
18
import eu.dnetlib.data.proto.OafProtos.OafEntity;
19
import eu.dnetlib.data.transform.xml2.DatasetToProto;
20
import eu.dnetlib.miscutils.collections.Pair;
21
import eu.dnetlib.miscutils.datetime.HumanTime;
22
import org.apache.commons.io.IOUtils;
23
import org.apache.commons.lang3.time.StopWatch;
24
import org.apache.commons.logging.Log;
25
import org.apache.commons.logging.LogFactory;
26
import org.apache.commons.math.stat.descriptive.DescriptiveStatistics;
27
import org.bson.Document;
28
import org.dom4j.DocumentException;
29
import org.dom4j.io.SAXReader;
30
import org.junit.Before;
31
import org.junit.Test;
32
import org.junit.runner.RunWith;
33
import org.springframework.beans.factory.annotation.Autowired;
34
import org.springframework.test.context.ContextConfiguration;
35
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
36

  
37
import static org.junit.Assert.assertFalse;
38
import static org.junit.Assert.assertNotNull;
39
import static org.junit.Assert.assertTrue;
40

  
41
@RunWith(SpringJUnit4ClassRunner.class)
42
@ContextConfiguration(classes = { ConfigurationTestConfig.class })
43
public class ParserToProtoIT {
44

  
45
	private static final Log log = LogFactory.getLog(ParserToProtoIT.class);
46

  
47
	private static final String DATACITE = "datacite";
48
	private static final String NARCIS = "narcis";
49

  
50
	private static final int BATCH_SIZE = 10000;
51
	private static final int LOG_FREQ = 5000;
52
	private static final int LIMIT = 10000;
53
	public static final String BODY = "body";
54

  
55
	private static String basePathProfiles = "/eu/dnetlib/test/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/";
56

  
57
	private int batchSize = BATCH_SIZE;
58
	private int logFreq = LOG_FREQ;
59
	private int limit = LIMIT;
60

  
61
	@Autowired
62
	private MongoDatabase db;
63

  
64
	@Autowired()
65
	private Properties testProperties;
66

  
67
	@Before
68
	public void setUp() {
69
		logFreq = Integer.valueOf(testProperties.getProperty("test.logFreq", String.valueOf(LOG_FREQ)));
70
		batchSize = Integer.valueOf(testProperties.getProperty("test.batchSize", String.valueOf(BATCH_SIZE)));
71
		limit = Integer.valueOf(testProperties.getProperty("test.limit", String.valueOf(limit)));
72
	}
73

  
74
	@Test
75
	public void testParseDataciteWithVTD() throws IOException {
76
		doTest(s -> new Pair<>(s, new DatasetToProto().apply(s)), DATACITE);
77
	}
78

  
79
	@Test
80
	public void testParseDataciteWithXSLT() throws IOException {
81
		final String xslt = IOUtils.toString(loadFromTransformationProfile("odf2hbase.xml"));
82
		final XsltRowTransformer transformer = XsltRowTransformerFactory.newInstance(xslt);
83

  
84
		doTest(rowToOaf(transformer), DATACITE);
85
	}
86

  
87
	@Test
88
	public void testParseNarcisWithXSLT() throws IOException {
89
		final String xslt = IOUtils.toString(loadFromTransformationProfile("oaf2hbase.xml"));
90
		final XsltRowTransformer transformer = XsltRowTransformerFactory.newInstance(xslt);
91

  
92
		doTest(rowToOaf(transformer), NARCIS);
93
	}
94

  
95
	//// HELPERS
96

  
97
	private void doTest(final Function<String, Pair<String, Oaf>> mapper, final String collectionName) {
98
		final MongoCollection<Document> collection = db.getCollection(collectionName);
99

  
100
		final long collectionSize = collection.count();
101
		log.info(String.format("found %s records in collection '%s'", collectionSize, collectionName));
102

  
103
		final AtomicInteger read = new AtomicInteger(0);
104
		final DescriptiveStatistics stats = new DescriptiveStatistics();
105

  
106
		final StopWatch recordTimer = new StopWatch();
107
		final StopWatch totalTimer = StopWatch.createStarted();
108

  
109
		StreamSupport.stream(collection.find().batchSize(batchSize).spliterator(), false)
110
				.limit(limit)
111
				.peek(d -> {
112
					if (read.addAndGet(1) % logFreq == 0) {
113
						log.info(String.format("records read so far %s", read.get()));
114
						//log.info(String.format("stats so far %s", stats.toString()));
115
					}
116
				})
117
				.map(d -> (String) d.get("body"))
118
				.filter(Objects::nonNull)
119
				.collect(Collectors.toList())   // load them in memory first
120
				.stream()
121
				.peek(s -> recordTimer.start())
122
				.map(mapper)
123
				.forEach(pair -> {
124
					recordTimer.stop();
125
					stats.addValue(recordTimer.getTime());
126
					recordTimer.reset();
127

  
128
					assertNotNull(pair);
129
					assertTrue(pair.getValue().hasEntity());
130

  
131
					try {
132
						final org.dom4j.Document doc = new SAXReader().read(new StringReader(pair.getKey()));
133
						final OafEntity entity = pair.getValue().getEntity();
134

  
135
						//TODO add more asserts
136
						assertTrue(entity.getId().contains(doc.valueOf("/*[local-name() = 'record']/*[local-name() = 'header']/*[local-name() = 'objIdentifier']/text()")));
137

  
138
					} catch (DocumentException e) {
139
						throw new IllegalArgumentException("unable to parse record " + pair.getKey(), e);
140
					}
141
				});
142

  
143
		totalTimer.stop();
144
		log.info(String.format("processed %s/%s records in %s", read.get(), collectionSize, HumanTime.exactly(totalTimer.getTime())));
145
		log.info(stats.toString());
146
	}
147

  
148
	private Function<String, Pair<String, Oaf>> rowToOaf(final XsltRowTransformer transformer) {
149
		return xml -> {
150
			final List<Row> rows = transformer.apply(xml);
151
			if (rows.isEmpty()) {
152
				return null;
153
			}
154

  
155
			return rows.stream()
156
					.filter(row -> row.getColumn(BODY) != null)
157
					.map(row -> row.getColumn(BODY))
158
					.map(c -> c.getValue())
159
					.map(b -> {
160
						try {
161
							return Oaf.parseFrom(b);
162
						} catch (InvalidProtocolBufferException e) {
163
							throw new IllegalStateException(e);
164
						}
165
					})
166
					.filter(Objects::nonNull)
167
					.map(oaf -> new Pair<>(xml, oaf))
168
					.findFirst()
169
					.get();
170
		};
171
	}
172

  
173
	private InputStream loadFromTransformationProfile(final String profilePath) {
174
		log.info("Loading xslt from: " + basePathProfiles + profilePath);
175
		InputStream profile = getClass().getResourceAsStream(basePathProfiles + profilePath);
176
		SAXReader saxReader = new SAXReader();
177
		org.dom4j.Document doc = null;
178
		try {
179
			doc = saxReader.read(profile);
180
		} catch (DocumentException e) {
181
			e.printStackTrace();
182
			throw new RuntimeException(e);
183
		}
184
		String xslt = doc.selectSingleNode("//SCRIPT/CODE/*[local-name()='stylesheet']").asXML();
185
		//log.info(xslt);
186
		return IOUtils.toInputStream(xslt);
187
	}
188

  
189

  
190
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/transform/xml/OpenTrialsXsltFunctionsTest.java
1
package eu.dnetlib.data.transform.xml;
2

  
3
import java.util.List;
4

  
5
import eu.dnetlib.data.transform.xml.OpenTrialsXsltFunctions.JsonProv;
6
import org.junit.After;
7
import org.junit.Before;
8
import org.junit.Test;
9

  
10
import static org.junit.Assert.assertEquals;
11

  
12

  
13
/**
14
 * OpenTrialsXsltFunctions Tester.
15
 *
16
 */
17
public class OpenTrialsXsltFunctionsTest {
18

  
19
	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\"}]";
20
	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\"}]";
21
	private String jidentifiers = "{112683,NCT00920439}";
22

  
23

  
24
	private String jsonRecord = "[{\"source_id\" : \"nct\", \"source_url\" : \"https://clinicaltrials.gov/ct2/show/NCT02321059\", \"is_primary\" : true},{\"source_id\" : \"ictrp\", \"source_url\" : \"http://apps.who.int/trialsearch/Trial3.aspx?trialid=NCT02321059\", \"is_primary\" : false}]";
25
	private String jsonRecordNull = "[{\"source_id\" : \"nct\", \"source_url\" : \"https://clinicaltrials.gov/ct2/show/NCT02321059\"},{\"source_id\" : \"ictrp\", \"source_url\" : \"http://apps.who.int/trialsearch/Trial3.aspx?trialid=NCT02321059\", \"is_primary\" : false}]";
26
	private String jsonRecordVoid = "[{\"source_id\" : \"\", \"source_url\" : \"\", \"is_primary\" : \"\"}]";
27
	private String jsonRecondPrimary = "[{\"source_id\" : \"nct\", \"source_url\" : \"https://clinicaltrials.gov/ct2/show/NCT02321059\", \"is_primary\" : false},{\"source_id\" : \"ictrp\", \"source_url\" : \"http://apps.who.int/trialsearch/Trial3.aspx?trialid=NCT02321059\", \"is_primary\" : false}]";
28

  
29
	private String jsonPeopleVoid ="[{\"person_name\" : null, \"person_id\" : null, \"person_role\" : null}]";
30
	private String jsonPeopleOne = "[{\"person_name\" : \"Henk Verheul, M.D., PhD\", \"person_id\" : \"116438e9-f8b1-46e5-a1f8-20f851cab73c\", \"person_role\" : \"principal_investigator\"}]";
31
	private String jsonPeopleMore = "[{\"person_name\" : \"Henk Verheul, M.D., PhD\", \"person_id\" : \"116438e9-f8b1-46e5-a1f8-20f851cab73c\", \"person_role\" : \"principal_investigator\"},{\"person_name\" : \"Miriam Pippolippo Baglioni, PhD\", \"person_id\" : \"fake\", \"person_role\" : \"principal_investigator\"}]";
32

  
33
	private String jsonOrganizationVoid = "[{\"organization_name\" : null, \"organization_id\" : null, \"organization_role\" : null}]";
34
	private String jsonOrganizationOne = "[{\"organization_name\" : \"Södertälje sjukhus AB\", \"organization_id\" : \"15f0d004-b82b-408c-8605-38a57352468d\", \"organization_role\" : \"sponsor\"}]";
35
	private String jsonOrganizationMore = "[{\"organization_name\" : \"Södertälje sjukhus AB\", \"organization_id\" : \"15f0d004-b82b-408c-8605-38a57352468d\", \"organization_role\" : \"sponsor\"},{\"organization_name\" : \"Miriam Baglioni AB\", \"organization_id\" : \"fake\", \"organization_role\" : \"primary_sponsor\"}]";
36

  
37
	private String jsonLocationVoid = "[{\"location_name\" : null}]";
38
	private String jsonLocationOne = "[{\"location_name\" : \"China\"}]";
39
	private String jsonLocationMore = "[{\"location_name\" : \"China\"},{\"location_name\" : \"North Korea\"}]";
40

  
41
	@Before
42
	public void before() throws Exception {
43
	}
44

  
45
	@After
46
	public void after() throws Exception {
47
	}
48

  
49
	/**
50
	 * Method: getProvs(String jsonProvList)
51
	 */
52
	@Test
53
	public void testGetProvs() throws Exception {
54
		List<JsonProv> list = OpenTrialsXsltFunctions.getProvs(jsonProv);
55
		assertEquals(2, list.size());
56
	}
57

  
58
	/**
59
	 * Method: getMainIdentifierURL(String jsonProvList)
60
	 */
61
	@Test
62
	public void testGetMainIdentifierURL() throws Exception {
63
		String url = OpenTrialsXsltFunctions.getMainIdentifierURL(jsonProv);
64
		assertEquals( "http://apps.who.int/trialsearch/Trial3.aspx?trialid=NCT00378508", url );
65
		url = OpenTrialsXsltFunctions.getMainIdentifierURL(jsonProvWithNull);
66
		assertEquals("https://www.clinicaltrials.gov/ct2/show/NCT00378508?lup_e=02%2F04%2F2016&lup_s=01%2F01%2F2001&rank=175075&resultsxml=true", url);
67
	}
68

  
69
	@Test
70
	public void testGetPrimaryRecordUrl(){
71
		String url = OpenTrialsXsltFunctions.getPrimaryRecordUrl(jsonRecord);
72
		assertEquals("https://clinicaltrials.gov/ct2/show/NCT02321059", url);
73
	}
74

  
75
	@Test
76
	public void testGetPrimaryRecordID(){
77
		String id = OpenTrialsXsltFunctions.getPrimaryRecordIdentifier(jsonRecord);
78
		assertEquals("nct", id);
79
	}
80

  
81
	@Test
82
	public void testGetPrimaryRecordUrlNull(){
83
		String url = OpenTrialsXsltFunctions.getPrimaryRecordUrl(jsonRecordNull);
84
		assertEquals("https://clinicaltrials.gov/ct2/show/NCT02321059", url);
85
	}
86

  
87
	@Test
88
	public void testGetPrimaryRecordUrlVoid(){
89
		String url = OpenTrialsXsltFunctions.getPrimaryRecordUrl(jsonRecordVoid);
90
		assertEquals("", url);
91
	}
92

  
93
	@Test
94
	public void testGetPrimaryRecordUrlNoPrimary(){
95
		String url = OpenTrialsXsltFunctions.getPrimaryRecordUrl(jsonRecondPrimary);
96
		assertEquals("https://clinicaltrials.gov/ct2/show/NCT02321059", url);
97
	}
98
	@Test
99
	public void testGetPrimaryRecordIDNoPrimary(){
100
		String id = OpenTrialsXsltFunctions.getPrimaryRecordIdentifier(jsonRecondPrimary);
101
		assertEquals("nct", id);
102
	}
103
	@Test
104
	public void testGetPrincipalInvestigatorsVoid(){
105
		String url = OpenTrialsXsltFunctions.getPrincipalInvestigators(jsonPeopleVoid);
106
		assertEquals("",url);
107
	}
108

  
109

  
110
	@Test
111
	public void testGetPrincipalInvestigatorsOne(){
112
		String url = OpenTrialsXsltFunctions.getPrincipalInvestigators(jsonPeopleOne);
113
		assertEquals("Verheul, Henk", url);
114
	}
115

  
116
	@Test
117
	public void testGetPrincipalInvestigatorsMore(){
118
		String url = OpenTrialsXsltFunctions.getPrincipalInvestigators(jsonPeopleMore);
119
		assertEquals("Verheul, Henk@@Baglioni, Miriam Pippolippo", url);
120
	}
121

  
122

  
123

  
124
	@Test
125
	public void testgGetTrialOrganizationsVoid(){
126
		String url = OpenTrialsXsltFunctions.getTrialOrganizations(jsonOrganizationVoid);
127
		assertEquals("",url);
128
	}
129

  
130

  
131
	@Test
132
	public void testgGetTrialOrganizationsOne(){
133
		String url = OpenTrialsXsltFunctions.getTrialOrganizations(jsonOrganizationOne);
134
		assertEquals("Södertälje sjukhus AB@sponsor", url);
135
	}
136

  
137
	@Test
138
	public void testgGetTrialOrganizationsMore(){
139
		String url = OpenTrialsXsltFunctions.getTrialOrganizations(jsonOrganizationMore);
140
		assertEquals("Södertälje sjukhus AB@sponsor@@Miriam Baglioni AB@sponsor", url);
141
	}
142

  
143
	@Test
144
	public void testgGetTrialLocationsVoid(){
145
		String url = OpenTrialsXsltFunctions.getTrialLocations(jsonLocationVoid);
146
		assertEquals("",url);
147
	}
148

  
149

  
150
	@Test
151
	public void testgGetTrialLocationsOne(){
152
		String url = OpenTrialsXsltFunctions.getTrialLocations(jsonLocationOne);
153
		assertEquals("China", url);
154
	}
155

  
156
	@Test
157
	public void testgGetTrialLocationsMore(){
158
		String url = OpenTrialsXsltFunctions.getTrialLocations(jsonLocationMore);
159
		assertEquals("China@@North Korea", url);
160
	}
161

  
162
	@Test
163
	public void testGetNotPrimaryRecordUrlPrimary(){
164
		String url = OpenTrialsXsltFunctions.getNotPrimaryRecordUrl(jsonRecondPrimary);
165
		assertEquals("http://apps.who.int/trialsearch/Trial3.aspx?trialid=NCT02321059", url);
166
	}
167

  
168
	@Test
169
	public void testGetNotPrimaryRecordUrlVoid(){
170
		String url = OpenTrialsXsltFunctions.getNotPrimaryRecordUrl(jsonRecordVoid);
171
		assertEquals("", url);
172
	}
173

  
174
	@Test
175
	public void testGetNotPrimaryRecordUrl(){
176
		String url = OpenTrialsXsltFunctions.getNotPrimaryRecordUrl(jsonRecord);
177
		assertEquals("http://apps.who.int/trialsearch/Trial3.aspx?trialid=NCT02321059", url);
178
	}
179

  
180

  
181
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/transform/xml/FWFXsltFunctionsTest.java
1
package eu.dnetlib.data.transform.xml;
2

  
3
import org.junit.After;
4
import org.junit.Before;
5
import org.junit.Test;
6

  
7
import static org.junit.Assert.assertEquals;
8
import static org.junit.Assert.assertNotNull;
9

  
10
/**
11
 *
12
 * Created by miriam on 04/05/2017.
13
 */
14
public class FWFXsltFunctionsTest {
15
	private String namesurname ="Gerhard SOMMER";
16
	private String noSurname = "Gerhard";
17
	private String noName = "SOMMER";
18
	private String twoNames = "Gerhard Pippo SOMMER";
19
	private String twoSurname = "Gerhard PIPPO SOMMER";
20
	private String nonamesurname = "";
21
	private String organization ="Universität Linz - Institut für Computational Perception; Universität für Musik und darstellende Kunst Graz - Institut 1: Komposition, Musiktheorie, Musikgeschichte und Dirigieren; Universität Mozarteum Salzburg - Institut für Musikalische Rezeptions- und Interpretationsgeschichte; Anton Bruckner Privatuniversität - Institut für Theorie und Geschichte der Musik; Eliette und Herbert von Karajan Institut - Eliette und Herbert von Karajan Institut";
22

  
23
	@Before
24
	public void before() throws Exception {
25
	}
26

  
27
	@After
28
	public void after() throws Exception {
29
	}
30

  
31
	@Test
32
	public void testGetNamesNameNoNameSurname() throws Exception {
33
		String ret = FWFXsltFunctions.getName(nonamesurname,true);
34
		assertEquals("",ret );
35
	}
36

  
37
	@Test
38
	public void testGetNamesSurnameNoNameSurname() throws Exception {
39
		String ret = FWFXsltFunctions.getName(nonamesurname,false);
40
		assertEquals("",ret );
41
	}
42

  
43
	@Test
44
	public void testGetNamesNameTwoSurname() throws Exception {
45
		String ret = FWFXsltFunctions.getName(twoSurname,true);
46
		assertEquals("Gerhard",ret );
47
	}
48

  
49
	@Test
50
	public void testGetNamesSurnameTwoSurname() throws Exception {
51
		String ret = FWFXsltFunctions.getName(twoSurname,false);
52
		assertEquals("PIPPO SOMMER",ret );
53
	}
54

  
55
	@Test
56
	public void testGetNamesNameTwoNames() throws Exception {
57
		String ret = FWFXsltFunctions.getName(twoNames,true);
58
		assertEquals("Gerhard Pippo",ret );
59
	}
60

  
61
	@Test
62
	public void testGetNamesSurnameTwoNames() throws Exception {
63
		String ret = FWFXsltFunctions.getName(twoNames,false);
64
		assertEquals("SOMMER",ret );
65
	}
66

  
67
	/**
68
	 * Method: getProvs(String jsonProvList)
69
	 */
70
	@Test
71
	public void testGetNamesName() throws Exception {
72
		String ret = FWFXsltFunctions.getName(namesurname,true);
73
		assertEquals("Gerhard",ret );
74
	}
75

  
76
	@Test
77
	public void testGetNamesSurname() throws Exception {
78
		String ret = FWFXsltFunctions.getName(namesurname,false);
79
		assertEquals("SOMMER",ret );
80
	}
81

  
82
	@Test
83
	public void testGetNamesNameNoSurname() throws Exception {
84
		String ret = FWFXsltFunctions.getName(noSurname,true);
85
		assertEquals("Gerhard",ret );
86
	}
87

  
88
	@Test
89
	public void testGetNamesSurnameNoSurname() throws Exception {
90
		String ret = FWFXsltFunctions.getName(noSurname,false);
91
		assertEquals("",ret );
92
	}
93

  
94
	@Test
95
	public void testGetNamesNameNoName() throws Exception {
96
		String ret = FWFXsltFunctions.getName(noName,true);
97
		assertEquals("",ret );
98
	}
99

  
100
	@Test
101
	public void testGetNamesSurnameNoName() throws Exception {
102
		String ret = FWFXsltFunctions.getName(noName,false);
103
		assertEquals("SOMMER",ret );
104
	}
105

  
106
	@Test
107
	public void TestGetMd5()throws Exception{
108
		String md5 = FWFXsltFunctions.getMd5(organization);
109
		System.out.println(md5);
110
		assertNotNull(md5);
111
	}
112

  
113
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/transform/xml2/VtdParserToProtoTest.java
1
package eu.dnetlib.data.transform.xml2;
2

  
3
import java.io.IOException;
4
import java.util.function.Function;
5

  
6
import eu.dnetlib.data.proto.OafProtos.Oaf;
7
import org.apache.commons.io.IOUtils;
8
import org.apache.commons.logging.Log;
9
import org.apache.commons.logging.LogFactory;
10
import org.junit.Test;
11

  
12
import static org.junit.Assert.assertNotNull;
13

  
14
public class VtdParserToProtoTest {
15

  
16
	private static final Log log = LogFactory.getLog(VtdParserToProtoTest.class);
17

  
18
	@Test
19
	public void testParsePublication() throws IOException {
20
		doTest("/eu/dnetlib/data/transform/publication.xml", new PublicationToProto());
21
	}
22

  
23
	@Test
24
	public void testParseDataset() throws IOException {
25
		doTest("/eu/dnetlib/data/transform/dataset.xml", new DatasetToProto());
26
	}
27

  
28
	@Test
29
		public void testParseDataset2() throws IOException {
30
		doTest("/eu/dnetlib/data/transform/dataset2.xml", new DatasetToProto());
31
	}
32

  
33
	private void doTest(final String filePath, Function<String, Oaf> f) throws IOException {
34
		final String xml = IOUtils.toString(getClass().getResourceAsStream(filePath));
35

  
36
		assertNotNull(xml);
37

  
38
		final Oaf oaf = f.apply(xml);
39

  
40
		assertNotNull(oaf);
41

  
42
		log.info(oaf.toString());
43
	}
44

  
45
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/transform/xml2/VtdUtilityParserTest.java
1
package eu.dnetlib.data.transform.xml2;
2

  
3
import java.io.InputStream;
4
import java.util.List;
5

  
6
import com.ximpleware.AutoPilot;
7
import com.ximpleware.VTDGen;
8
import com.ximpleware.VTDNav;
9
import eu.dnetlib.data.transform.xml2.Node;
10
import eu.dnetlib.data.transform.xml2.VtdUtilityParser;
11
import org.apache.commons.io.IOUtils;
12
import org.junit.Assert;
13
import org.junit.Test;
14

  
15
import static eu.dnetlib.data.transform.xml2.VtdUtilityParser.parseXml;
16

  
17
public class VtdUtilityParserTest {
18

  
19
	@Test
20
	public void testUtils1() {
21
		String xpath = VtdUtilityParser.xpath("a", "b", "c");
22
		Assert.assertTrue("/*[local-name()='a']/*[local-name()='b']/*[local-name()='c']".equals(xpath));
23
	}
24

  
25
    @Test
26
    public void testPartser() throws Exception {
27
        final InputStream resource = this.getClass().getResourceAsStream("/eu/dnetlib/data/transform/publication.xml");
28
        final String record =IOUtils.toString(resource);
29
        final VTDGen vg = parseXml(record);
30
        final VTDNav vn = vg.getNav();
31
        final AutoPilot ap = new AutoPilot(vn);
32

  
33
        List<Node> nodes = VtdUtilityParser.getNodes(ap, vn, "//*[local-name()='referenceaa']");
34

  
35
        nodes.forEach(n -> Assert.assertTrue(n.getAttributes().keySet().size()>0));
36

  
37
        System.out.println(VtdUtilityParser.countNodes(ap, vn, "count(//*[local-name()='CobjIdentifier'])"));
38

  
39

  
40

  
41

  
42
    }
43

  
44
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/transform/SolrProtoMapperTest.java
1
package eu.dnetlib.data.transform;
2

  
3
import static org.junit.Assert.assertFalse;
4
import static org.junit.Assert.assertNotNull;
5

  
6
import java.io.IOException;
7
import java.io.StringWriter;
8

  
9
import org.apache.commons.codec.binary.Base64;
10
import org.apache.commons.io.IOUtils;
11
import org.apache.commons.logging.Log;
12
import org.apache.commons.logging.LogFactory;
13
import org.apache.solr.common.SolrInputDocument;
14
import org.apache.solr.common.SolrInputField;
15
import org.dom4j.DocumentException;
16
import org.junit.Before;
17
import org.junit.Test;
18

  
19
import com.google.protobuf.InvalidProtocolBufferException;
20
import com.googlecode.protobuf.format.JsonFormat;
21

  
22
import eu.dnetlib.data.mapreduce.util.OafTest;
23
import eu.dnetlib.data.proto.KindProtos.Kind;
24
import eu.dnetlib.data.proto.OafProtos.Oaf;
25
import eu.dnetlib.data.proto.OafProtos.OafEntity;
26
import eu.dnetlib.functionality.index.solr.feed.InputDocumentFactory;
27

  
28
public class SolrProtoMapperTest {
29

  
30
	private static final Log log = LogFactory.getLog(SolrProtoMapper.class); // NOPMD by marko on 11/24/08 5:02 PM
31
	private String fields;
32

  
33
	@Before
34
	public void setUp() throws IOException {
35
		final StringWriter sw = new StringWriter();
36
		IOUtils.copy(getClass().getResourceAsStream("fields.xml"), sw);
37
		fields = sw.toString();
38
		assertNotNull(fields);
39
		assertFalse(fields.isEmpty());
40

  
41
		log.info(fields);
42
	}
43

  
44
	@Test
45
	public void testProto2SolrDocument() throws DocumentException, InvalidProtocolBufferException {
46
		final SolrProtoMapper mapper = new SolrProtoMapper(fields);
47

  
48
		assertNotNull(mapper);
49

  
50
		final OafEntity.Builder entity = OafTest.getResultBuilder("01");
51
		entity.addChildren(OafTest.getResultBuilder("01_children"));
52

  
53
		final Oaf oaf = OafTest.embed(entity.build(), Kind.entity).getOaf();
54

  
55
		assertNotNull(oaf.getEntity().getChildrenList());
56
		assertFalse(oaf.getEntity().getChildrenList().isEmpty());
57

  
58
		log.info("byte[] size: " + oaf.toByteArray().length);
59

  
60
		log.info("json size:   " + JsonFormat.printToString(oaf).length());
61

  
62
		log.info("base64 size: " + Base64.encodeBase64String(oaf.toByteArray()).length());
63

  
64
		final byte[] decodeBase64 = Base64.decodeBase64(Base64.encodeBase64String(oaf.toByteArray()));
65

  
66
		log.info("decoded: " + JsonFormat.printToString(Oaf.parseFrom(decodeBase64)));
67

  
68
		final SolrInputDocument doc = mapper.map(oaf, InputDocumentFactory.getParsedDateField("2015-02-15"), "asd", "action-set");
69

  
70
		assertNotNull(doc);
71

  
72
		for (final SolrInputField f : doc.values()) {
73
			log.info(f);
74
		}
75
	}
76
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/java/eu/dnetlib/data/transform/ConfigurationTestConfig.java
1
package eu.dnetlib.data.transform;
2

  
3
import java.io.IOException;
4
import java.io.InputStream;
5
import java.util.Properties;
6

  
7
import com.mongodb.MongoClient;
8
import com.mongodb.client.MongoDatabase;
9
import org.springframework.context.annotation.Bean;
10
import org.springframework.context.annotation.Configuration;
11
import org.springframework.core.io.ClassPathResource;
12

  
13
@Configuration
14
public class ConfigurationTestConfig {
15

  
16
	@Bean
17
	public MongoDatabase db() throws IOException {
18

  
19
		final Properties p = testProperties();
20

  
21
		final MongoClient mongo = new MongoClient(
22
				p.getProperty("mongodb.host"),
23
				Integer.valueOf(p.getProperty("mongodb.port")));
24
		return mongo.getDatabase(p.getProperty("mongodb.dbname"));
25
	}
26

  
27
	@Bean
28
	public Properties testProperties() throws IOException {
29
		final Properties p = new Properties();
30
		final ClassPathResource cp = new ClassPathResource("test.properties");
31
		try (final InputStream stream = cp.getInputStream()) {
32
			p.load(stream);
33
		}
34
		return p;
35
	}
36

  
37
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/resources/eu/dnetlib/openaire/exporter/model/projectDetails.json
1
{"projectId":"corda_______::200130","acronym":"SUPERCOMPETITORS","code":"200130","optional1":"ERC-SG","optional2":"http://erc.europa.eu","jsonextrainfo":"{}","fundingPath":["\u003cfundingtree\u003e\u003cfunder\u003e\u003cid\u003eec__________::EC\u003c/id\u003e\u003cshortname\u003eEC\u003c/shortname\u003e\u003cname\u003eEuropean Commission\u003c/name\u003e\u003cjurisdiction\u003eEU\u003c/jurisdiction\u003e\u003c/funder\u003e\u003cfunding_level_2\u003e\u003cid\u003eec__________::EC::FP7::SP2::ERC\u003c/id\u003e\u003cdescription\u003eERC\u003c/description\u003e\u003cname\u003eERC\u003c/name\u003e\u003cclass\u003eec:program\u003c/class\u003e\u003cparent\u003e\u003cfunding_level_1\u003e\u003cid\u003eec__________::EC::FP7::SP2\u003c/id\u003e\u003cdescription\u003eSP2-Ideas\u003c/description\u003e\u003cname\u003eSP2\u003c/name\u003e\u003cclass\u003eec:specificprogram\u003c/class\u003e\u003cparent\u003e\u003cfunding_level_0\u003e\u003cid\u003eec__________::EC::FP7\u003c/id\u003e\u003cdescription\u003eSEVENTH FRAMEWORK PROGRAMME\u003c/description\u003e\u003cname\u003eFP7\u003c/name\u003e\u003cparent/\u003e\u003cclass\u003eec:frameworkprogram\u003c/class\u003e\u003c/funding_level_0\u003e\u003c/parent\u003e\u003c/funding_level_1\u003e\u003c/parent\u003e\u003c/funding_level_2\u003e\u003c/fundingtree\u003e"]}
2
{"projectId":"corda_______::200141","acronym":"QUESPACE","code":"200141","optional1":"ERC-SG","optional2":"http://erc.europa.eu","jsonextrainfo":"{}","fundingPath":["\u003cfundingtree\u003e\u003cfunder\u003e\u003cid\u003eec__________::EC\u003c/id\u003e\u003cshortname\u003eEC\u003c/shortname\u003e\u003cname\u003eEuropean Commission\u003c/name\u003e\u003cjurisdiction\u003eEU\u003c/jurisdiction\u003e\u003c/funder\u003e\u003cfunding_level_2\u003e\u003cid\u003eec__________::EC::FP7::SP2::ERC\u003c/id\u003e\u003cdescription\u003eERC\u003c/description\u003e\u003cname\u003eERC\u003c/name\u003e\u003cclass\u003eec:program\u003c/class\u003e\u003cparent\u003e\u003cfunding_level_1\u003e\u003cid\u003eec__________::EC::FP7::SP2\u003c/id\u003e\u003cdescription\u003eSP2-Ideas\u003c/description\u003e\u003cname\u003eSP2\u003c/name\u003e\u003cclass\u003eec:specificprogram\u003c/class\u003e\u003cparent\u003e\u003cfunding_level_0\u003e\u003cid\u003eec__________::EC::FP7\u003c/id\u003e\u003cdescription\u003eSEVENTH FRAMEWORK PROGRAMME\u003c/description\u003e\u003cname\u003eFP7\u003c/name\u003e\u003cparent/\u003e\u003cclass\u003eec:frameworkprogram\u003c/class\u003e\u003c/funding_level_0\u003e\u003c/parent\u003e\u003c/funding_level_1\u003e\u003c/parent\u003e\u003c/funding_level_2\u003e\u003c/fundingtree\u003e"]}
3
{"projectId":"corda_______::200165","acronym":"PROTEOMICS OF CHERNO","code":"200165","optional1":"MC-IRG","optional2":"http://cordis.europa.eu/fp7/people.htm","jsonextrainfo":"{}","fundingPath":["\u003cfundingtree\u003e\u003cfunder\u003e\u003cid\u003eec__________::EC\u003c/id\u003e\u003cshortname\u003eEC\u003c/shortname\u003e\u003cname\u003eEuropean Commission\u003c/name\u003e\u003cjurisdiction\u003eEU\u003c/jurisdiction\u003e\u003c/funder\u003e\u003cfunding_level_2\u003e\u003cid\u003eec__________::EC::FP7::SP3::PEOPLE\u003c/id\u003e\u003cdescription\u003eMarie-Curie Actions\u003c/description\u003e\u003cname\u003ePEOPLE\u003c/name\u003e\u003cclass\u003eec:program\u003c/class\u003e\u003cparent\u003e\u003cfunding_level_1\u003e\u003cid\u003eec__________::EC::FP7::SP3\u003c/id\u003e\u003cdescription\u003eSP3-People\u003c/description\u003e\u003cname\u003eSP3\u003c/name\u003e\u003cclass\u003eec:specificprogram\u003c/class\u003e\u003cparent\u003e\u003cfunding_level_0\u003e\u003cid\u003eec__________::EC::FP7\u003c/id\u003e\u003cdescription\u003eSEVENTH FRAMEWORK PROGRAMME\u003c/description\u003e\u003cname\u003eFP7\u003c/name\u003e\u003cparent/\u003e\u003cclass\u003eec:frameworkprogram\u003c/class\u003e\u003c/funding_level_0\u003e\u003c/parent\u003e\u003c/funding_level_1\u003e\u003c/parent\u003e\u003c/funding_level_2\u003e\u003c/fundingtree\u003e"]}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/resources/eu/dnetlib/openaire/exporter/model/projectDetails.csv
1
nih_________::3R01GM073898-02S1,,3R01GM073898-02S1,23188 $,,"{""orgname"":""UNIVERSITY OF CALIFORNIA SAN DIEGO"", ""activity"":""R01"", ""administeringic"":""GM"", ""serialnumber"":""73898"", ""coreprojectnum"":""R01GM073898""}","[""\u003cfundingtree\u003e\n      \u003cfunder\u003e\n         \u003cid\u003enih_________::NIH\u003c/id\u003e\n         \u003cshortname\u003eNIH\u003c/shortname\u003e\n         \u003cname\u003eNational Institutes of Health\u003c/name\u003e\n         \u003cjurisdiction\u003eUS\u003c/jurisdiction\u003e\n      \u003c/funder\u003e\n      \u003cfunding_level_0\u003e\n         \u003cid\u003enih_________::NIH::NATIONAL_INSTITUTE_OF_GENERAL_MEDICAL_SCIENCES\u003c/id\u003e\n         \u003cname\u003eNATIONAL INSTITUTE OF GENERAL MEDICAL SCIENCES\u003c/name\u003e\n         \u003cdescription\u003eNATIONAL INSTITUTE OF GENERAL MEDICAL SCIENCES\u003c/description\u003e\n         \u003cparent/\u003e\n         \u003cclass\u003enih:fundingStream\u003c/class\u003e\n      \u003c/funding_level_0\u003e\n   \u003c/fundingtree\u003e""]"
2
corda_______::100202,RECOMP,100202,JTI-CP-ARTEMIS,http://cordis.europa.eu/fp7/home_en.html,{},"[""\u003cfundingtree\u003e\u003cfunder\u003e\u003cid\u003eec__________::EC\u003c/id\u003e\u003cshortname\u003eEC\u003c/shortname\u003e\u003cname\u003eEuropean Commission\u003c/name\u003e\u003cjurisdiction\u003eEU\u003c/jurisdiction\u003e\u003c/funder\u003e\u003cfunding_level_2\u003e\u003cid\u003eec__________::EC::FP7::SP1::SP1-JTI\u003c/id\u003e\u003cdescription\u003eJoint Technology Initiatives (Annex IV-SP1)\u003c/description\u003e\u003cname\u003eSP1-JTI\u003c/name\u003e\u003cclass\u003eec:program\u003c/class\u003e\u003cparent\u003e\u003cfunding_level_1\u003e\u003cid\u003eec__________::EC::FP7::SP1\u003c/id\u003e\u003cdescription\u003eSP1-Cooperation\u003c/description\u003e\u003cname\u003eSP1\u003c/name\u003e\u003cclass\u003eec:specificprogram\u003c/class\u003e\u003cparent\u003e\u003cfunding_level_0\u003e\u003cid\u003eec__________::EC::FP7\u003c/id\u003e\u003cdescription\u003eSEVENTH FRAMEWORK PROGRAMME\u003c/description\u003e\u003cname\u003eFP7\u003c/name\u003e\u003cparent/\u003e\u003cclass\u003eec:frameworkprogram\u003c/class\u003e\u003c/funding_level_0\u003e\u003c/parent\u003e\u003c/funding_level_1\u003e\u003c/parent\u003e\u003c/funding_level_2\u003e\u003c/fundingtree\u003e""]"
3
corda__h2020::633080,MACC-III,633080,SPACE,SPACE,{},"[""\u003cfundingtree\u003e\u003cfunder\u003e\u003cid\u003eec__________::EC\u003c/id\u003e\u003cshortname\u003eEC\u003c/shortname\u003e\u003cname\u003eEuropean Commission\u003c/name\u003e\u003cjurisdiction\u003eEU\u003c/jurisdiction\u003e\u003c/funder\u003e\u003cfunding_level_1\u003e\u003cid\u003eec__________::EC::H2020::CSA\u003c/id\u003e\u003cdescription\u003eCoordination and support action\u003c/description\u003e\u003cname\u003eCSA\u003c/name\u003e\u003cclass\u003eec:h2020toas\u003c/class\u003e\u003cparent\u003e\u003cfunding_level_0\u003e\u003cid\u003eec__________::EC::H2020\u003c/id\u003e\u003cname\u003eH2020\u003c/name\u003e\u003cdescription\u003eHorizon 2020 Framework Programme\u003c/description\u003e\u003cparent/\u003e\u003cclass\u003eec:h2020fundings\u003c/class\u003e\u003c/funding_level_0\u003e\u003c/parent\u003e\u003c/funding_level_1\u003e\u003c/fundingtree\u003e""]"
4
nsf_________::0000096,,0000096,,,{},"[""\u003cfundingtree\u003e\u003cfunder\u003e\u003cid\u003ensf_________::NSF\u003c/id\u003e\u003cshortname\u003eNSF\u003c/shortname\u003e\u003cname\u003eNational Science Foundation\u003c/name\u003e\u003cjurisdiction\u003eUS\u003c/jurisdiction\u003e\u003c/funder\u003e\u003cfunding_level_1\u003e\u003cid\u003ensf_________::NSF::OD::OD/OIA\u003c/id\u003e\u003cdescription\u003eOffice of Integrative Activities\u003c/description\u003e\u003cname\u003eOffice of Integrative Activities\u003c/name\u003e\u003cparent\u003e\u003cfunding_level_0\u003e\u003cid\u003ensf_________::NSF::OD\u003c/id\u003e\u003cdescription\u003eOffice of the Director\u003c/description\u003e\u003cname\u003eOffice of the Director\u003c/name\u003e\u003cparent/\u003e\u003cclass\u003ensf:fundingStream\u003c/class\u003e\u003c/funding_level_0\u003e\u003c/parent\u003e\u003c/funding_level_1\u003e\u003c/fundingtree\u003e""]"
5
fct_________::100107,PTDC/SAU-ESA/100107/2008,100107,,,{},"[""\u003cfundingtree\u003e\u003cfunder\u003e\u003cid\u003efct_________::FCT\u003c/id\u003e\u003cshortname\u003eFCT\u003c/shortname\u003e\u003cname\u003eFundação para a Ciência e a Tecnologia, I.P.\u003c/name\u003e\u003cjurisdiction\u003ePT\u003c/jurisdiction\u003e\u003c/funder\u003e\u003cfunding_level_0\u003e\u003cid\u003efct_________::FCT::5876-PPCDTI\u003c/id\u003e\u003cdescription\u003e5876-PPCDTI\u003c/description\u003e\u003cname\u003e5876-PPCDTI\u003c/name\u003e\u003cparent/\u003e\u003cclass\u003efct:program\u003c/class\u003e\u003c/funding_level_0\u003e\u003c/fundingtree\u003e""]"
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/resources/eu/dnetlib/pace/organization.pace.conf
1
{
2
  "wf" : {
3
    "threshold" : "0.85",
4
    "dedupRun" : "001",
5
    "entityType" : "organization",
6
    "orderField" : "legalname",
7
    "queueMaxSize" : "20000",
8
    "groupMaxSize" : "20",
9
    "slidingWindowSize" : "400",
10
    "rootBuilder" : [ "organization", "projectOrganization_participation_isParticipant", "datasourceOrganization_provision_isProvidedBy" ],
11
    "includeChildren" : "true"
12
  },
13
  "pace" : {
14
    "clustering" : [
15
      { "name" : "ngrampairs", "fields" : [ "legalname" ], "params" : { "max" : 1, "ngramLen" : "3" } },
16
      { "name" : "suffixprefix", "fields" : [ "legalname" ], "params" : { "max" : 1, "len" : "3" } },
17
      { "name" : "immutablefieldvalue", "fields" : [ "country" ], "params" : { } },
18
      { "name" : "spacetrimmingfieldvalue", "fields" : [ "legalshortname" ], "params" : { "randomLength" : "5" } },
19
      { "name" : "urlclustering", "fields" : [ "websiteurl" ], "params" : { } }
20
    ],
21
    "conditions" : [
22
      { "name" : "exactMatch", "fields" : [ "country" ] },
23
      { "name" : "mustBeDifferent", "fields" : [ "gridid" ] }
24
    ],
25
    "model" : [
26
      { "name" : "legalname", "algo" : "LevensteinTitle", "type" : "String", "weight" : "0.2", "ignoreMissing" : "false", "path" : "organization/metadata/legalname/value" },
27
      { "name" : "legalshortname", "algo" : "LevensteinTitle", "type" : "String", "weight" : "0.2", "ignoreMissing" : "true", "path" : "organization/metadata/legalshortname/value" },
28
      { "name" : "websiteurl", "algo" : "urlMatcher", "type" : "URL", "weight" : "0.6", "ignoreMissing" : "true", "path" : "organization/metadata/websiteurl/value", "params" : { "host" : 0.5, "path" : 0.5 } },
29
      { "name" : "country", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "organization/metadata/country/classid" },
30
      { "name" : "gridid", "algo" : "Null", "type" : "String", "weight" : "0.0", "ignoreMissing" : "true", "path" : "pid[qualifier#classid = {grid}]/value" }
31
    ],
32
    "blacklists" : { }
33
  }
34
}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.json
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}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.json
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}
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-6.2.17/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi1.fo.json
1
{
2
  "id": "30|dedup_wf_001::e78059705c3885a10440c8021afbdd4a",
3
  "author": {
4
    "frequency": 6,
5
    "id": "30|od______2294::9897283f935d7c2f4c11cebf65ae3098",
6
    "fullname": "Manghi, Paolo",
7
    "firstname": "Paolo",
8
    "secondnames": "Manghi"
9
  },
10
  "merged": [
11
    {
12
      "id": "30|od______2294::9897283f935d7c2f4c11cebf65ae3098",
13
      "fullname": "Manghi, Paolo",
14
      "firstname": "Paolo",
15
      "secondnames": "Manghi"
16
    },
17
    {
18
      "id": "30|doaj10829873::6cff63f7eafbb51fd6a1c268f4f0227f",
19
      "fullname": "Manghi, Paolo",
20
      "firstname": "Paolo",
21
      "secondnames": "Manghi"
22
    },
23
    {
24
      "id": "30|od______2367::9897283f935d7c2f4c11cebf65ae3098",
25
      "fullname": "Manghi, Paolo",
26
      "firstname": "Paolo",
27
      "secondnames": "Manghi"
28
    },
29
    {
30
      "id": "30|doaj10829873::f67c45f3bd4e4e4c4942a373799e0457",
31
      "fullname": "Manghi, Paolo",
32
      "firstname": "Paolo",
33
      "secondnames": "Manghi"
34
    },
35
    {
36
      "id": "30|doaj10829873::39a29e7c15e04cdef8aecaa062b4f000",
37
      "fullname": "Manghi, Paolo",
38
      "firstname": "Paolo",
39
      "secondnames": "Manghi"
40
    },
41
    {
42
      "id": "30|doaj10829873::f9b4de41343d956271d88f93ba68c31d",
43
      "fullname": "Manghi, Paolo",
44
      "firstname": "Paolo",
45
      "secondnames": "Manghi"
46
    }
47
  ],
48
  "coAuthors": [
49
    {
50
      "anchorId": "30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b",
51
      "id": "30|od_______307::e0c601b1613eec62abb99e2591168fba",
52
      "fullname": "Rodrigues, Eloy",
53
      "firstname": "Eloy",
54
      "secondnames": "Rodrigues"
55
    },
56
    {
57
      "anchorId": "30|dedup_wf_001::73aac4e0ca21747def81773cdf242152",
58
      "id": "30|od______2367::069aab4b3defa55d5fb573838e54ed10",
59
      "fullname": "Werf, Titia",
60
      "firstname": "Titia",
61
      "secondnames": "Werf"
62
    },
63
    {
64
      "anchorId": "30|dedup_wf_001::cd493693f2e04159d419cfbea6042944",
65
      "id": "30|doaj10829873::0acf7cdc45040bd02482b94760af9db5",
66
      "fullname": "Smith, Tim",
67
      "firstname": "Tim",
68
      "secondnames": "Smith"
69
    },
70
    {
71
      "anchorId": "30|dedup_wf_001::4867c41ae4006a89a4e00fa5b2ace526",
72
      "id": "30|od______2294::717184cb6436add31e3ce0ba86ba2476",
73
      "fullname": "Katifori, Akrivi",
74
      "firstname": "Akrivi",
75
      "secondnames": "Katifori"
76
    },
77
    {
78
      "anchorId": "30|dedup_wf_001::d17df318b8ab8b17ac2b016767e183b4",
79
      "id": "30|od______2367::d24f772460583eb514d0465f77f15030",
80
      "fullname": "Rettberg, Najla",
81
      "firstname": "Najla",
82
      "secondnames": "Rettberg"
83
    },
84
    {
85
      "anchorId": "30|dedup_wf_001::951cb66881f278b74cb366add7f0ce0d",
86
      "id": "30|od______2367::ef2914f870d83e32764f2e0db122d0c4",
87
      "fullname": "Houssos, Nikos",
88
      "firstname": "Nikos",
89
      "secondnames": "Houssos"
90
    },
91
    {
92
      "anchorId": "30|dedup_wf_001::ce0c9316f1d270fe7c021ac010378189",
93
      "id": "30|od______2294::ef2914f870d83e32764f2e0db122d0c4",
94
      "fullname": "Houssos, Nikos",
95
      "firstname": "Nikos",
96
      "secondnames": "Houssos"
97
    },
98
    {
99
      "anchorId": "30|dedup_wf_001::271f098792b54069a4d77b4fee16b354",
100
      "id": "30|od______2294::217bb36de851aacdeae92250959e5af9",
101
      "fullname": "Schmidt, Birgit",
102
      "firstname": "Birgit",
103
      "secondnames": "Schmidt"
104
    },
105
    {
106
      "anchorId": "30|dedup_wf_001::19651c25c06f8ddbf8fb582efa51bb10",
107
      "id": "30|od______2367::c48a8036130fc6f9a73348ba3be40041",
108
      "fullname": "Biagini, Federico",
109
      "firstname": "Federico",
110
      "secondnames": "Biagini"
111
    },
112
    {
113
      "anchorId": "30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774",
114
      "id": "30|od______2367::44afefb40235eadaa9424f735dc569ad",
115
      "fullname": "Schirrwagen, Jochen",
116
      "firstname": "Jochen",
117
      "secondnames": "Schirrwagen"
118
    },
119
    {
120
      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
121
      "id": "30|doaj10829873::269dbf736b973d298160217072f127bd",
122
      "fullname": "Candela, Leonardo",
123
      "firstname": "Leonardo",
124
      "secondnames": "Candela"
125
    },
126
    {
127
      "anchorId": "30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999",
128
      "id": "30|od______2367::a93eb6a6cbfce5bcdf86cb743f788077",
129
      "fullname": "Castelli, Donatella",
130
      "firstname": "Donatella",
131
      "secondnames": "Castelli"
132
    },
133
    {
134
      "anchorId": "30|dedup_wf_001::731b5090d3f9c6dac58ad770b1a29e13",
135
      "id": "30|doaj10829873::c6cc48d8aa310a1d2c87f5df7c5576bb",
136
      "fullname": "Bardi, Alessia",
137
      "firstname": "Alessia",
138
      "secondnames": "Bardi"
139
    },
140
    {
141
      "anchorId": "30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a",
142
      "id": "30|od______2367::9c743b25e78b06608d4214ba18f92690",
143
      "fullname": "Bolikowski, Lukasz",
144
      "firstname": "Lukasz",
145
      "secondnames": "Bolikowski"
146
    },
147
    {
148
      "anchorId": "30|dedup_wf_001::d71c73319eda487f9b56e860e2c1794f",
149
      "id": "30|od______2367::c11bdd64efcd19316ef10c1967392565",
150
      "fullname": "Peters, Dale",
151
      "firstname": "Dale",
152
      "secondnames": "Peters"
153
    },
154
    {
155
      "anchorId": "30|dedup_wf_001::2c561a4cbd689f4729324744fb046995",
156
      "id": "30|doaj10829873::80724b7b737d6c51b3733eaf9da4b605",
157
      "fullname": "Mikulicic, Marko",
158
      "firstname": "Marko",
159
      "secondnames": "Mikulicic"
160
    },
161
    {
162
      "anchorId": "30|dedup_wf_001::cd493693f2e04159d419cfbea6042944",
163
      "id": "30|od______2367::b340050a287b2601d330547261fe82bc",
164
      "fullname": "Smith, Tim",
165
      "firstname": "Tim",
166
      "secondnames": "Smith"
167
    },
168
    {
169
      "anchorId": "30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774",
170
      "id": "30|od______2294::44afefb40235eadaa9424f735dc569ad",
171
      "fullname": "Schirrwagen, Jochen",
172
      "firstname": "Jochen",
173
      "secondnames": "Schirrwagen"
174
    },
175
    {
176
      "anchorId": "30|dedup_wf_001::f41b3d7b95be894f9bd7a30b08f50313",
177
      "id": "30|od______2294::45f6127ede0d24d16a5007ceff0a2d4b",
178
      "fullname": "Horstmann, Wolfram",
179
      "firstname": "Wolfram",
180
      "secondnames": "Horstmann"
181
    },
182
    {
183
      "anchorId": "30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19",
184
      "id": "30|od______2367::08fc98b1a1e2e2de97e3ecdd1b8174d0",
185
      "fullname": "Pagano, Pasquale",
186
      "firstname": "Pasquale",
187
      "secondnames": "Pagano"
188
    },
189
    {
190
      "anchorId": "30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5",
191
      "id": "30|od______2367::c68257b7b29d6c1b372856f371e3ba24",
192
      "fullname": "Manola, Natalia",
193
      "firstname": "Natalia",
194
      "secondnames": "Manola"
195
    },
196
    {
197
      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
198
      "id": "30|od______2367::8fd116733ee055e8bee96e422b4142ca",
199
      "fullname": "Candela, Leonardo",
200
      "firstname": "Leonardo",
201
      "secondnames": "Candela"
202
    },
203
    {
204
      "anchorId": "30|dedup_wf_001::4867c41ae4006a89a4e00fa5b2ace526",
205
      "id": "30|od______2367::717184cb6436add31e3ce0ba86ba2476",
206
      "fullname": "Katifori, Akrivi",
207
      "firstname": "Akrivi",
208
      "secondnames": "Katifori"
209
    },
210
    {
211
      "anchorId": "30|dedup_wf_001::2c561a4cbd689f4729324744fb046995",
212
      "id": "30|od______2367::fe0e336ba013e433486e92b8e30435c1",
213
      "fullname": "Mikulicic, Marko",
214
      "firstname": "Marko",
215
      "secondnames": "Mikulicic"
216
    },
217
    {
218
      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
219
      "id": "30|od______2294::8fd116733ee055e8bee96e422b4142ca",
220
      "fullname": "Candela, Leonardo",
221
      "firstname": "Leonardo",
222
      "secondnames": "Candela"
223
    },
224
    {
225
      "anchorId": "30|dedup_wf_001::ef5fbc9697bc7bf23f9cedc92f855466",
226
      "id": "30|od______2367::7aab6e55da61a2f412b9764e3554154a",
227
      "fullname": "Assante, Massimiliano",
228
      "firstname": "Massimiliano",
229
      "secondnames": "Assante"
230
    },
231
    {
232
      "anchorId": "30|dedup_wf_001::49e6185992465c4473a19d74aaf0c774",
233
      "id": "30|doaj10829873::6bb80887219a5ea64915d84d373e3eb5",
234
      "fullname": "Schirrwagen, Jochen",
235
      "firstname": "Jochen",
236
      "secondnames": "Schirrwagen"
237
    },
238
    {
239
      "anchorId": "30|dedup_wf_001::ca57380f88fb4920d67e024c0af0c715",
240
      "id": "30|od______2294::2ca703acc4dd66064135c1afc5e976b8",
241
      "fullname": "Horst, Marek",
242
      "firstname": "Marek",
243
      "secondnames": "Horst"
244
    },
245
    {
246
      "anchorId": "30|dedup_wf_001::2317e62318581e89976523d2553977e2",
247
      "id": "30|od______2367::545b78ed508339ab728beee05f312db1",
248
      "fullname": "Zoppi, Franco",
249
      "firstname": "Franco",
250
      "secondnames": "Zoppi"
251
    },
252
    {
253
      "anchorId": "30|dedup_wf_001::152c124f2f79b57d16500a3b8a63b93c",
254
      "id": "30|od______2367::ee0556ce5974761280b8be0812a586b3",
255
      "fullname": "Bolikowski, Å<U+0081>ukasz",
256
      "firstname": "Å<U+0081>ukasz",
257
      "secondnames": "Bolikowski"
258
    },
259
    {
260
      "anchorId": "30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999",
261
      "id": "30|doaj10829873::a3c59fe161823ef7fadbd1bb216c34bb",
262
      "fullname": "Castelli, Donatella",
263
      "firstname": "Donatella",
264
      "secondnames": "Castelli"
265
    },
266
    {
267
      "anchorId": "30|dedup_wf_001::731b5090d3f9c6dac58ad770b1a29e13",
268
      "id": "30|od______2367::3fbd0b3533bd0e6089c1fe68b115f772",
269
      "fullname": "Bardi, Alessia",
270
      "firstname": "Alessia",
271
      "secondnames": "Bardi"
272
    },
273
    {
274
      "anchorId": "30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19",
275
      "id": "30|doaj10829873::9e7037bbf8b59564442aa12b6b424747",
276
      "fullname": "Pagano, Pasquale",
277
      "firstname": "Pasquale",
278
      "secondnames": "Pagano"
279
    },
280
    {
281
      "anchorId": "30|dedup_wf_001::eacced7c9132e343948bf51698a1c927",
282
      "id": "30|od______2367::22272e3e38161be671abad3f27c68e36",
283
      "fullname": "Mikulic, Marko",
284
      "firstname": "Marko",
285
      "secondnames": "Mikulic"
286
    },
287
    {
288
      "anchorId": "30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5",
289
      "id": "30|od______2294::c68257b7b29d6c1b372856f371e3ba24",
290
      "fullname": "Manola, Natalia",
291
      "firstname": "Natalia",
292
      "secondnames": "Manola"
293
    },
294
    {
295
      "anchorId": "30|dedup_wf_001::f41b3d7b95be894f9bd7a30b08f50313",
296
      "id": "30|od______2367::45f6127ede0d24d16a5007ceff0a2d4b",
297
      "fullname": "Horstmann, Wolfram",
298
      "firstname": "Wolfram",
299
      "secondnames": "Horstmann"
300
    },
301
    {
302
      "anchorId": "30|dedup_wf_001::ca57380f88fb4920d67e024c0af0c715",
303
      "id": "30|od______2367::2ca703acc4dd66064135c1afc5e976b8",
304
      "fullname": "Horst, Marek",
305
      "firstname": "Marek",
306
      "secondnames": "Horst"
307
    },
308
    {
309
      "anchorId": "30|dedup_wf_001::7b1fe51141418a62b56f9c3bd5bccaa7",
310
      "id": "30|od______2367::2638f44b18089930e67bbd5633f9b103",
311
      "fullname": "Debole, Franca",
312
      "firstname": "Franca",
313
      "secondnames": "Debole"
314
    },
315
    {
316
      "anchorId": "30|dedup_wf_001::d17df318b8ab8b17ac2b016767e183b4",
317
      "id": "30|od______2294::d24f772460583eb514d0465f77f15030",
318
      "fullname": "Rettberg, Najla",
319
      "firstname": "Najla",
320
      "secondnames": "Rettberg"
321
    },
322
    {
323
      "anchorId": "30|dedup_wf_001::75d72e914bd4d88674bd2a99a01c9f19",
324
      "id": "30|doaj10829873::b3795485a89b87aabeff16b81f2ff24d",
325
      "fullname": "Pagano, Pasquale",
326
      "firstname": "Pasquale",
327
      "secondnames": "Pagano"
328
    },
329
    {
330
      "anchorId": "30|dedup_wf_001::d71c73319eda487f9b56e860e2c1794f",
331
      "id": "30|od______2294::c11bdd64efcd19316ef10c1967392565",
332
      "fullname": "Peters, Dale",
333
      "firstname": "Dale",
334
      "secondnames": "Peters"
335
    },
336
    {
337
      "anchorId": "30|dedup_wf_001::9bfaee15b25e210ab56dfa6f57c6417e",
338
      "id": "30|od______2367::81d934153eb100552ef4b398e243dd45",
339
      "fullname": "La Bruzzo, Sandro",
340
      "firstname": "Sandro",
341
      "secondnames": "La Bruzzo"
342
    },
343
    {
344
      "anchorId": "30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a",
345
      "id": "30|doaj10829873::2abbf092ab99aaaf0a52969141fc0070",
346
      "fullname": "Bolikowski, Lukasz",
347
      "firstname": "Lukasz",
348
      "secondnames": "Bolikowski"
349
    },
350
    {
351
      "anchorId": "30|dedup_wf_001::cd493693f2e04159d419cfbea6042944",
352
      "id": "30|od______2294::b340050a287b2601d330547261fe82bc",
353
      "fullname": "Smith, Tim",
354
      "firstname": "Tim",
355
      "secondnames": "Smith"
356
    },
357
    {
358
      "anchorId": "30|dedup_wf_001::2d413333206599ee864738c521dbe5b3",
359
      "id": "30|od______2367::39c67e010b85a6a79e54e94b2a789221",
360
      "fullname": "Savino, Pasquale",
361
      "firstname": "Pasquale",
362
      "secondnames": "Savino"
363
    },
364
    {
365
      "anchorId": "30|dedup_wf_001::21bff9fc229ffae537509689a3eb2bd1",
366
      "id": "30|doaj10829873::515b938f185f85e1a91849337310c4b7",
367
      "fullname": "Candela, Leonardo",
368
      "firstname": "Leonardo",
369
      "secondnames": "Candela"
370
    },
371
    {
372
      "anchorId": "30|dedup_wf_001::c4d99fedf82781b5cae2225cf8049426",
373
      "id": "30|od______2294::e931b1326351ef5b3bb2b89f3fc4244c",
374
      "fullname": "Kobos, Mateusz",
375
      "firstname": "Mateusz",
376
      "secondnames": "Kobos"
377
    },
378
    {
379
      "anchorId": "30|dedup_wf_001::30530ec3554a58bf9eaa0c497b9c83e5",
380
      "id": "30|doaj10829873::d4df586c008bca6df713f84070d3e1c3",
381
      "fullname": "Manola, Natalia",
382
      "firstname": "Natalia",
383
      "secondnames": "Manola"
384
    },
385
    {
386
      "anchorId": "30|dedup_wf_001::152c124f2f79b57d16500a3b8a63b93c",
387
      "id": "30|od______2294::029cfdbbd0fcb888f4efbfe1dde81721",
388
      "fullname": "Bolikowski, Łukasz",
389
      "firstname": "Łukasz",
390
      "secondnames": "Bolikowski"
391
    },
392
    {
393
      "anchorId": "30|dedup_wf_001::7b9bd8e96778de90c911e0fcc8821bcc",
394
      "id": "30|od______2367::c96e9db5145834320c37332ef96802f6",
395
      "fullname": "Artini, Michele",
396
      "firstname": "Michele",
397
      "secondnames": "Artini"
398
    },
399
    {
400
      "anchorId": "30|dedup_wf_001::5a835806fb58a8199640d0b54de6b70a",
401
      "id": "30|od______2294::9c743b25e78b06608d4214ba18f92690",
402
      "fullname": "Bolikowski, Lukasz",
403
      "firstname": "Lukasz",
404
      "secondnames": "Bolikowski"
405
    },
406
    {
407
      "anchorId": "30|dedup_wf_001::84b80c9fc38b022ae4e4a5c25ffa7999",
408
      "id": "30|doaj10829873::347ee2414e420e4aec5395146956d8c0",
409
      "fullname": "Castelli, Donatella",
410
      "firstname": "Donatella",
411
      "secondnames": "Castelli"
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff