Revision 38829
Added by Claudio Atzori over 8 years ago
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/deploy.info | ||
---|---|---|
1 |
{"type_source": "SVN", "goal": "package -U -T 4C source:jar", "url": "http://svn-public.driver.research-infrastructures.eu/driver/dnet40/modules/dnet-openaireplus-mapping-utils/trunk/", "deploy_repository": "dnet4-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/dnet4-snapshots", "name": "dnet-openaireplus-mapping-utils"} |
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/src/test/java/eu/dnetlib/pace/clustering/BlacklistAwareClusteringCombinerTest.java | ||
---|---|---|
1 |
package eu.dnetlib.pace.clustering; |
|
2 |
|
|
3 |
import org.junit.Before; |
|
4 |
import org.junit.Test; |
|
5 |
|
|
6 |
import eu.dnetlib.pace.AbstractProtoPaceTest; |
|
7 |
import eu.dnetlib.pace.config.Config; |
|
8 |
import eu.dnetlib.pace.config.Type; |
|
9 |
import eu.dnetlib.pace.model.FieldListImpl; |
|
10 |
import eu.dnetlib.pace.model.FieldValueImpl; |
|
11 |
import eu.dnetlib.pace.model.MapDocument; |
|
12 |
|
|
13 |
public class BlacklistAwareClusteringCombinerTest extends AbstractProtoPaceTest { |
|
14 |
|
|
15 |
private Config config; |
|
16 |
|
|
17 |
@Before |
|
18 |
public void setUp() { |
|
19 |
config = getResultFullConf(); |
|
20 |
} |
|
21 |
|
|
22 |
@Test |
|
23 |
public void testCombine() { |
|
24 |
final MapDocument result = |
|
25 |
result(config, "A", "Dipping in Cygnus X-2 in a multi-wavelength campaign due to absorption of extended ADC emission", "2013"); |
|
26 |
final FieldListImpl fl = new FieldListImpl(); |
|
27 |
fl.add(new FieldValueImpl(Type.String, "desc", "hello world description pipeline")); |
|
28 |
|
|
29 |
result.getFieldMap().put("desc", fl); |
|
30 |
|
|
31 |
fl.clear(); |
|
32 |
fl.add(new FieldValueImpl(Type.String, "title", "lorem ipsum cabalie qwerty")); |
|
33 |
final FieldListImpl field = (FieldListImpl) result.getFieldMap().get("title"); |
|
34 |
field.add(fl); |
|
35 |
|
|
36 |
System.out.println(BlacklistAwareClusteringCombiner.filterAndCombine(result, config, config.blacklists())); |
|
37 |
} |
|
38 |
} |
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/src/test/java/eu/dnetlib/pace/clustering/ClusteringCombinerTest.java | ||
---|---|---|
1 |
package eu.dnetlib.pace.clustering; |
|
2 |
|
|
3 |
import org.junit.Before; |
|
4 |
import org.junit.Test; |
|
5 |
|
|
6 |
import eu.dnetlib.pace.AbstractProtoPaceTest; |
|
7 |
import eu.dnetlib.pace.config.Config; |
|
8 |
import eu.dnetlib.pace.config.Type; |
|
9 |
import eu.dnetlib.pace.model.FieldListImpl; |
|
10 |
import eu.dnetlib.pace.model.FieldValueImpl; |
|
11 |
import eu.dnetlib.pace.model.MapDocument; |
|
12 |
|
|
13 |
public class ClusteringCombinerTest extends AbstractProtoPaceTest { |
|
14 |
|
|
15 |
private Config config; |
|
16 |
|
|
17 |
@Before |
|
18 |
public void setUp() { |
|
19 |
config = getResultFullConf(); |
|
20 |
} |
|
21 |
|
|
22 |
@Test |
|
23 |
public void testCombine() { |
|
24 |
String title = "Dipping in Cygnus X-2 in a multi-wavelength campaign due to absorption of extended ADC emission"; |
|
25 |
MapDocument result = result(config, "A", title, "2013"); |
|
26 |
|
|
27 |
FieldListImpl fl = new FieldListImpl(); |
|
28 |
fl.add(new FieldValueImpl(Type.String, "desc", "lorem ipsum cabalie qwerty")); |
|
29 |
|
|
30 |
result.getFieldMap().put("desc", fl); |
|
31 |
System.out.println(title); |
|
32 |
System.out.println(ClusteringCombiner.combine(result, config)); |
|
33 |
} |
|
34 |
|
|
35 |
} |
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/src/test/java/eu/dnetlib/pace/AbstractProtoPaceTest.java | ||
---|---|---|
1 |
package eu.dnetlib.pace; |
|
2 |
|
|
3 |
import java.io.IOException; |
|
4 |
import java.io.StringWriter; |
|
5 |
import java.util.List; |
|
6 |
|
|
7 |
import org.apache.commons.io.IOUtils; |
|
8 |
import org.apache.commons.lang.RandomStringUtils; |
|
9 |
import org.apache.commons.lang.StringUtils; |
|
10 |
|
|
11 |
import com.google.gson.Gson; |
|
12 |
|
|
13 |
import eu.dnetlib.data.mapreduce.util.OafTest; |
|
14 |
import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier; |
|
15 |
import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty; |
|
16 |
import eu.dnetlib.data.proto.FieldTypeProtos.StructuredProperty.Builder; |
|
17 |
import eu.dnetlib.data.proto.OafProtos.Oaf; |
|
18 |
import eu.dnetlib.data.proto.OafProtos.OafEntity; |
|
19 |
import eu.dnetlib.data.proto.OrganizationProtos.Organization; |
|
20 |
import eu.dnetlib.data.proto.PersonProtos.Person; |
|
21 |
import eu.dnetlib.data.proto.ResultProtos.Result; |
|
22 |
import eu.dnetlib.pace.config.Config; |
|
23 |
import eu.dnetlib.pace.config.DedupConfig; |
|
24 |
import eu.dnetlib.pace.config.Type; |
|
25 |
import eu.dnetlib.pace.model.Field; |
|
26 |
import eu.dnetlib.pace.model.FieldValueImpl; |
|
27 |
import eu.dnetlib.pace.model.MapDocument; |
|
28 |
import eu.dnetlib.pace.model.ProtoDocumentBuilder; |
|
29 |
import eu.dnetlib.pace.model.gt.GTAuthor; |
|
30 |
import eu.dnetlib.pace.model.gt.GTAuthorMapper; |
|
31 |
|
|
32 |
public abstract class AbstractProtoPaceTest extends OafTest { |
|
33 |
|
|
34 |
protected DedupConfig getResultFullConf() { |
|
35 |
return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.full.pace.conf")); |
|
36 |
} |
|
37 |
|
|
38 |
protected DedupConfig getResultSimpleConf() { |
|
39 |
return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.simple.pace.conf")); |
|
40 |
} |
|
41 |
|
|
42 |
protected DedupConfig getResultConf() { |
|
43 |
return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.pace.conf")); |
|
44 |
} |
|
45 |
|
|
46 |
protected DedupConfig getOrganizationSimpleConf() { |
|
47 |
return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/organization.pace.conf")); |
|
48 |
} |
|
49 |
|
|
50 |
protected DedupConfig getResultAuthorsConf() { |
|
51 |
return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.authors.pace.conf")); |
|
52 |
} |
|
53 |
|
|
54 |
protected DedupConfig getPersonConf() { |
|
55 |
return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/person.pace.conf")); |
|
56 |
} |
|
57 |
|
|
58 |
protected DedupConfig getResultProdConf() { |
|
59 |
return DedupConfig.load(readFromClasspath("/eu/dnetlib/pace/result.prod.pace.conf")); |
|
60 |
} |
|
61 |
|
|
62 |
protected MapDocument person(final Config conf, final String id, final Oaf oaf) { |
|
63 |
return ProtoDocumentBuilder.newInstance(id, oaf.getEntity(), conf.model()); |
|
64 |
} |
|
65 |
|
|
66 |
protected Oaf getPersonGT(final String path) { |
|
67 |
return new GTAuthorMapper().map(getGTAuthor(path)); |
|
68 |
} |
|
69 |
|
|
70 |
protected GTAuthor getGTAuthor(final String path) { |
|
71 |
|
|
72 |
final Gson gson = new Gson(); |
|
73 |
|
|
74 |
final String json = readFromClasspath(path); |
|
75 |
|
|
76 |
final GTAuthor gta = gson.fromJson(json, GTAuthor.class); |
|
77 |
|
|
78 |
return gta; |
|
79 |
} |
|
80 |
|
|
81 |
private String readFromClasspath(final String filename) { |
|
82 |
final StringWriter sw = new StringWriter(); |
|
83 |
try { |
|
84 |
IOUtils.copy(getClass().getResourceAsStream(filename), sw); |
|
85 |
return sw.toString(); |
|
86 |
} catch (final IOException e) { |
|
87 |
throw new RuntimeException("cannot load resource from classpath: " + filename); |
|
88 |
} |
|
89 |
} |
|
90 |
|
|
91 |
protected MapDocument result(final Config config, final String id, final String title) { |
|
92 |
return result(config, id, title, null, null, null); |
|
93 |
} |
|
94 |
|
|
95 |
protected MapDocument result(final Config config, final String id, final String title, final String date) { |
|
96 |
return result(config, id, title, date, null, null); |
|
97 |
} |
|
98 |
|
|
99 |
protected MapDocument result(final Config config, final String id, final String title, final String date, final String pid) { |
|
100 |
return result(config, id, title, date, pid, null); |
|
101 |
} |
|
102 |
|
|
103 |
protected MapDocument result(final Config config, final String id, final String title, final String date, final String pid, final List<String> authors) { |
|
104 |
final Result.Metadata.Builder metadata = Result.Metadata.newBuilder(); |
|
105 |
if (!StringUtils.isBlank(title)) { |
|
106 |
metadata.addTitle(getStruct(title, getQualifier("main title", "dnet:titles"))); |
|
107 |
metadata.addTitle(getStruct(RandomStringUtils.randomAlphabetic(10), getQualifier("alternative title", "dnet:titles"))); |
|
108 |
} |
|
109 |
if (!StringUtils.isBlank(date)) { |
|
110 |
metadata.setDateofacceptance(sf(date)); |
|
111 |
} |
|
112 |
|
|
113 |
final OafEntity.Builder entity = oafEntity(id, eu.dnetlib.data.proto.TypeProtos.Type.result); |
|
114 |
final Result.Builder result = Result.newBuilder().setMetadata(metadata); |
|
115 |
|
|
116 |
if (authors != null) { |
|
117 |
for (final String author : authors) { |
|
118 |
result.addAuthor(person(author)); |
|
119 |
} |
|
120 |
} |
|
121 |
|
|
122 |
entity.setResult(result); |
|
123 |
|
|
124 |
if (!StringUtils.isBlank(pid)) { |
|
125 |
entity.addPid(sp(pid, "doi")); |
|
126 |
entity.addPid(sp(RandomStringUtils.randomAlphabetic(10), "oai")); |
|
127 |
} |
|
128 |
|
|
129 |
final OafEntity build = entity.build(); |
|
130 |
return ProtoDocumentBuilder.newInstance(id, build, config.model()); |
|
131 |
} |
|
132 |
|
|
133 |
private Person.Builder person(final String author) { |
|
134 |
final Person.Builder person = Person.newBuilder(); |
|
135 |
|
|
136 |
final eu.dnetlib.pace.model.Person p = new eu.dnetlib.pace.model.Person(author, false); |
|
137 |
final Person.Metadata.Builder metadata = Person.Metadata.newBuilder(); |
|
138 |
if (p.isAccurate()) { |
|
139 |
metadata.setFirstname(sf(p.getNormalisedFirstName())); |
|
140 |
metadata.addSecondnames(sf(p.getNormalisedSurname())); |
|
141 |
metadata.setFullname(sf(p.getNormalisedFullname())); |
|
142 |
} else { |
|
143 |
metadata.setFullname(sf(p.getOriginal())); |
|
144 |
} |
|
145 |
|
|
146 |
return person.setMetadata(metadata); |
|
147 |
} |
|
148 |
|
|
149 |
private OafEntity.Builder oafEntity(final String id, final eu.dnetlib.data.proto.TypeProtos.Type type) { |
|
150 |
final OafEntity.Builder entity = OafEntity.newBuilder().setId(id).setType(type); |
|
151 |
return entity; |
|
152 |
} |
|
153 |
|
|
154 |
protected MapDocument organization(final Config config, final String id, final String legalName) { |
|
155 |
return organization(config, id, legalName, null); |
|
156 |
} |
|
157 |
|
|
158 |
protected MapDocument organization(final Config config, final String id, final String legalName, final String legalShortName) { |
|
159 |
final Organization.Metadata.Builder metadata = Organization.Metadata.newBuilder(); |
|
160 |
if (legalName != null) { |
|
161 |
metadata.setLegalname(sf(legalName)); |
|
162 |
} |
|
163 |
if (legalShortName != null) { |
|
164 |
metadata.setLegalshortname(sf(legalShortName)); |
|
165 |
} |
|
166 |
|
|
167 |
final OafEntity.Builder entity = oafEntity(id, eu.dnetlib.data.proto.TypeProtos.Type.result); |
|
168 |
entity.setOrganization(Organization.newBuilder().setMetadata(metadata)); |
|
169 |
|
|
170 |
return ProtoDocumentBuilder.newInstance(id, entity.build(), config.model()); |
|
171 |
} |
|
172 |
|
|
173 |
private StructuredProperty sp(final String pid, final String type) { |
|
174 |
final Builder pidSp = |
|
175 |
StructuredProperty.newBuilder().setValue(pid) |
|
176 |
.setQualifier(Qualifier.newBuilder().setClassid(type).setClassname(type).setSchemeid("dnet:pid_types").setSchemename("dnet:pid_types")); |
|
177 |
return pidSp.build(); |
|
178 |
} |
|
179 |
|
|
180 |
protected Field title(final String s) { |
|
181 |
return new FieldValueImpl(Type.String, "title", s); |
|
182 |
} |
|
183 |
|
|
184 |
protected static StructuredProperty.Builder getStruct(final String value, final Qualifier.Builder qualifier) { |
|
185 |
return StructuredProperty.newBuilder().setValue(value).setQualifier(qualifier); |
|
186 |
} |
|
187 |
|
|
188 |
/* |
|
189 |
* protected static StringField.Builder sf(final String s) { return StringField.newBuilder().setValue(s); } |
|
190 |
* |
|
191 |
* protected static Qualifier.Builder getQualifier(final String classname, final String schemename) { return |
|
192 |
* Qualifier.newBuilder().setClassid(classname).setClassname(classname).setSchemeid(schemename).setSchemename(schemename); } |
|
193 |
*/ |
|
194 |
|
|
195 |
} |
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/src/test/java/eu/dnetlib/pace/model/ProtoDocumentBuilderTest.java | ||
---|---|---|
1 |
package eu.dnetlib.pace.model; |
|
2 |
|
|
3 |
import static org.junit.Assert.assertFalse; |
|
4 |
import static org.junit.Assert.assertTrue; |
|
5 |
|
|
6 |
import org.junit.Test; |
|
7 |
|
|
8 |
import com.google.common.collect.Iterables; |
|
9 |
import com.google.common.collect.Sets; |
|
10 |
import com.google.common.collect.Sets.SetView; |
|
11 |
|
|
12 |
import eu.dnetlib.pace.AbstractProtoPaceTest; |
|
13 |
import eu.dnetlib.pace.config.Config; |
|
14 |
|
|
15 |
public class ProtoDocumentBuilderTest extends AbstractProtoPaceTest { |
|
16 |
|
|
17 |
@Test |
|
18 |
public void test_serialise1() { |
|
19 |
|
|
20 |
final String id = "12345"; |
|
21 |
|
|
22 |
final Config config = getResultFullConf(); |
|
23 |
|
|
24 |
final MapDocument document = ProtoDocumentBuilder.newInstance(id, getResult(id), config.model()); |
|
25 |
|
|
26 |
assertFalse(document.fieldNames().isEmpty()); |
|
27 |
assertFalse(Iterables.isEmpty(document.fields())); |
|
28 |
|
|
29 |
System.out.println("original:\n" + document); |
|
30 |
|
|
31 |
final String stringDoc = MapDocumentSerializer.toString(document); |
|
32 |
|
|
33 |
System.out.println("srialization:\n" + stringDoc); |
|
34 |
|
|
35 |
final MapDocument decoded = MapDocumentSerializer.decode(stringDoc.getBytes()); |
|
36 |
|
|
37 |
final SetView<String> diff = Sets.difference(document.fieldNames(), decoded.fieldNames()); |
|
38 |
|
|
39 |
assertTrue(diff.isEmpty()); |
|
40 |
|
|
41 |
System.out.println("decoded:\n" + decoded); |
|
42 |
} |
|
43 |
|
|
44 |
@Test |
|
45 |
public void test_serialise2() { |
|
46 |
|
|
47 |
final String id = "12345"; |
|
48 |
final String path = "/eu/dnetlib/pace/model/gt.author.manghi1.json"; |
|
49 |
|
|
50 |
final Config config = getPersonConf(); |
|
51 |
|
|
52 |
final MapDocument document = ProtoDocumentBuilder.newInstance(id, getPersonGT(path).getEntity(), config.model()); |
|
53 |
|
|
54 |
assertFalse(document.fieldNames().isEmpty()); |
|
55 |
assertFalse(Iterables.isEmpty(document.fields())); |
|
56 |
|
|
57 |
System.out.println("original:\n" + document); |
|
58 |
|
|
59 |
final String stringDoc = MapDocumentSerializer.toString(document); |
|
60 |
|
|
61 |
System.out.println("srialization:\n" + stringDoc); |
|
62 |
|
|
63 |
final MapDocument decoded = MapDocumentSerializer.decode(stringDoc.getBytes()); |
|
64 |
|
|
65 |
final SetView<String> diff = Sets.difference(document.fieldNames(), decoded.fieldNames()); |
|
66 |
|
|
67 |
assertTrue(diff.isEmpty()); |
|
68 |
|
|
69 |
System.out.println("decoded:\n" + decoded); |
|
70 |
} |
|
71 |
|
|
72 |
} |
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/src/test/java/eu/dnetlib/pace/model/gt/AuthorTest.java | ||
---|---|---|
1 |
package eu.dnetlib.pace.model.gt; |
|
2 |
|
|
3 |
import static org.junit.Assert.assertTrue; |
|
4 |
|
|
5 |
import java.util.Set; |
|
6 |
|
|
7 |
import org.junit.Test; |
|
8 |
|
|
9 |
import com.google.common.collect.Sets; |
|
10 |
|
|
11 |
import eu.dnetlib.pace.model.gt.Author; |
|
12 |
import eu.dnetlib.pace.model.gt.Authors; |
|
13 |
|
|
14 |
public class AuthorTest { |
|
15 |
|
|
16 |
@Test |
|
17 |
public void test() { |
|
18 |
final Set<Author> s1 = getAuthors(3); |
|
19 |
final Set<Author> s2 = getAuthors(3); |
|
20 |
|
|
21 |
final Set<Author> i = Sets.intersection(s1, s2); |
|
22 |
|
|
23 |
System.out.println(i); |
|
24 |
|
|
25 |
assertTrue(i.size() == 3); |
|
26 |
|
|
27 |
} |
|
28 |
|
|
29 |
@Test |
|
30 |
public void test1() { |
|
31 |
final Authors a1 = new Authors(a("1", "Wang, M.")); |
|
32 |
final Authors a2 = new Authors(a("1", "Wang, M.")); |
|
33 |
|
|
34 |
final Set<Author> i = Sets.intersection(a1, a2); |
|
35 |
|
|
36 |
assertTrue(i.size() == 1); |
|
37 |
|
|
38 |
} |
|
39 |
|
|
40 |
private Set<Author> getAuthors(final int n) { |
|
41 |
final Set<Author> s = Sets.newHashSet(); |
|
42 |
|
|
43 |
for (int i = 0; i < n; i++) { |
|
44 |
s.add(a(i + "", "name" + i)); |
|
45 |
} |
|
46 |
return s; |
|
47 |
} |
|
48 |
|
|
49 |
private Author a(final String id, final String fullname) { |
|
50 |
final Author a = new Author(); |
|
51 |
a.setId(id); |
|
52 |
a.setFullname(fullname); |
|
53 |
return a; |
|
54 |
} |
|
55 |
|
|
56 |
} |
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/src/test/java/eu/dnetlib/pace/distance/DetectorTest.java | ||
---|---|---|
1 |
package eu.dnetlib.pace.distance; |
|
2 |
|
|
3 |
import static org.junit.Assert.assertTrue; |
|
4 |
|
|
5 |
import java.util.List; |
|
6 |
|
|
7 |
import org.junit.Test; |
|
8 |
|
|
9 |
import com.google.common.collect.Lists; |
|
10 |
|
|
11 |
import eu.dnetlib.pace.AbstractProtoPaceTest; |
|
12 |
import eu.dnetlib.pace.config.Config; |
|
13 |
import eu.dnetlib.pace.model.MapDocument; |
|
14 |
|
|
15 |
public class DetectorTest extends AbstractProtoPaceTest { |
|
16 |
|
|
17 |
@Test |
|
18 |
public void testDistanceResultSimple() { |
|
19 |
final Config config = getResultSimpleConf(); |
|
20 |
|
|
21 |
final MapDocument resA = result(config, "A", "Recent results from CDF"); |
|
22 |
final MapDocument resB = result(config, "B", "Recent results from CDF"); |
|
23 |
|
|
24 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
25 |
System.out.println(String.format(" d ---> %s", d)); |
|
26 |
|
|
27 |
assertTrue(d == 1.0); |
|
28 |
} |
|
29 |
|
|
30 |
@Test |
|
31 |
public void testDistanceResultSimpleMissingDates() { |
|
32 |
final Config config = getResultSimpleConf(); |
|
33 |
|
|
34 |
final MapDocument resA = result(config, "A", "Recent results from BES"); |
|
35 |
final MapDocument resB = result(config, "A", "Recent results from CES"); |
|
36 |
|
|
37 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
38 |
System.out.println(String.format(" d ---> %s", d)); |
|
39 |
|
|
40 |
assertTrue(d > 0.97); |
|
41 |
} |
|
42 |
|
|
43 |
@Test |
|
44 |
public void testDistanceResultInvalidDate() { |
|
45 |
final Config config = getResultConf(); |
|
46 |
|
|
47 |
final MapDocument resA = result(config, "A", "title title title 6BESR", "2013-01-05"); |
|
48 |
final MapDocument resB = result(config, "B", "title title title 6BESR", "qwerty"); |
|
49 |
|
|
50 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
51 |
System.out.println(String.format(" d ---> %s", d)); |
|
52 |
|
|
53 |
assertTrue(d == 1.0); |
|
54 |
} |
|
55 |
|
|
56 |
@Test |
|
57 |
public void testDistanceResultMissingOneDate() { |
|
58 |
final Config config = getResultConf(); |
|
59 |
|
|
60 |
final MapDocument resA = result(config, "A", "title title title 6BESR", null); |
|
61 |
final MapDocument resB = result(config, "B", "title title title 6CLER", "2012-02"); |
|
62 |
|
|
63 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
64 |
System.out.println(String.format(" d ---> %s", d)); |
|
65 |
|
|
66 |
assertTrue((d > 0.9) && (d < 1.0)); |
|
67 |
} |
|
68 |
|
|
69 |
@Test |
|
70 |
public void testDistanceResult() { |
|
71 |
final Config config = getResultConf(); |
|
72 |
|
|
73 |
final MapDocument resA = result(config, "A", "title title title BES", ""); |
|
74 |
final MapDocument resB = result(config, "B", "title title title CLEO"); |
|
75 |
|
|
76 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
77 |
System.out.println(String.format(" d ---> %s", d)); |
|
78 |
|
|
79 |
assertTrue((d > 0.9) && (d < 1.0)); |
|
80 |
} |
|
81 |
|
|
82 |
@Test |
|
83 |
public void testDistanceResultMissingTwoDate() { |
|
84 |
final Config config = getResultConf(); |
|
85 |
|
|
86 |
final MapDocument resA = result(config, "A", "title title title 6BESR"); |
|
87 |
final MapDocument resB = result(config, "B", "title title title 6CLER"); |
|
88 |
|
|
89 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
90 |
|
|
91 |
System.out.println(String.format(" d ---> %s", d)); |
|
92 |
|
|
93 |
assertTrue((d > 0.9) && (d < 1.0)); |
|
94 |
} |
|
95 |
|
|
96 |
@Test |
|
97 |
public void testDistanceOrganizationIgnoreMissing() { |
|
98 |
|
|
99 |
final Config config = getOrganizationSimpleConf(); |
|
100 |
|
|
101 |
final MapDocument orgA = organization(config, "A", "CONSIGLIO NAZIONALE DELLE RICERCHE"); |
|
102 |
final MapDocument orgB = organization(config, "B", "CONSIGLIO NAZIONALE DELLE RICERCHE", "CNR"); |
|
103 |
|
|
104 |
final double d = new PaceDocumentDistance().between(orgA, orgB, config); |
|
105 |
System.out.println(String.format(" d ---> %s", d)); |
|
106 |
|
|
107 |
assertTrue(d == 1.0); |
|
108 |
} |
|
109 |
|
|
110 |
@Test |
|
111 |
public void testDistanceResultCase1() { |
|
112 |
|
|
113 |
final Config config = getResultConf(); |
|
114 |
|
|
115 |
final MapDocument resA = result(config, "A", "Search the Standard Model Higgs boson", "2003"); |
|
116 |
final MapDocument resB = result(config, "B", "Search for the Standard Model Higgs Boson", "2003"); |
|
117 |
|
|
118 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
119 |
System.out.println(String.format(" d ---> %s", d)); |
|
120 |
|
|
121 |
assertTrue((d > 0.9) && (d < 1.0)); |
|
122 |
} |
|
123 |
|
|
124 |
@Test |
|
125 |
public void testDistanceResultCaseDoiMatch1() { |
|
126 |
final Config config = getResultConf(); |
|
127 |
|
|
128 |
final MapDocument resA = result(config, "A", "Search the Standard Model Higgs boson", "2003", "http://dx.doi.org/10.1594/PANGAEA.726855"); |
|
129 |
final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", "10.1594/PANGAEA.726855"); |
|
130 |
|
|
131 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
132 |
System.out.println(String.format(" d ---> %s", d)); |
|
133 |
|
|
134 |
assertTrue("exact DOIs will produce an exact match", d == 1.0); |
|
135 |
} |
|
136 |
|
|
137 |
@Test |
|
138 |
public void testDistanceResultCaseDoiMatch2() { |
|
139 |
final Config config = getResultConf(); |
|
140 |
|
|
141 |
final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "http://dx.doi.org/10.1594/PANGAEA.726855"); |
|
142 |
final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2005", "doi:10.1594/PANGAEA.726855"); |
|
143 |
|
|
144 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
145 |
System.out.println(String.format(" d ---> %s", d)); |
|
146 |
|
|
147 |
assertTrue("exact DOIs will produce an exact match, regardless of different titles or publication years", d == 1.0); |
|
148 |
} |
|
149 |
|
|
150 |
@Test |
|
151 |
public void testDistanceResultCaseDoiMatch3() { |
|
152 |
final Config config = getResultConf(); |
|
153 |
|
|
154 |
final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1016/j.jmb.2010.12.024"); |
|
155 |
final MapDocument resB = result(config, "B", "Conference proceedings on X. Appendix", "2003"); |
|
156 |
|
|
157 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
158 |
System.out.println(String.format(" d ---> %s", d)); |
|
159 |
|
|
160 |
assertTrue("a missing DOI will casue the comparsion to continue with the following conditions", d == 1.0); |
|
161 |
} |
|
162 |
|
|
163 |
@Test |
|
164 |
public void testDistanceResultCaseDoiMatch4() { |
|
165 |
final Config config = getResultConf(); |
|
166 |
|
|
167 |
final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1016/j.jmb.2010.12.024"); |
|
168 |
final MapDocument resB = result(config, "B", "Conference proceedings on X. Appendix", "2005"); |
|
169 |
|
|
170 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
171 |
System.out.println(String.format(" d ---> %s", d)); |
|
172 |
|
|
173 |
assertTrue("a missing DOI, comparsion continues with the following conditions, different publication years will drop the score to 0", d == 0.0); |
|
174 |
} |
|
175 |
|
|
176 |
@Test |
|
177 |
public void testDistanceResultCaseDoiMatch5() { |
|
178 |
|
|
179 |
final Config config = getResultConf(); |
|
180 |
|
|
181 |
final MapDocument resA = result(config, "A", "Search for the Standard Model Higgs Boson", "2003", "10.1016/j.jmb.2010.12.020"); |
|
182 |
final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003"); |
|
183 |
|
|
184 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
185 |
System.out.println(String.format(" d ---> %s", d)); |
|
186 |
|
|
187 |
assertTrue("a missing DOI, comparsion continues with the following conditions", (d > 0.9) && (d < 1.0)); |
|
188 |
} |
|
189 |
|
|
190 |
@Test |
|
191 |
public void testDistanceResultCaseDoiMatch6() { |
|
192 |
final Config config = getResultConf(); |
|
193 |
|
|
194 |
final MapDocument resA = result(config, "A", "Conference proceedings on X. Appendix", "2003", "10.1016/j.jmb.2010.12.024"); |
|
195 |
final MapDocument resB = result(config, "B", "Conference proceedings on X. Appendix", "2003", "anotherDifferentDOI"); |
|
196 |
|
|
197 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
198 |
System.out.println(String.format(" d ---> %s", d)); |
|
199 |
|
|
200 |
assertTrue("different DOIs will drop the score to 0, regardless of the other fields", d == 0.0); |
|
201 |
} |
|
202 |
|
|
203 |
// http://dx.doi.org/10.1594/PANGAEA.726855 doi:10.1594/PANGAEA.726855 |
|
204 |
|
|
205 |
@Test |
|
206 |
public void testDistanceResultCaseAuthor1() { |
|
207 |
|
|
208 |
final Config config = getResultAuthorsConf(); |
|
209 |
|
|
210 |
final List<String> authorsA = Lists.newArrayList("a", "b", "c", "d"); |
|
211 |
final List<String> authorsB = Lists.newArrayList("a", "b", "c"); |
|
212 |
|
|
213 |
final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", null, authorsA); |
|
214 |
final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", null, authorsB); |
|
215 |
|
|
216 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
217 |
System.out.println(String.format(" d ---> %s", d)); |
|
218 |
|
|
219 |
assertTrue(d == 0.0); |
|
220 |
} |
|
221 |
|
|
222 |
@Test |
|
223 |
public void testDistanceResultCaseAuthor2() { |
|
224 |
|
|
225 |
final Config config = getResultAuthorsConf(); |
|
226 |
|
|
227 |
final List<String> authorsA = Lists.newArrayList("a", "b", "c"); |
|
228 |
final List<String> authorsB = Lists.newArrayList("a", "b", "c"); |
|
229 |
|
|
230 |
final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", null, authorsA); |
|
231 |
final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", null, authorsB); |
|
232 |
|
|
233 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
234 |
System.out.println(String.format(" d ---> %s", d)); |
|
235 |
|
|
236 |
assertTrue(d == 1.0); |
|
237 |
} |
|
238 |
|
|
239 |
@Test |
|
240 |
public void testDistanceResultCaseAuthor3() { |
|
241 |
|
|
242 |
final Config config = getResultAuthorsConf(); |
|
243 |
|
|
244 |
final List<String> authorsA = Lists.newArrayList("Bardi, A.", "Manghi, P.", "Artini, M."); |
|
245 |
final List<String> authorsB = Lists.newArrayList("Bardi Alessia", "Manghi Paolo", "Artini Michele"); |
|
246 |
|
|
247 |
final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", null, authorsA); |
|
248 |
final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", null, authorsB); |
|
249 |
|
|
250 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
251 |
System.out.println(String.format(" d ---> %s", d)); |
|
252 |
|
|
253 |
assertTrue((d > 0.9) && (d < 1.0)); |
|
254 |
} |
|
255 |
|
|
256 |
@Test |
|
257 |
public void testDistanceResultCaseAuthor4() { |
|
258 |
|
|
259 |
final Config config = getResultAuthorsConf(); |
|
260 |
|
|
261 |
final List<String> authorsA = Lists.newArrayList("Bardi, Alessia", "Manghi, Paolo", "Artini, Michele", "a"); |
|
262 |
final List<String> authorsB = Lists.newArrayList("Bardi Alessia", "Manghi Paolo", "Artini Michele"); |
|
263 |
|
|
264 |
final MapDocument resA = result(config, "A", "Search the Standard Model Higgs Boson", "2003", null, authorsA); |
|
265 |
final MapDocument resB = result(config, "B", "Search the Standard Model Higgs Boson", "2003", null, authorsB); |
|
266 |
|
|
267 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
268 |
System.out.println(String.format(" d ---> %s", d)); |
|
269 |
|
|
270 |
// assertTrue(d == 0.0); |
|
271 |
} |
|
272 |
|
|
273 |
@Test |
|
274 |
public void testDistanceResultFullConf() { |
|
275 |
|
|
276 |
final Config config = getResultFullConf(); |
|
277 |
|
|
278 |
final List<String> authorsA = Lists.newArrayList("Nagarajan Pranesh", "Guy Vautier", "Punyanganie de Silva"); |
|
279 |
final List<String> authorsB = Lists.newArrayList("Pranesh Nagarajan", "Vautier Guy", "de Silva Punyanganie"); |
|
280 |
|
|
281 |
final MapDocument resA = |
|
282 |
result(config, "A", "Presentations of perforated colonic pathology in patients with polymyalgia rheumatica: two case reports", "2010", |
|
283 |
"10.1186/1752-1947-4-299", authorsA); |
|
284 |
final MapDocument resB = |
|
285 |
result(config, "B", "Presentations of perforated colonic pathology in patients with polymyalgia rheumatica: two case reports", "2010", null, |
|
286 |
authorsB); |
|
287 |
|
|
288 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
289 |
System.out.println(String.format(" d ---> %s", d)); |
|
290 |
|
|
291 |
// assertTrue(d == 0.0); |
|
292 |
} |
|
293 |
|
|
294 |
@Test |
|
295 |
public void testDistanceProdConf1() { |
|
296 |
|
|
297 |
final Config config = getResultProdConf(); |
|
298 |
|
|
299 |
final MapDocument resA = |
|
300 |
result(config, |
|
301 |
"A", |
|
302 |
" Analysis of Transfer Embryo-Derived de-duplication"); |
|
303 |
final MapDocument resB = |
|
304 |
result(config, |
|
305 |
"B", |
|
306 |
" Analysis of Transfer Embryo Derived deduplication"); |
|
307 |
|
|
308 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
309 |
System.out.println(String.format(" d ---> %s", d)); |
|
310 |
|
|
311 |
// assertTrue(d == 0.0); |
|
312 |
} |
|
313 |
|
|
314 |
@Test |
|
315 |
public void testDistanceProdConf2() { |
|
316 |
|
|
317 |
final Config config = getResultProdConf(); |
|
318 |
|
|
319 |
final MapDocument resA = |
|
320 |
result(config, |
|
321 |
"A", |
|
322 |
"qwerty aaabbbbbbbb bbb ccc ddddd"); |
|
323 |
final MapDocument resB = |
|
324 |
result(config, |
|
325 |
"B", |
|
326 |
"qwert aaabbbbbbbb bbb ccc ddddd"); |
|
327 |
|
|
328 |
final double d = new PaceDocumentDistance().between(resA, resB, config); |
|
329 |
System.out.println(String.format(" d ---> %s", d)); |
|
330 |
|
|
331 |
// assertTrue(d == 0.0); |
|
332 |
} |
|
333 |
|
|
334 |
@Test |
|
335 |
public void testDistancePersonConf1() { |
|
336 |
|
|
337 |
final Config config = getPersonConf(); |
|
338 |
|
|
339 |
final MapDocument p1 = person(config, "p1_id", getPersonGT("/eu/dnetlib/pace/model/gt.author.manghi1.fo.json")); |
|
340 |
final MapDocument p2 = person(config, "p2_id", getPersonGT("/eu/dnetlib/pace/model/gt.author.manghi2.fo.json")); |
|
341 |
|
|
342 |
final double d = new PaceDocumentDistance().between(p1, p2, config); |
|
343 |
System.out.println(String.format(" d ---> %s", d)); |
|
344 |
|
|
345 |
// assertTrue(d == 0.0); |
|
346 |
} |
|
347 |
|
|
348 |
} |
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/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-3.2.2/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-3.2.2/src/test/java/eu/dnetlib/data/mapreduce/util/OafRelDecoderTest.java | ||
---|---|---|
1 |
package eu.dnetlib.data.mapreduce.util; |
|
2 |
|
|
3 |
import static org.junit.Assert.assertEquals; |
|
4 |
import static org.junit.Assert.assertNotNull; |
|
5 |
|
|
6 |
import org.junit.Before; |
|
7 |
import org.junit.Test; |
|
8 |
|
|
9 |
import com.google.protobuf.Descriptors.FieldDescriptor; |
|
10 |
|
|
11 |
import eu.dnetlib.data.proto.OafProtos.OafRel; |
|
12 |
import eu.dnetlib.data.proto.PersonResultProtos.PersonResult.Authorship; |
|
13 |
import eu.dnetlib.data.proto.RelTypeProtos.RelType; |
|
14 |
import eu.dnetlib.data.proto.RelTypeProtos.SubRelType; |
|
15 |
|
|
16 |
public class OafRelDecoderTest { |
|
17 |
|
|
18 |
private OafRel oafRel; |
|
19 |
|
|
20 |
@Before |
|
21 |
public void setUp() { |
|
22 |
oafRel = OafTest.getPersonResult("ID_1", "ID_2", "1", "isAuthor"); |
|
23 |
} |
|
24 |
|
|
25 |
@Test |
|
26 |
public void testSetClass() { |
|
27 |
|
|
28 |
OafRelDecoder d1 = OafRelDecoder.decode(oafRel); |
|
29 |
|
|
30 |
assertNotNull(d1); |
|
31 |
assertEquals("isAuthor", d1.getRelClass()); |
|
32 |
|
|
33 |
OafRelDecoder d2 = OafRelDecoder.decode(d1.setClassId("hasAuthor").build()); |
|
34 |
|
|
35 |
assertEquals("hasAuthor", d2.getRelClass()); |
|
36 |
assertEquals("hasAuthor", d2.getRelMetadata().getSemantics().getClassid()); |
|
37 |
assertEquals("hasAuthor", d2.getRelMetadata().getSemantics().getClassname()); |
|
38 |
|
|
39 |
FieldDescriptor fd = Authorship.getDescriptor().findFieldByName("ranking"); |
|
40 |
assertEquals(d1.getSubRel().getField(fd), d2.getSubRel().getField(fd)); |
|
41 |
} |
|
42 |
|
|
43 |
@Test |
|
44 |
public void testGetCF() { |
|
45 |
assertEquals("personResult_authorship_isAuthorOf", OafRelDecoder.getCFQ(RelType.personResult, SubRelType.authorship, Authorship.RelName.isAuthorOf)); |
|
46 |
assertEquals("personResult_authorship_isAuthorOf", OafRelDecoder.getCFQ(RelType.personResult, SubRelType.authorship, "isAuthorOf")); |
|
47 |
} |
|
48 |
|
|
49 |
} |
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/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-3.2.2/src/test/resources/eu/dnetlib/pace/organization.pace.conf | ||
---|---|---|
1 |
{ |
|
2 |
"wf" : { |
|
3 |
"threshold" : "0.99", |
|
4 |
"run" : "001", |
|
5 |
"entityType" : "organization", |
|
6 |
"orderField" : "title", |
|
7 |
"queueMaxSize" : "2000", |
|
8 |
"groupMaxSize" : "10", |
|
9 |
"slidingWindowSize" : "200", |
|
10 |
"rootBuilder" : [ "organization" ], |
|
11 |
"includeChildren" : "true" |
|
12 |
}, |
|
13 |
"pace" : { |
|
14 |
"conditions" : [ ], |
|
15 |
"model" : [ |
|
16 |
{ "name" : "legalname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.6", "ignoreMissing" : "false", "path" : "organization/metadata/legalname/value" }, |
|
17 |
{ "name" : "legalshortname", "algo" : "JaroWinkler", "type" : "String", "weight" : "0.4", "ignoreMissing" : "true", "path" : "organization/metadata/legalshortname/value" } |
|
18 |
], |
|
19 |
"blacklists" : { } |
|
20 |
} |
|
21 |
} |
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/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-3.2.2/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-3.2.2/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" |
|
412 |
}, |
|
413 |
{ |
|
414 |
"anchorId": "30|dedup_wf_001::5850f94defb717ab4e7be63e6d4d2d12", |
|
415 |
"id": "30|od______2367::de34cde81e9e864703f58d615ea0cf69", |
|
416 |
"fullname": "Siebinga, Sjoerd", |
|
417 |
"firstname": "Sjoerd", |
|
418 |
"secondnames": "Siebinga" |
|
419 |
}, |
|
420 |
{ |
|
421 |
"anchorId": "30|dedup_wf_001::271f098792b54069a4d77b4fee16b354", |
|
422 |
"id": "30|od______2367::217bb36de851aacdeae92250959e5af9", |
|
423 |
"fullname": "Schmidt, Birgit", |
|
424 |
"firstname": "Birgit", |
|
425 |
"secondnames": "Schmidt" |
|
426 |
}, |
|
427 |
{ |
|
428 |
"anchorId": "30|dedup_wf_001::ca57ee88d3a6d5e2908b09c5aae07f97", |
|
429 |
"id": "30|od______2367::ddd745ebf411904db3cd353539f6e079", |
|
430 |
"fullname": "Mieldijk, Mario", |
|
431 |
"firstname": "Mario", |
|
432 |
"secondnames": "Mieldijk" |
|
433 |
}, |
|
434 |
{ |
|
435 |
"anchorId": "30|dedup_wf_001::c4d99fedf82781b5cae2225cf8049426", |
|
436 |
"id": "30|od______2367::e931b1326351ef5b3bb2b89f3fc4244c", |
|
437 |
"fullname": "Kobos, Mateusz", |
|
438 |
"firstname": "Mateusz", |
|
439 |
"secondnames": "Kobos" |
|
440 |
} |
|
441 |
], |
|
442 |
"anchor": true |
|
443 |
} |
modules/dnet-openaireplus-mapping-utils/tags/dnet-openaireplus-mapping-utils-3.2.2/src/test/resources/eu/dnetlib/pace/model/gt.author.manghi2.fo.json | ||
---|---|---|
1 |
{ |
|
2 |
"id": "30|dedup_wf_001::9044d2ebdd6112d84e5ff279ae3d0a26", |
|
3 |
"author": { |
|
4 |
"frequency": 2, |
|
5 |
"id": "30|od______1457::9897283f935d7c2f4c11cebf65ae3098", |
|
6 |
"fullname": "Manghi, Paolo", |
|
7 |
"firstname": "Paolo", |
|
8 |
"secondnames": "Manghi" |
|
9 |
}, |
|
10 |
"merged": [ |
|
11 |
{ |
|
12 |
"id": "30|od______1457::9897283f935d7c2f4c11cebf65ae3098", |
|
13 |
"fullname": "Manghi, Paolo", |
|
14 |
"firstname": "Paolo", |
|
15 |
"secondnames": "Manghi" |
|
16 |
}, |
|
17 |
{ |
|
18 |
"score": 1, |
|
19 |
"id": "30|od_______307::9897283f935d7c2f4c11cebf65ae3098", |
|
20 |
"fullname": "Manghi, Paolo", |
|
21 |
"firstname": "Paolo", |
|
22 |
"secondnames": "Manghi" |
|
23 |
} |
|
24 |
], |
|
25 |
"coAuthors": [ |
|
26 |
{ |
|
27 |
"anchorId": "30|dedup_wf_001::179d5e120c57d760e8847dedfa7bfb9b", |
Also available in: Unified diff
[maven-release-plugin] copy for tag dnet-openaireplus-mapping-utils-3.2.2