Revision 57653
Added by Michele De Bonis almost 5 years ago
modules/dnet-openaireplus-workflows/branches/tree-dedup/deploy.info | ||
---|---|---|
1 |
{"type_source": "SVN", "goal": "package -U source:jar", "url": "http://svn-public.driver.research-infrastructures.eu/driver/dnet45/modules/dnet-openaireplus-workflows/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-workflows"} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/java/eu/dnetlib/msro/openaireplus/utils/CleaningXsltFunctionTest.java | ||
---|---|---|
1 |
package eu.dnetlib.msro.openaireplus.utils; |
|
2 |
|
|
3 |
import org.junit.Assert; |
|
4 |
import org.junit.Test; |
|
5 |
|
|
6 |
/** |
|
7 |
* Created by sandro on 11/28/16. |
|
8 |
*/ |
|
9 |
public class CleaningXsltFunctionTest { |
|
10 |
|
|
11 |
@Test |
|
12 |
public void testCyrillic() { |
|
13 |
|
|
14 |
final String inputString = "Издательский Дом \"Медицина и Просв"; |
|
15 |
final String cleanedString = CleaningXsltFunctions.clean(inputString); |
|
16 |
System.out.println(cleanedString); |
|
17 |
|
|
18 |
Assert.assertNotNull(cleanedString); |
|
19 |
|
|
20 |
} |
|
21 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/java/eu/dnetlib/msro/openaireplus/workflows/index/OpenaireLayoutToRecordStylesheetTest.java | ||
---|---|---|
1 |
package eu.dnetlib.msro.openaireplus.workflows.index; |
|
2 |
|
|
3 |
import com.fasterxml.jackson.databind.ObjectMapper; |
|
4 |
import com.fasterxml.jackson.databind.ObjectWriter; |
|
5 |
import com.google.common.collect.Maps; |
|
6 |
import eu.dnetlib.functionality.index.model.document.IndexDocument; |
|
7 |
import eu.dnetlib.functionality.index.solr.feed.InputDocumentFactory; |
|
8 |
import eu.dnetlib.functionality.index.solr.feed.StreamingInputDocumentFactory; |
|
9 |
import eu.dnetlib.miscutils.datetime.DateUtils; |
|
10 |
import eu.dnetlib.miscutils.functional.xml.ApplyXslt; |
|
11 |
import eu.dnetlib.miscutils.functional.xml.IndentXmlString; |
|
12 |
import org.apache.commons.io.IOUtils; |
|
13 |
import org.apache.solr.common.SolrInputDocument; |
|
14 |
import org.dom4j.Document; |
|
15 |
import org.dom4j.DocumentException; |
|
16 |
import org.dom4j.Node; |
|
17 |
import org.dom4j.io.SAXReader; |
|
18 |
import org.junit.Test; |
|
19 |
import org.springframework.core.io.ClassPathResource; |
|
20 |
|
|
21 |
import javax.xml.stream.XMLStreamException; |
|
22 |
import javax.xml.transform.Transformer; |
|
23 |
import javax.xml.transform.TransformerException; |
|
24 |
import javax.xml.transform.TransformerFactory; |
|
25 |
import javax.xml.transform.stream.StreamResult; |
|
26 |
import javax.xml.transform.stream.StreamSource; |
|
27 |
import java.io.IOException; |
|
28 |
import java.io.InputStream; |
|
29 |
import java.io.StringReader; |
|
30 |
import java.io.StringWriter; |
|
31 |
import java.text.SimpleDateFormat; |
|
32 |
import java.util.Map; |
|
33 |
|
|
34 |
import static org.junit.Assert.assertFalse; |
|
35 |
import static org.junit.Assert.assertNotNull; |
|
36 |
|
|
37 |
public class OpenaireLayoutToRecordStylesheetTest { |
|
38 |
|
|
39 |
private static final String OPENAIRE_LAYOUT_TO_RECORD_STYLESHEET_XSL = "/eu/dnetlib/msro/openaireplus/workflows/index/openaireLayoutToRecordStylesheet.xsl"; |
|
40 |
|
|
41 |
private static final String MDFORMAT_FIELDS_PROFILE = "/eu/dnetlib/test/profiles/MDFormatDSResources/MDFormatDSResourceType/2-8b9503d9-8a86-4330-93ef-7e0cd9bc87c2.xml"; |
|
42 |
|
|
43 |
private static final String OAF_RECORD = "/eu/dnetlib/msro/openaireplus/workflows/index/oafRecord.xml"; |
|
44 |
|
|
45 |
private final static String[] dateFormats = { "yyyy-MM-dd'T'hh:mm:ss", "yyyy-MM-dd", "dd-MM-yyyy", "dd/MM/yyyy", "yyyy" }; |
|
46 |
|
|
47 |
@Test |
|
48 |
public void testConvertRecord() throws IOException, TransformerException, XMLStreamException, DocumentException { |
|
49 |
String xsl = prepareXslt("DMF"); |
|
50 |
assertNotNull(xsl); |
|
51 |
assertFalse(xsl.isEmpty()); |
|
52 |
|
|
53 |
System.out.println(xsl); |
|
54 |
|
|
55 |
ApplyXslt xslt = new ApplyXslt(xsl); |
|
56 |
|
|
57 |
String indexRecord = xslt.evaluate(readFromClasspath(OAF_RECORD)); |
|
58 |
|
|
59 |
assertNotNull(indexRecord); |
|
60 |
assertFalse(indexRecord.isEmpty()); |
|
61 |
|
|
62 |
System.out.println(IndentXmlString.apply(indexRecord)); |
|
63 |
|
|
64 |
StreamingInputDocumentFactory factory = new StreamingInputDocumentFactory(); |
|
65 |
|
|
66 |
SolrInputDocument doc = factory.parseDocument(DateUtils.now_ISO8601(), indexRecord, "dsId", "dnetResult"); |
|
67 |
assertNotNull(doc); |
|
68 |
assertFalse(doc.isEmpty()); |
|
69 |
|
|
70 |
System.out.println("SolrDocument"); |
|
71 |
|
|
72 |
System.out.println(doc.values()); |
|
73 |
|
|
74 |
System.out.println("SolrDocument fields"); |
|
75 |
|
|
76 |
Map<String, Object> fields = Maps.newHashMap(); |
|
77 |
|
|
78 |
doc.entrySet().stream() |
|
79 |
.forEach(e -> { |
|
80 |
Object value = e.getValue().getValueCount() == 1 ? e.getValue().getFirstValue() : e.getValue().getValues(); |
|
81 |
fields.put(e.getKey(), value); |
|
82 |
}); |
|
83 |
|
|
84 |
//new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(fields); |
|
85 |
|
|
86 |
final ObjectWriter objectWriter = new ObjectMapper() |
|
87 |
.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")) |
|
88 |
.writerWithDefaultPrettyPrinter(); |
|
89 |
|
|
90 |
System.out.println(objectWriter.writeValueAsString(fields)); |
|
91 |
} |
|
92 |
|
|
93 |
protected String prepareXslt(final String format) throws IOException, TransformerException, DocumentException { |
|
94 |
|
|
95 |
final Transformer layoutTransformer = TransformerFactory.newInstance().newTransformer(streamSource(OPENAIRE_LAYOUT_TO_RECORD_STYLESHEET_XSL)); |
|
96 |
|
|
97 |
final StreamResult result = new StreamResult(new StringWriter()); |
|
98 |
|
|
99 |
layoutTransformer.setParameter("format", format); |
|
100 |
|
|
101 |
final StreamSource fields = indexFieldsFromProfile(MDFORMAT_FIELDS_PROFILE); |
|
102 |
|
|
103 |
layoutTransformer.transform(fields , result); |
|
104 |
|
|
105 |
return result.getWriter().toString(); |
|
106 |
} |
|
107 |
|
|
108 |
private StreamSource streamSource(final String s) throws IOException { |
|
109 |
return new StreamSource(new StringReader(readFromClasspath(s))); |
|
110 |
} |
|
111 |
|
|
112 |
private String readFromClasspath(final String s) throws IOException { |
|
113 |
ClassPathResource resource = new ClassPathResource(s); |
|
114 |
InputStream inputStream = resource.getInputStream(); |
|
115 |
return IOUtils.toString(inputStream); |
|
116 |
} |
|
117 |
|
|
118 |
private StreamSource indexFieldsFromProfile(final String path) throws IOException, DocumentException { |
|
119 |
final Document doc = new SAXReader().read(new StringReader(readFromClasspath(path))); |
|
120 |
final Node layout = doc.selectSingleNode("//LAYOUT[@name='index']"); |
|
121 |
return new StreamSource(new StringReader(layout.asXML())); |
|
122 |
} |
|
123 |
|
|
124 |
} |
|
125 |
|
|
126 |
|
|
127 |
|
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/java/eu/dnetlib/msro/openaireplus/workflows/nodes/hostedby/PatchHostedByTest.java | ||
---|---|---|
1 |
package eu.dnetlib.msro.openaireplus.workflows.nodes.hostedby; |
|
2 |
|
|
3 |
import java.io.IOException; |
|
4 |
import java.lang.annotation.Documented; |
|
5 |
import java.nio.charset.StandardCharsets; |
|
6 |
import java.util.HashMap; |
|
7 |
|
|
8 |
import com.google.common.collect.Maps; |
|
9 |
import junit.framework.Assert; |
|
10 |
import org.apache.commons.io.IOUtils; |
|
11 |
import org.dom4j.Document; |
|
12 |
import org.dom4j.DocumentException; |
|
13 |
import org.dom4j.io.SAXReader; |
|
14 |
import org.junit.Test; |
|
15 |
import org.springframework.core.io.ClassPathResource; |
|
16 |
import org.springframework.core.io.Resource; |
|
17 |
|
|
18 |
public class PatchHostedByTest { |
|
19 |
private PatchHostedBy p = new PatchHostedBy(new HashMap<>(),"", new HostedByCounters()); |
|
20 |
private Resource xmlInput = new ClassPathResource("/eu/dnetlib/msro/openaireplus/workflows/nodes/hostedby/input.xml"); |
|
21 |
private Resource xmlInput2 = new ClassPathResource("/eu/dnetlib/msro/openaireplus/workflows/nodes/hostedby/input2.xml"); |
|
22 |
private Resource xmlInput3 = new ClassPathResource("/eu/dnetlib/msro/openaireplus/workflows/nodes/hostedby/input3.xml"); |
|
23 |
|
|
24 |
private final SAXReader reader = new SAXReader(); |
|
25 |
|
|
26 |
private final String xpath = "substring-after(//*[local-name()='supplementTo']/*[local-name()='source']/@id,'.')"; |
|
27 |
|
|
28 |
@Test |
|
29 |
public void testEvaluate() throws DocumentException, IOException { |
|
30 |
final Document doc = reader.read(xmlInput.getInputStream()); |
|
31 |
for (Object o : doc.selectNodes(this.xpath)) { |
|
32 |
Assert.assertEquals("journal10808", o); |
|
33 |
} |
|
34 |
} |
|
35 |
|
|
36 |
|
|
37 |
@Test |
|
38 |
public void testEvaluate3() throws Exception{ |
|
39 |
HashMap<String, HostedByEntry> map = Maps.newHashMap(); |
|
40 |
map.put("TIB.TEM", new HostedByEntry("123", "test repo")); |
|
41 |
PatchHostedBy phb = new PatchHostedBy(map,"//*[local-name() = 'setSpec']", new HostedByCounters()); |
|
42 |
String res = phb.evaluate(IOUtils.toString(xmlInput3.getInputStream(), StandardCharsets.UTF_8)); |
|
43 |
Assert.assertTrue(res.contains("123")); |
|
44 |
|
|
45 |
} |
|
46 |
|
|
47 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/java/eu/dnetlib/msro/openaireplus/workflows/nodes/contexts/ContextUtilsTest.java | ||
---|---|---|
1 |
package eu.dnetlib.msro.openaireplus.workflows.nodes.contexts; |
|
2 |
|
|
3 |
import java.io.StringReader; |
|
4 |
import java.util.List; |
|
5 |
|
|
6 |
import com.google.common.collect.Iterables; |
|
7 |
import com.google.common.collect.Lists; |
|
8 |
import org.apache.commons.logging.Log; |
|
9 |
import org.apache.commons.logging.LogFactory; |
|
10 |
import org.dom4j.Document; |
|
11 |
import org.dom4j.DocumentException; |
|
12 |
import org.dom4j.Element; |
|
13 |
import org.dom4j.Node; |
|
14 |
import org.dom4j.io.SAXReader; |
|
15 |
import org.junit.Test; |
|
16 |
|
|
17 |
import static org.junit.Assert.assertTrue; |
|
18 |
|
|
19 |
/** |
|
20 |
* Created by claudio on 01/03/16. |
|
21 |
*/ |
|
22 |
public class ContextUtilsTest { |
|
23 |
|
|
24 |
private static final Log log = LogFactory.getLog(ContextUtilsTest.class); |
|
25 |
private String params = "{param1:value1,param2:value2}"; |
|
26 |
|
|
27 |
|
|
28 |
@Test |
|
29 |
public void testWrongInput() throws DocumentException { |
|
30 |
Iterable<String> it = Lists.newArrayList("<fundingtree><funder><id>irb_hr______::HRZZ</id><shortname>HRZZ</shortname><name>Croatian Science Foundation (CSF)</name><originalname>Hrvatska zaklada za znanost</originalname><jurisdiction>HR</jurisdiction></funder></fundingtree>"); |
|
31 |
final ContextDesc context = ContextUtils.getContext(it, "HRZZ", "HRZZ", "funding", params, "all"); |
|
32 |
System.out.println(context.asDomElement().asXML()); |
|
33 |
} |
|
34 |
|
|
35 |
@Test |
|
36 |
public void testProfile() throws DocumentException { |
|
37 |
Iterable<String> it = Lists.newArrayList("<fundingtree><funder><id>irb_hr______::HRZZ</id><shortname>HRZZ</shortname><name>Croatian Science Foundation (CSF)</name><originalname>Hrvatska zaklada za znanost</originalname><jurisdiction>HR</jurisdiction></funder></fundingtree>"); |
|
38 |
final ContextDesc contextDesc = ContextUtils.getContext(it, "HRZZ", "HRZZ", "funding", params, "all"); |
|
39 |
final String profile = "<RESOURCE_PROFILE xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" |
|
40 |
+ " <HEADER>\n" |
|
41 |
+ " <RESOURCE_IDENTIFIER value=\"1110d179-f7a8-481e-a1d9-51d14bec6b8d_Q29udGV4dERTUmVzb3VyY2VzL0NvbnRleHREU1Jlc291cmNlVHlwZQ==\"/>\n" |
|
42 |
+ " <RESOURCE_TYPE value=\"ContextDSResourceType\"/>\n" |
|
43 |
+ " <RESOURCE_KIND value=\"ContextDSResources\"/>\n" |
|
44 |
+ " <RESOURCE_URI value=\"\"/>\n" |
|
45 |
+ " <DATE_OF_CREATION value=\"2018-05-05T07:31:08+00:00\"/>\n" |
|
46 |
+ " </HEADER>\n" |
|
47 |
+ " <BODY>\n" |
|
48 |
+ " <CONFIGURATION>\n" |
|
49 |
+ " <context id=\"HRZZ\" label=\"HRZZ\" type=\"funding\">\n" |
|
50 |
+ " <param name=\"x\">valueX</param>\n" |
|
51 |
+ " <category claim=\"true\" id=\"ARC::Special Research initiative (Direct stimulation of the visual cortex: a flexible strategy for restoring high-acuity pattern vision)\" label=\"Special Research initiative (Direct stimulation of the visual cortex: a flexible strategy for restoring high-acuity pattern vision)\">\n" |
|
52 |
+ " <param name=\"name\">Special Research initiative (Direct stimulation of the visual cortex: a flexible strategy for restoring high-acuity pattern vision)</param>\n" |
|
53 |
+ " <param name=\"openaireId\">arc_________::ARC::Special Research initiative (Direct stimulation of the visual cortex: a flexible strategy for restoring high-acuity pattern vision)</param>\n" |
|
54 |
+ " <param name=\"class\">arc:fundingStream</param>\n" |
|
55 |
+ " </category>" |
|
56 |
+ " </context>\n" |
|
57 |
+ " </CONFIGURATION>\n" |
|
58 |
+ " <STATUS/>\n" |
|
59 |
+ " <SECURITY_PARAMETERS/>\n" |
|
60 |
+ " </BODY>\n" |
|
61 |
+ "</RESOURCE_PROFILE>"; |
|
62 |
final SAXReader reader = new SAXReader(); |
|
63 |
final Document doc = reader.read(new StringReader(profile)); |
|
64 |
final String profId = doc.valueOf("//HEADER/RESOURCE_IDENTIFIER/@value"); |
|
65 |
final Element ctxElem = (Element) doc.selectSingleNode("//CONFIGURATION/context[@id='" + contextDesc.getId() + "' and @type='" + contextDesc.getType() + "']"); |
|
66 |
updateContextParams(ctxElem, contextDesc); |
|
67 |
|
|
68 |
for (ContextPart cat : contextDesc.getCategories().values()) { |
|
69 |
final Node catElem = ctxElem.selectSingleNode("./category[@id='" + cat.getId() + "']"); |
|
70 |
if (catElem != null) { |
|
71 |
catElem.detach(); |
|
72 |
} |
|
73 |
ctxElem.add(cat.asDomElement("category")); |
|
74 |
} |
|
75 |
log.info("registering profile context " + contextDesc.getId()); |
|
76 |
System.out.println(doc.asXML()); |
|
77 |
} |
|
78 |
|
|
79 |
private void updateContextParams(final Element ctxElement, ContextDesc desc) { |
|
80 |
//removing old PARAMs |
|
81 |
List<Node> oldParams = ctxElement.selectNodes("param"); |
|
82 |
for (Node n : oldParams) { |
|
83 |
n.detach(); |
|
84 |
} |
|
85 |
//adding new params |
|
86 |
for (Element param : desc.getParamsAsElements()) { |
|
87 |
ctxElement.add(param); |
|
88 |
} |
|
89 |
} |
|
90 |
|
|
91 |
@Test |
|
92 |
public void testContextFactory() throws DocumentException { |
|
93 |
|
|
94 |
Iterable<String> it = Lists.newArrayList( |
|
95 |
"\t\t<fundings>\n" |
|
96 |
+ "\t\t\t<fundingtree>\n" |
|
97 |
+ "\t\t\t\t<funder>\n" |
|
98 |
+ "\t\t\t\t\t<id>arc_________::ARC</id>\n" |
|
99 |
+ "\t\t\t\t\t<shortname>ARC</shortname>\n" |
|
100 |
+ "\t\t\t\t\t<name>Australian Research Council (ARC)</name>\n" |
|
101 |
+ "\t\t\t\t\t<jurisdiction>AU</jurisdiction>\n" |
|
102 |
+ "\t\t\t\t</funder>\n" |
|
103 |
+ "\t\t\t</fundingtree>\n" |
|
104 |
+ "\t\t</fundings>"); |
|
105 |
|
|
106 |
final ContextDesc context = ContextUtils.getContext(it, "ARC", "Australian Research Council (ARC)", "funding", params, "hidden"); |
|
107 |
|
|
108 |
final Iterable<String> iter = Iterables.transform(context.getDbEntries().entrySet(), ContextUtils.getContextRowTransformer()); |
|
109 |
|
|
110 |
final SAXReader r = new SAXReader(); |
|
111 |
|
|
112 |
for (String f : iter) { |
|
113 |
|
|
114 |
final Document fd = r.read(new StringReader(f)); |
|
115 |
|
|
116 |
assertTrue(fd != null); |
|
117 |
assertTrue("AU".equals(fd.valueOf("//FIELD[@name='jurisdiction']"))); |
|
118 |
assertTrue("arc_________::ARC".equals(fd.valueOf("//FIELD[@name='funder']"))); |
|
119 |
} |
|
120 |
System.out.println(context.asDomElement().asXML()); |
|
121 |
} |
|
122 |
|
|
123 |
@Test |
|
124 |
public void testEmptyFunding() throws DocumentException { |
|
125 |
|
|
126 |
Iterable<String> it = Lists.newArrayList( |
|
127 |
"\t\t<fundings>\n" |
|
128 |
+ "\t\t\t<fundingtree/>\n" |
|
129 |
+ "\t\t</fundings>"); |
|
130 |
|
|
131 |
final ContextDesc context = ContextUtils.getContext(it, "HRZZ", "HRZZ", "funding", params, "hidden"); |
|
132 |
|
|
133 |
final Iterable<String> iter = Iterables.transform(context.getDbEntries().entrySet(), ContextUtils.getContextRowTransformer()); |
|
134 |
|
|
135 |
final SAXReader r = new SAXReader(); |
|
136 |
|
|
137 |
for (String f : iter) { |
|
138 |
System.out.println(f); |
|
139 |
|
|
140 |
/*final Document fd = r.read(new StringReader(f)); |
|
141 |
|
|
142 |
assertTrue(fd != null); |
|
143 |
assertTrue("AU".equals(fd.valueOf("//FIELD[@name='jurisdiction']"))); |
|
144 |
assertTrue("arc_________::ARC".equals(fd.valueOf("//FIELD[@name='funder']"))); |
|
145 |
*/ |
|
146 |
} |
|
147 |
} |
|
148 |
|
|
149 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/java/eu/dnetlib/msro/openaireplus/workflows/nodes/contexts/FETTest.java | ||
---|---|---|
1 |
package eu.dnetlib.msro.openaireplus.workflows.nodes.contexts; |
|
2 |
|
|
3 |
import java.io.IOException; |
|
4 |
import java.util.Arrays; |
|
5 |
import java.util.Iterator; |
|
6 |
|
|
7 |
import com.google.common.base.Function; |
|
8 |
import com.google.common.collect.Lists; |
|
9 |
import org.apache.commons.io.IOUtils; |
|
10 |
import org.junit.Assert; |
|
11 |
import org.junit.Before; |
|
12 |
import org.junit.Test; |
|
13 |
import org.springframework.core.io.Resource; |
|
14 |
import org.springframework.core.io.support.PathMatchingResourcePatternResolver; |
|
15 |
|
|
16 |
public class FETTest { |
|
17 |
|
|
18 |
private static final String PATTERN = "classpath*:/eu/dnetlib/msro/openaireplus/workflows/nodes/contexts/fetprojects/*.xml"; |
|
19 |
//class under test |
|
20 |
private BuildH2020FETTaxonomy fetBuilder; |
|
21 |
private Iterator<String> iterator; |
|
22 |
|
|
23 |
//String outputCheck = "<category id=\"fet-h2020::open\" label=\"FET OPEN\" claim=\"false\"><concept id=\"fet-h2020::open::1\" label=\"FET-Open research projects\" claim=\"false\"><param name=\"CALL_ID\">H2020-FETOPEN-2014-2015-RIA</param><concept id=\"fet-h2020::open::1::713140\" label=\"Custom architecturally defined 3D stem cell derived functional human neural networks for transformative progress in neuroscience and medicine\" claim=\"true\"><param name=\"CD_PROJ_ID\">713140</param><param name=\"CD_CALL_ID\">FETOPEN-RIA-2014-2015</param><param name=\"CD_PROJECT_NUMBER\">713140</param><param name=\"CD_ACRONYM\">MESO_BRAIN</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::1::665148\" label=\"Quantum Controlled Ultrafast Multimode Entanglement and Measurement\" claim=\"true\"><param name=\"CD_PROJ_ID\">665148</param><param name=\"CD_CALL_ID\">FETOPEN-RIA-2014-2015</param><param name=\"CD_PROJECT_NUMBER\">665148</param><param name=\"CD_ACRONYM\">QCUMbER</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::1::665233\" label=\"Super-resolution visualisation and manipulation of metaphase chromosomes\" claim=\"true\"><param name=\"CD_PROJ_ID\">665233</param><param name=\"CD_CALL_ID\">FETOPEN-RIA-2014-2015</param><param name=\"CD_PROJECT_NUMBER\">665233</param><param name=\"CD_ACRONYM\">CHROMAVISION</param><param name=\"CD_FRAMEWORK\">H2020</param></concept></concept><concept id=\"fet-h2020::open::2\" label=\"FET Exchange Coordination and Support Activities 2015\" claim=\"false\"><param name=\"CALL_ID\">H2020-FETOPEN-2015-CSA</param><concept id=\"fet-h2020::open::2::713171\" label=\"SENSE - a roadmap for the ideal low light level sensor development\" claim=\"true\"><param name=\"CD_PROJ_ID\">713171</param><param name=\"CD_CALL_ID\">FETOPEN-CSA-FETEXCHANGE-2015</param><param name=\"CD_PROJECT_NUMBER\">713171</param><param name=\"CD_ACRONYM\">SENSE</param><param name=\"CD_FRAMEWORK\">H2020</param></concept></concept><concept id=\"fet-h2020::open::3\" label=\"FET Innovation Launchpad\" claim=\"false\"><param name=\"CALL_ID\">H2020-FETOPEN-4-2016-2017</param><concept id=\"fet-h2020::open::3::754514\" label=\"Resource AuctiOning Engine for the Mobile Digital MArket\" claim=\"true\"><param name=\"CD_PROJ_ID\">754514</param><param name=\"CD_CALL_ID\">FETOPEN-04-2016-2017</param><param name=\"CD_PROJECT_NUMBER\">754514</param><param name=\"CD_ACRONYM\">ROMA</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::3::754515\" label=\"Hello\" claim=\"true\"><param name=\"CD_PROJ_ID\">754515</param><param name=\"CD_CALL_ID\">FETOPEN-04-2016-2017</param><param name=\"CD_PROJECT_NUMBER\">754515</param><param name=\"CD_ACRONYM\">HHH</param><param name=\"CD_FRAMEWORK\">H2020</param></concept></concept><concept id=\"fet-h2020::open::4\" label=\"Coordination and Support Activities\" claim=\"false\"><param name=\"CALL_ID\">H2020-FETOPEN-2014-CSA</param><concept id=\"fet-h2020::open::4::665564\" label=\"Coordinating European Research on Molecular Communications\" claim=\"true\"><param name=\"CD_PROJ_ID\">665564</param><param name=\"CD_CALL_ID\">FETOPEN-2-2014</param><param name=\"CD_PROJECT_NUMBER\">665564</param><param name=\"CD_ACRONYM\">CIRCLE</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::4::665134\" label=\"Ensuring the success of the next FET Conference and exhibition at a key period for FET\" claim=\"true\"><param name=\"CD_PROJ_ID\">665134</param><param name=\"CD_CALL_ID\">FETOPEN-2-2014</param><param name=\"CD_PROJECT_NUMBER\">665134</param><param name=\"CD_ACRONYM\">FET-Event</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::4::665083\" label=\"Tracing impacts of the FET programme\" claim=\"true\"><param name=\"CD_PROJ_ID\">665083</param><param name=\"CD_CALL_ID\">FETOPEN-2-2014</param><param name=\"CD_PROJECT_NUMBER\">665083</param><param name=\"CD_ACRONYM\">FET_TRACES</param><param name=\"CD_FRAMEWORK\">H2020</param></concept><concept id=\"fet-h2020::open::4::665136\" label=\"Observing Emergence\" claim=\"true\"><param name=\"CD_PROJ_ID\">665136</param><param name=\"CD_CALL_ID\">FETOPEN-2-2014</param><param name=\"CD_PROJECT_NUMBER\">665136</param><param name=\"CD_ACRONYM\">OBSERVE</param><param name=\"CD_FRAMEWORK\">H2020</param></concept></concept></category>"; |
|
24 |
|
|
25 |
@Before |
|
26 |
public void setup() throws Exception { |
|
27 |
final PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); |
|
28 |
iterator = Lists.transform(Arrays.asList(resolver.getResources(PATTERN)), new Function<Resource, String>() { |
|
29 |
@Override |
|
30 |
public String apply(final Resource resource) { |
|
31 |
try { |
|
32 |
return IOUtils.toString(resource.getInputStream()); |
|
33 |
} catch (IOException e) { |
|
34 |
return null; |
|
35 |
} |
|
36 |
} |
|
37 |
}).iterator(); |
|
38 |
fetBuilder = new BuildH2020FETTaxonomy(); |
|
39 |
} |
|
40 |
|
|
41 |
@Test |
|
42 |
public void parseFirstNFET() throws Exception { |
|
43 |
fetBuilder.setIterator(iterator); |
|
44 |
fetBuilder.parseFETProject(10); |
|
45 |
String fetContext = fetBuilder.getTaxonomy(); |
|
46 |
Assert.assertNotNull(fetContext); |
|
47 |
Assert.assertNotSame("", fetContext); |
|
48 |
System.out.println(fetContext); |
|
49 |
//Assert.assertTrue(fetContext.contains(outputCheck)); |
|
50 |
} |
|
51 |
|
|
52 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/java/eu/dnetlib/msro/openaireplus/workflows/nodes/claims/ApplyClaimRelsJobNodeTest.java | ||
---|---|---|
1 |
package eu.dnetlib.msro.openaireplus.workflows.nodes.claims; |
|
2 |
|
|
3 |
import com.google.protobuf.InvalidProtocolBufferException; |
|
4 |
import eu.dnetlib.data.proto.OafProtos.Oaf; |
|
5 |
import eu.dnetlib.msro.rmi.MSROException; |
|
6 |
import org.junit.Test; |
|
7 |
import org.postgresql.util.Base64; |
|
8 |
|
|
9 |
/** |
|
10 |
* Created by Alessia Bardi on 26/06/2017. |
|
11 |
* |
|
12 |
* @author Alessia Bardi |
|
13 |
*/ |
|
14 |
public class ApplyClaimRelsJobNodeTest { |
|
15 |
|
|
16 |
private ApplyClaimRelsJobNode applyClaims = new ApplyClaimRelsJobNode(); |
|
17 |
|
|
18 |
@Test |
|
19 |
public void testGetValue() throws MSROException, InvalidProtocolBufferException { |
|
20 |
|
|
21 |
String sourceId = "40|corda_______::9f752db0b5ec9ca23673ca7f4cb0808e"; |
|
22 |
String semantics = "resultProject_outcome_produces"; |
|
23 |
String targetId = "50|userclaim___::6a8f649d968e734a6733c23a351c1859"; |
|
24 |
System.out.println(getValue(sourceId, semantics, targetId)); |
|
25 |
} |
|
26 |
|
|
27 |
@Test(expected = MSROException.class) |
|
28 |
public void testGetValueErrSem() throws MSROException, InvalidProtocolBufferException { |
|
29 |
|
|
30 |
String sourceId = "40|corda_______::9f752db0b5ec9ca23673ca7f4cb0808e"; |
|
31 |
String semantics = "produces"; |
|
32 |
String targetId = "50|userclaim___::6a8f649d968e734a6733c23a351c1859"; |
|
33 |
getValue(sourceId, semantics, targetId); |
|
34 |
} |
|
35 |
|
|
36 |
private String getValue(final String rowKey, final String semantics, final String targetId) throws MSROException, InvalidProtocolBufferException { |
|
37 |
long time = System.currentTimeMillis(); |
|
38 |
//final String sourceId, final String semantics, final String targetId, final long timestamp |
|
39 |
String res = applyClaims.getValue(rowKey, semantics, targetId, time); |
|
40 |
Oaf.Builder builder = Oaf.newBuilder().mergeFrom(Base64.decode(res)); |
|
41 |
return builder.build().toString(); |
|
42 |
} |
|
43 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/java/eu/dnetlib/msro/openaireplus/workflows/nodes/claims/ApplyClaimUpdatesJobNodeTest.java | ||
---|---|---|
1 |
package eu.dnetlib.msro.openaireplus.workflows.nodes.claims; |
|
2 |
|
|
3 |
import com.google.protobuf.InvalidProtocolBufferException; |
|
4 |
import eu.dnetlib.data.proto.OafProtos.Oaf; |
|
5 |
import eu.dnetlib.msro.rmi.MSROException; |
|
6 |
import org.junit.Test; |
|
7 |
import org.postgresql.util.Base64; |
|
8 |
|
|
9 |
/** |
|
10 |
* Created by Alessia Bardi on 26/06/2017. |
|
11 |
* |
|
12 |
* @author Alessia Bardi |
|
13 |
*/ |
|
14 |
public class ApplyClaimUpdatesJobNodeTest { |
|
15 |
|
|
16 |
private ApplyClaimUpdatesJobNode applyClaims = new ApplyClaimUpdatesJobNode(); |
|
17 |
|
|
18 |
@Test |
|
19 |
public void testGetValueEGI() throws MSROException, InvalidProtocolBufferException { |
|
20 |
String context = "egi"; |
|
21 |
String rowkey = "50|userclaim___::6a8f649d968e734a6733c23a351c1859"; |
|
22 |
System.out.println(getValue(context, rowkey)); |
|
23 |
} |
|
24 |
|
|
25 |
@Test |
|
26 |
public void testGetValueEGILongId() throws MSROException, InvalidProtocolBufferException { |
|
27 |
String context = "egi::classification::natsc::earths::other"; |
|
28 |
String rowkey = "50|userclaim___::6a8f649d968e734a6733c23a351c1859"; |
|
29 |
System.out.println(getValue(context, rowkey)); |
|
30 |
} |
|
31 |
|
|
32 |
private String getValue(final String context, final String rowkey) throws MSROException, InvalidProtocolBufferException { |
|
33 |
long time = System.currentTimeMillis(); |
|
34 |
//final String sourceId, final String semantics, final String targetId, final long timestamp |
|
35 |
String res = applyClaims.getValue(rowkey, context, time); |
|
36 |
Oaf.Builder builder = Oaf.newBuilder().mergeFrom(Base64.decode(res)); |
|
37 |
return builder.build().toString(); |
|
38 |
} |
|
39 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/java/eu/dnetlib/msro/openaireplus/workflows/nodes/vre/VREPostJobNodeTest.java | ||
---|---|---|
1 |
package eu.dnetlib.msro.openaireplus.workflows.nodes.vre; |
|
2 |
|
|
3 |
import org.junit.Assert; |
|
4 |
import org.junit.Test; |
|
5 |
|
|
6 |
/** |
|
7 |
* Created by Alessia Bardi on 2019-06-20. |
|
8 |
* |
|
9 |
* @author Alessia Bardi |
|
10 |
*/ |
|
11 |
public class VREPostJobNodeTest { |
|
12 |
|
|
13 |
private String textWithNewLine = "Hello\\n World\\n!"; |
|
14 |
private String expected = "Hello\n World\n!"; |
|
15 |
|
|
16 |
@Test |
|
17 |
public void testNewLine(){ |
|
18 |
String cleaned = textWithNewLine.replace("\\n", "\n"); |
|
19 |
Assert.assertEquals(expected, cleaned); |
|
20 |
|
|
21 |
} |
|
22 |
|
|
23 |
|
|
24 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/java/eu/dnetlib/utils/ontologies/OntologyLoaderTest.java | ||
---|---|---|
1 |
package eu.dnetlib.utils.ontologies; |
|
2 |
|
|
3 |
import com.google.gson.Gson; |
|
4 |
import org.apache.commons.lang3.StringUtils; |
|
5 |
import org.junit.Assert; |
|
6 |
import org.junit.Test; |
|
7 |
|
|
8 |
import java.io.IOException; |
|
9 |
import java.io.InputStream; |
|
10 |
|
|
11 |
import static org.junit.Assert.*; |
|
12 |
|
|
13 |
/** |
|
14 |
* Created by claudio on 12/12/2016. |
|
15 |
*/ |
|
16 |
public class OntologyLoaderTest { |
|
17 |
|
|
18 |
private String basePath = "/eu/dnetlib/test/profiles/OntologyDSResources/OntologyDSResourceType/"; |
|
19 |
|
|
20 |
@Test |
|
21 |
public void testLoadOntologyFromCp() { |
|
22 |
|
|
23 |
final InputStream i = getClass().getResourceAsStream(basePath + "result_result_relations.xml"); |
|
24 |
|
|
25 |
Ontology o = OntologyLoader.loadOntologyFromCp(i); |
|
26 |
checkOntology(o); |
|
27 |
|
|
28 |
String supplement = o.inverseOf("isSupplementedBy"); |
|
29 |
assertEquals(supplement, "isSupplementTo"); |
|
30 |
|
|
31 |
String part = o.inverseOf("isPartOf"); |
|
32 |
assertEquals(part, "hasPart"); |
|
33 |
} |
|
34 |
|
|
35 |
@Test |
|
36 |
public void testLoadOntologiesFromCp() throws IOException { |
|
37 |
|
|
38 |
OntologyLoader.loadOntologiesFromCp().values().forEach(o -> checkOntology(o)); |
|
39 |
} |
|
40 |
|
|
41 |
@Test |
|
42 |
public void testLoadOntologiesSerialization() throws IOException { |
|
43 |
|
|
44 |
final Ontologies o = OntologyLoader.loadOntologiesFromCp(); |
|
45 |
assertNotNull(o); |
|
46 |
|
|
47 |
final String json = o.toJson(true); |
|
48 |
|
|
49 |
assertFalse(StringUtils.isBlank(json)); |
|
50 |
assertFalse("{}".equals(json.trim())); |
|
51 |
|
|
52 |
//System.out.println(json); |
|
53 |
|
|
54 |
assertTrue(StringUtils.isNoneBlank(json)); |
|
55 |
|
|
56 |
final Ontologies o1 = new Gson().fromJson(json, Ontologies.class); |
|
57 |
|
|
58 |
assertNotNull(o1); |
|
59 |
|
|
60 |
o1.entrySet().forEach(e -> checkOntology(e.getValue())); |
|
61 |
} |
|
62 |
|
|
63 |
private void checkOntology(Ontology o) { |
|
64 |
Assert.assertNotNull(o); |
|
65 |
Assert.assertTrue(StringUtils.isNotBlank(o.getCode())); |
|
66 |
Assert.assertTrue(StringUtils.isNotBlank(o.getDescription())); |
|
67 |
Assert.assertNotNull(o.getTerms().values()); |
|
68 |
|
|
69 |
o.getTerms().values().forEach(it -> { |
|
70 |
Assert.assertTrue(StringUtils.isNotBlank(it.getCode())); |
|
71 |
Assert.assertTrue(StringUtils.isNotBlank(it.getEncoding())); |
|
72 |
Assert.assertTrue(StringUtils.isNotBlank(it.getEnglishName())); |
|
73 |
Assert.assertTrue(StringUtils.isNotBlank(it.getNativeName())); |
|
74 |
Assert.assertTrue(StringUtils.isNotBlank(it.getInverseCode())); |
|
75 |
Assert.assertNotNull(o.getTerms().get(it.getInverseCode())); |
|
76 |
}); |
|
77 |
} |
|
78 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/api/objects/test_zenodo_software.json | ||
---|---|---|
1 |
{ |
|
2 |
"authors":[ |
|
3 |
"Alouges, Fran\u00e7ois", |
|
4 |
"Di Fratta, Giovanni" |
|
5 |
], |
|
6 |
"collectedFromId":"opendoar____::2659", |
|
7 |
"description":"This is a software", |
|
8 |
"hostedById":"opendoar____::2659", |
|
9 |
"licenseCode":"OPEN", |
|
10 |
"originalId":"oai:zenodo.org:12345", |
|
11 |
"pids":[ |
|
12 |
{ |
|
13 |
"type":"oai", |
|
14 |
"value":"oai:zenodo.org:12345" |
|
15 |
}, |
|
16 |
{ |
|
17 |
"type":"doi", |
|
18 |
"value":"10.5281/zenodo.12345" |
|
19 |
} |
|
20 |
], |
|
21 |
"publisher":"Zenodo", |
|
22 |
"resourceType":"0029", |
|
23 |
"title":"Parking 3-sphere swimmer. I. Energy minimizing strokes", |
|
24 |
"type":"software", |
|
25 |
"url":"https://zenodo.org/record/12345", |
|
26 |
"contexts": [ |
|
27 |
"mes" |
|
28 |
] |
|
29 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/api/objects/test_record_wrong_openaireId.json | ||
---|---|---|
1 |
{ |
|
2 |
"openaireId":"dedup_wf_001::ab42e811", |
|
3 |
"originalId": "ORIG_ID_TEST", |
|
4 |
"type": "publication", |
|
5 |
"title": "TEST TITLE", |
|
6 |
"authors": [ |
|
7 |
"Michele Artini", |
|
8 |
"Claudio Atzori", |
|
9 |
"Alessia Bardi" |
|
10 |
], |
|
11 |
"publisher": "Test publisher", |
|
12 |
"description": "DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION", |
|
13 |
"language": "ita", |
|
14 |
"pids": [ |
|
15 |
{ |
|
16 |
"type": "doi", |
|
17 |
"value": "10.000/xyz-123" |
|
18 |
}, |
|
19 |
{ |
|
20 |
"type": "oai", |
|
21 |
"value": "oai:1234" |
|
22 |
} |
|
23 |
], |
|
24 |
"licenseCode": "EMBARGO", |
|
25 |
"embargoEndDate": "2018-02-02", |
|
26 |
"resourceType": "0001", |
|
27 |
"url": "http://test.it/xyz", |
|
28 |
"collectedFromId": "opendoar____::2659", |
|
29 |
"hostedById": "opendoar____::2659", |
|
30 |
"linksToProjects": [ |
|
31 |
"info:eu-repo/grantAgreement/EC/FP7/283595/EU//OpenAIREplus", |
|
32 |
"info:eu-repo/grantAgreement/EC/FP7/244909/EU/Making Capabilities Work/WorkAble" |
|
33 |
], |
|
34 |
"contexts": [ |
|
35 |
"egi::classification::natsc::math::pure", |
|
36 |
"egi::classification::natsc::math::stats" |
|
37 |
] |
|
38 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/api/objects/test_record_openaireId.json | ||
---|---|---|
1 |
{ |
|
2 |
"openaireId":"dedup_wf_001::ab42e8116f4ae3c4021fb7c643a8167a", |
|
3 |
"originalId": "ORIG_ID_TEST", |
|
4 |
"type": "publication", |
|
5 |
"title": "TEST TITLE", |
|
6 |
"authors": [ |
|
7 |
"Michele Artini", |
|
8 |
"Claudio Atzori", |
|
9 |
"Alessia Bardi" |
|
10 |
], |
|
11 |
"publisher": "Test publisher", |
|
12 |
"description": "DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION", |
|
13 |
"language": "ita", |
|
14 |
"pids": [ |
|
15 |
{ |
|
16 |
"type": "doi", |
|
17 |
"value": "10.000/xyz-123" |
|
18 |
}, |
|
19 |
{ |
|
20 |
"type": "oai", |
|
21 |
"value": "oai:1234" |
|
22 |
} |
|
23 |
], |
|
24 |
"licenseCode": "EMBARGO", |
|
25 |
"embargoEndDate": "2018-02-02", |
|
26 |
"resourceType": "0001", |
|
27 |
"url": "http://test.it/xyz", |
|
28 |
"collectedFromId": "opendoar____::2659", |
|
29 |
"hostedById": "opendoar____::2659", |
|
30 |
"linksToProjects": [ |
|
31 |
"info:eu-repo/grantAgreement/EC/FP7/283595/EU//OpenAIREplus", |
|
32 |
"info:eu-repo/grantAgreement/EC/FP7/244909/EU/Making Capabilities Work/WorkAble" |
|
33 |
], |
|
34 |
"contexts": [ |
|
35 |
"egi::classification::natsc::math::pure", |
|
36 |
"egi::classification::natsc::math::stats" |
|
37 |
] |
|
38 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/api/objects/test_record.json | ||
---|---|---|
1 |
{ |
|
2 |
"originalId": "ORIG_ID_12345", |
|
3 |
"title": "TEST TITLE", |
|
4 |
"authors": [ |
|
5 |
"Michele Artini", |
|
6 |
"Claudio Atzori", |
|
7 |
"Alessia Bardi" |
|
8 |
], |
|
9 |
"publisher": "Test publisher", |
|
10 |
"description": "DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION", |
|
11 |
"language": "ita", |
|
12 |
"pids": [ |
|
13 |
{ |
|
14 |
"type": "doi", |
|
15 |
"value": "10.000/xyz-123" |
|
16 |
}, |
|
17 |
{ |
|
18 |
"type": "oai", |
|
19 |
"value": "oai:1234" |
|
20 |
} |
|
21 |
], |
|
22 |
"licenseCode": "OPEN", |
|
23 |
"resourceType": "0001", |
|
24 |
"url": "http://test.it/xyz", |
|
25 |
"collectedFromId": "opendoar____::2659", |
|
26 |
"hostedById": "opendoar____::2367", |
|
27 |
"linksToProjects": [ |
|
28 |
"info:eu-repo/grantAgreement/EC/FP7/283595/EU//OpenAIREplus", |
|
29 |
"info:eu-repo/grantAgreement/EC/FP7/244909/EU/Making Capabilities Work/WorkAble" |
|
30 |
], |
|
31 |
"contexts": [ |
|
32 |
"egi::classification::natsc::math::pure", |
|
33 |
"egi::classification::natsc::math::stats" |
|
34 |
] |
|
35 |
} |
|
36 |
|
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/api/objects/test_zenodo.json | ||
---|---|---|
1 |
{ |
|
2 |
"authors":[ |
|
3 |
"Alouges, Fran\u00e7ois", |
|
4 |
"Di Fratta, Giovanni" |
|
5 |
], |
|
6 |
"collectedFromId":"opendoar____::2659", |
|
7 |
"description":"The paper is about the parking 3-sphere swimmer ($\\text{sPr}_3$). This is a low-Reynolds number model swimmer composed of three balls of equal radii. The three balls can move along three horizontal axes (supported in the same plane) that mutually meet at the center of $\\text{sPr}_3$ with angles of $120^{\u2218}$ . The governing dynamical system is introduced and the implications of its geometric symmetries revealed. It is then shown that, in the first order range of small strokes, optimal periodic strokes are ellipses embedded in 3d space, i.e. closed curves of the form $t\ud835\udfc4 [0,2\u03c0] \u21a6 (\\cos t)u + (\\sin t)v$ for suitable orthogonal vectors $u$ and $v$ of $\u211d^3$. A simple analytic expression for the vectors $u$ and $v$ is derived. The results of the paper are used in a second article where the real physical dynamics of $\\text{sPr}_3$ is analyzed in the asymptotic range of very long arms. ; Comment: 17 pages, 4 figures", |
|
8 |
"hostedById":"opendoar____::2659", |
|
9 |
"licenseCode":"OPEN", |
|
10 |
"originalId":"oai:zenodo.org:996201", |
|
11 |
"pids":[ |
|
12 |
{ |
|
13 |
"type":"oai", |
|
14 |
"value":"oai:zenodo.org:996201" |
|
15 |
}, |
|
16 |
{ |
|
17 |
"type":"doi", |
|
18 |
"value":"10.5281/zenodo.996201" |
|
19 |
} |
|
20 |
], |
|
21 |
"publisher":"Zenodo", |
|
22 |
"resourceType":"0020", |
|
23 |
"title":"Parking 3-sphere swimmer. I. Energy minimizing strokes", |
|
24 |
"type":"publication", |
|
25 |
"url":"https://zenodo.org/record/996201" |
|
26 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/api/objects/test_record_ariadne.json | ||
---|---|---|
1 |
{ |
|
2 |
"openaireId":"od_______278::d5b39693ac6c2197e8cf48008a982950", |
|
3 |
"originalId": "oai:rudar.ruc.dk:1800/24690", |
|
4 |
"type": "publication", |
|
5 |
"title": "Autofiktion", |
|
6 |
"authors": [ |
|
7 |
"Sloan, Patrick Alexander Raaby", |
|
8 |
"Strange, Gustav Valdemar", |
|
9 |
"Freund-Jensen, Sofie", |
|
10 |
"Canvin, Emilie Meistrup", |
|
11 |
"Faaborg, Ida Selvejer", |
|
12 |
"Kruse, Mikkel" |
|
13 |
], |
|
14 |
"publisher": "", |
|
15 |
"description": "The following paper is a project on the autofictional book Færdig med Eddy Bellegueule by Édouard Louis (2015). The main focus is to ascertain how the novel is an expression of the author’s effort to connect social life and literature, and what part autofiction as a genre plays in this process. A textual analysis will describe the narrator’s position, and the aesthetic grip of the novel. Furthermore, we will analyze the central themes in Louis’ novel with theories by sociologist Pierre Bourdieu, gender theorist Judith Butler and postcolonial theorist Gayatri Spivak. This includes symbolic violence, gender roles, language and suppression. With use of classic literary theory and the more recent and specific theory on autofiction, the paper concludes, that Færdig med Eddy Bellegueule is based on non-fictional events, but presents these events through a fictionalization that raise the story into a literary work of art. The genre autofiction encircles a current tendency to blend non-fictional events and characters into literature, and Færdig med Eddy Bellegueule writes itself perfectly into this twilight zone between fact and fiction.", |
|
16 |
"language": "eng", |
|
17 |
"pids": [], |
|
18 |
"licenseCode": "OPEN", |
|
19 |
"resourceType": "0006", |
|
20 |
"url": "http://rudar.ruc.dk/handle/1800/24690", |
|
21 |
"collectedFromId": "opendoar____::278", |
|
22 |
"hostedById": "opendoar____::278", |
|
23 |
"linksToProjects": [], |
|
24 |
"contexts": [] |
|
25 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/api/objects/submit_test_record.sh | ||
---|---|---|
1 |
#!/bin/bash |
|
2 |
|
|
3 |
curl -H "Content-Type: application/json" --data @test_record.json "http://localhost:8280/app/mvc/api/publications/feedObject" |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/api/objects/test_record_complete.json | ||
---|---|---|
1 |
{ |
|
2 |
"originalId": "ORIG_ID_TEST", |
|
3 |
"type": "publication", |
|
4 |
"title": "TEST TITLE", |
|
5 |
"authors": [ |
|
6 |
"Michele Artini", |
|
7 |
"Claudio Atzori", |
|
8 |
"Alessia Bardi" |
|
9 |
], |
|
10 |
"publisher": "Test publisher", |
|
11 |
"description": "DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION DESCRIPTION", |
|
12 |
"language": "ita", |
|
13 |
"pids": [ |
|
14 |
{ |
|
15 |
"type": "doi", |
|
16 |
"value": "10.000/xyz-123" |
|
17 |
}, |
|
18 |
{ |
|
19 |
"type": "oai", |
|
20 |
"value": "oai:1234" |
|
21 |
} |
|
22 |
], |
|
23 |
"licenseCode": "EMBARGO", |
|
24 |
"embargoEndDate": "2018-02-02", |
|
25 |
"resourceType": "0001", |
|
26 |
"url": "http://test.it/xyz", |
|
27 |
"collectedFromId": "opendoar____::2659", |
|
28 |
"hostedById": "opendoar____::2659", |
|
29 |
"linksToProjects": [ |
|
30 |
"info:eu-repo/grantAgreement/EC/FP7/283595/EU//OpenAIREplus", |
|
31 |
"info:eu-repo/grantAgreement/EC/FP7/244909/EU/Making Capabilities Work/WorkAble" |
|
32 |
], |
|
33 |
"contexts": [ |
|
34 |
"egi::classification::natsc::math::pure", |
|
35 |
"egi::classification::natsc::math::stats" |
|
36 |
] |
|
37 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/api/objects/test_record_with_greek_chars.json | ||
---|---|---|
1 |
{ |
|
2 |
"originalId": "ORIG_ID_12345", |
|
3 |
"title": "TEST TITLE WITH Greek Characters", |
|
4 |
"authors": [ |
|
5 |
"αβγδεζηθικλμ νξοπρσςτυφχψω", |
|
6 |
"ΑΒΓΔΕΖΗΘΙΚΛ ΜΝΞΟΠΡΣΤΥΦΧΨΩ" |
|
7 |
], |
|
8 |
"publisher": "âââââââ", |
|
9 |
"description": "Αν περιμένατε να βρίσκεται εδώ μια σελίδα και δεν υπάρχει, η σελίδα μπορεί να μην εμφανίζεται λόγω καθυστέρησης στην ανανέωση της βάσης δεδομένων, ή μπορεί να έχει διαγραφεί. (Δείτε την γρήγορη διαγραφή σελίδων για πιθανούς λόγους). Μπορείτε να δοκιμάστε την λειτουργία εκκαθάρισης, και να ελέγξετε το αρχείο διαγραφών.", |
|
10 |
"language": "ell", |
|
11 |
"pids": [ |
|
12 |
{ |
|
13 |
"type": "doi", |
|
14 |
"value": "10.000/xyz-123-gr" |
|
15 |
} |
|
16 |
], |
|
17 |
"licenseCode": "EMBARGO", |
|
18 |
"embargoEndDate": "2018-02-02", |
|
19 |
"resourceType": "0001", |
|
20 |
"url": "http://test.it/xyz", |
|
21 |
"collectedFromId": "opendoar____::2659", |
|
22 |
"hostedById": "opendoar____::2367", |
|
23 |
"linksToProjects": [ |
|
24 |
"info:eu-repo/grantAgreement/EC/FP7/123456/EU//Test" |
|
25 |
], |
|
26 |
"contexts": [ |
|
27 |
"egi::classification::natsc::math::stats" |
|
28 |
] |
|
29 |
} |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/workflows/index/oafRecord.xml | ||
---|---|---|
1 |
<record rank="null"> |
|
2 |
<result> |
|
3 |
<header> |
|
4 |
<objIdentifier>lareferencia::29c95f5ef62c8bad9db1f4a6fdfd0a3a</objIdentifier> |
|
5 |
<dateOfCollection>2018-03-09T15:22:59.538Z</dateOfCollection> |
|
6 |
<dateOfTransformation>2018-09-19T09:51:37.481Z</dateOfTransformation> |
|
7 |
<counters></counters> |
|
8 |
</header> |
|
9 |
<metadata> |
|
10 |
<entity schemaLocation="http://namespace.openaire.eu/oaf https://www.openaire.eu/schema/1.0/oaf-1.0.xsd"> |
|
11 |
<result> |
|
12 |
<source>Organizações & Sociedade v.20 n.67 2013</source> |
|
13 |
<source>reponame:Escola de Administração da Universidade Federal da Bahia</source> |
|
14 |
<source>instname:UFBA</source> |
|
15 |
<format>text/html</format> |
|
16 |
<creator rank="1" name="Mônica Aguiar Mac-Allister Da" surname="Silva">Silva,Mônica de Aguiar Mac-Allister da</creator> |
|
17 |
<creator rank="2" name="José Célio Silveira" surname="Andrade">Andrade,José Célio Silveira</creator> |
|
18 |
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title">Editorial</title> |
|
19 |
<dateofacceptance>2013-12-01</dateofacceptance> |
|
20 |
<journal issn="" eissn="" lissn="" ep="" iss="" sp="" vol="" /> |
|
21 |
<publisher>Escola de Administração da Universidade Federal da Bahia</publisher> |
|
22 |
<resulttype classid="publication" classname="publication" schemeid="dnet:result_typologies" schemename="dnet:result_typologies" /> |
|
23 |
<language classid="por" classname="Portuguese" schemeid="dnet:languages" schemename="dnet:languages" /> |
|
24 |
<country classid="" classname="" schemeid="" schemename="" /> |
|
25 |
<subject classid="" classname="" schemeid="" schemename="" /> |
|
26 |
<relevantdate classid="" classname="" schemeid="" schemename="" /> |
|
27 |
<description /> |
|
28 |
<embargoenddate /> |
|
29 |
<fulltext /> |
|
30 |
<contributor /> |
|
31 |
<resourcetype classid="" classname="" schemeid="" schemename="" /> |
|
32 |
<coverage /> |
|
33 |
<storagedate /> |
|
34 |
<device /> |
|
35 |
<size /> |
|
36 |
<version /> |
|
37 |
<lastmetadataupdate /> |
|
38 |
<metadataversionnumber /> |
|
39 |
<documentationUrl /> |
|
40 |
<codeRepositoryUrl /> |
|
41 |
<programmingLanguage classid="" classname="" schemeid="" schemename="" /> |
|
42 |
<contactperson /> |
|
43 |
<contactgroup /> |
|
44 |
<tool /> |
|
45 |
<originalId>oai:periodicos.ibict.br.OrganizacoesESociedade:oai:scielo:S1984-92302013000400001</originalId> |
|
46 |
<collectedfrom name="LA Referencia" id="openaire____::dc6e224a8d74ce03bf301152d6e33e97" /> |
|
47 |
<pid classid="" classname="" schemeid="" schemename="" /> |
|
48 |
<bestaccessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" /> |
|
49 |
<datainfo> |
|
50 |
<inferred>false</inferred> |
|
51 |
<deletedbyinference>false</deletedbyinference> |
|
52 |
<trust>0.9</trust> |
|
53 |
<inferenceprovenance /> |
|
54 |
<provenanceaction classid="sysimport:crosswalk:repository" classname="sysimport:crosswalk:repository" schemeid="dnet:provenanceActions" schemename="dnet:provenanceActions" /> |
|
55 |
</datainfo> |
|
56 |
<rels></rels> |
|
57 |
<children> |
|
58 |
<instance id="openaire____::dc6e224a8d74ce03bf301152d6e33e97"> |
|
59 |
<collectedfrom name="LA Referencia" id="openaire____::dc6e224a8d74ce03bf301152d6e33e97" /> |
|
60 |
<instancetype classid="0001" classname="Article" schemeid="dnet:publication_resource" schemename="dnet:publication_resource" /> |
|
61 |
<dateofacceptance>2013-12-01</dateofacceptance> |
|
62 |
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" /> |
|
63 |
<hostedby name="LA Referencia" id="openaire____::dc6e224a8d74ce03bf301152d6e33e97" /> |
|
64 |
<webresource> |
|
65 |
<url>http://www.scielo.br/scielo.php?script=sci_arttext&pid=S1984-92302013000400001</url> |
|
66 |
</webresource> |
|
67 |
</instance> |
|
68 |
</children> |
|
69 |
</result> |
|
70 |
</entity> |
|
71 |
</metadata> |
|
72 |
</result> |
|
73 |
</record> |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/workflows/index/fields.xml | ||
---|---|---|
1 |
<LAYOUT name="index"> |
|
2 |
<FIELDS> |
|
3 |
<FIELD indexable="false" name="oafentity" result="true" stat="false" tokenizable="true" xpath="//*[local-name() = 'entity']"/> |
|
4 |
<FIELD indexable="true" name="oaftype" result="false" stat="false" tokenizable="false" value="local-name(//*[local-name()='entity']/*)"/> |
|
5 |
<FIELD indexable="true" name="objIdentifier" result="false" stat="false" tokenizable="false" xpath="//header/dri:objIdentifier"/> |
|
6 |
|
|
7 |
<!-- DATASOURCE FIELDS --> |
|
8 |
<FIELD indexable="true" name="datasourceofficialname" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='datasource']/officialname"/> |
|
9 |
<FIELD indexable="true" name="datasourceenglishname" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='datasource']/englishname"/> |
|
10 |
<FIELD indexable="true" name="datasourcewebsiteurl" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='datasource']/websiteurl"/> |
|
11 |
<FIELD indexable="true" name="datasourcelogourl" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='datasource']/logourl"/> |
|
12 |
<FIELD indexable="true" name="datasourcecontactemail" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='datasource']/contactemail"/> |
|
13 |
<FIELD indexable="true" name="datasourceoddescription" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='datasource']/oddescription"/> |
|
14 |
<FIELD indexable="true" name="datasourceodnumberofitems" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='datasource']/odnumberofitems"/> |
|
15 |
<FIELD indexable="true" name="datasourceodnumberofitemsdate" result="false" stat="false" type="date" value="//*[local-name()='entity']/*[local-name()='datasource']/odnumberofitemsdate"/> |
|
16 |
<FIELD indexable="true" name="datasourceodsubjects" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='datasource']/odsubjects"/> |
|
17 |
<FIELD indexable="true" name="datasourceodlanguages" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='datasource']/odlanguages"/> |
|
18 |
<FIELD indexable="true" name="datasourceodcontenttypes" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='datasource']/odcontenttypes"/> |
|
19 |
<FIELD indexable="true" name="datasourcetypeid" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='datasource']/datasourcetype/@classid"/> |
|
20 |
<FIELD indexable="true" name="datasourcetypename" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='datasource']/datasourcetype/@classname"/> |
|
21 |
<FIELD indexable="true" name="datasourcetypeuiid" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='datasource']/datasourcetypeui/@classid"/> |
|
22 |
<FIELD indexable="true" name="datasourcetypeuiname" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='datasource']/datasourcetypeui/@classname"/> |
|
23 |
<FIELD indexable="true" name="datasourcecompatibilityid" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='datasource']/openairecompatibility/@classid"/> |
|
24 |
<FIELD indexable="true" name="datasourcecompatibilityname" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='datasource']/openairecompatibility/@classname"/> |
|
25 |
|
|
26 |
<!-- ORGANIZATION FIELDS --> |
|
27 |
<FIELD indexable="true" name="organizationlegalshortname" result="false" stat="false" type="ngramtext" value="//*[local-name()='entity']/*[local-name()='organization']/legalshortname"/> |
|
28 |
<FIELD indexable="true" name="organizationlegalname" result="false" stat="false" type="ngramtext" value="//*[local-name()='entity']/*[local-name()='organization']/legalname"/> |
|
29 |
<FIELD indexable="true" name="organizationwebsiteurl" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/websiteurl"/> |
|
30 |
<FIELD indexable="true" name="organizationlogourl" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/logourl"/> |
|
31 |
<FIELD indexable="true" name="organizationeclegalbody" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/eclegalbody"/> |
|
32 |
<FIELD indexable="true" name="organizationeclegalperson" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/eclegalperson"/> |
|
33 |
<FIELD indexable="true" name="organizationecnonprofit" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/ecnonprofit"/> |
|
34 |
<FIELD indexable="true" name="organizationecresearchorganization" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/ecresearchorganization"/> |
|
35 |
<FIELD indexable="true" name="organizationecinternationalorganizationeurinterests" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/ecinternationalorganizationeurinterests"/> |
|
36 |
<FIELD indexable="true" name="organizationecinternationalorganization" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/ecinternationalorganization"/> |
|
37 |
<FIELD indexable="true" name="organizationecenterprise" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/ecenterprise"/> |
|
38 |
<FIELD indexable="true" name="organizationecsmevalidated" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/ecsmevalidated"/> |
|
39 |
<FIELD indexable="true" name="organizationecnutscode" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/ecnutscode"/> |
|
40 |
<FIELD indexable="true" name="organizationcollectedfrom" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='organization']/collectedfrom"/> |
|
41 |
<FIELD indexable="true" name="organizationcountryid" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='organization']/country/@classid"/> |
|
42 |
<FIELD indexable="true" name="organizationcountryname" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='organization']/country/@classname"/> |
|
43 |
|
|
44 |
<!-- PERSON FIELDS --> |
|
45 |
<FIELD indexable="true" name="personfirstname" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='person']/firstname"/> |
|
46 |
<FIELD indexable="true" name="personsecondnames" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='person']/secondnames"/> |
|
47 |
<FIELD indexable="true" name="personfullname" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='person']/fullname"/> |
|
48 |
<FIELD indexable="true" name="personfax" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='person']/fax"/> |
|
49 |
<FIELD indexable="true" name="personemail" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='person']/email"/> |
|
50 |
<FIELD indexable="true" name="personphone" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='person']/phone"/> |
|
51 |
<FIELD indexable="true" name="personcollectedfrom" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='person']/collectedfrom"/> |
|
52 |
<FIELD indexable="true" name="personcountryid" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='person']/nationality/@classid"/> |
|
53 |
<FIELD indexable="true" name="personcountryname" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='person']/nationality/@classname"/> |
|
54 |
|
|
55 |
<!-- PROJECT FIELDS --> |
|
56 |
<FIELD indexable="true" name="projectwebsiteurl" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='project']/websiteurl"/> |
|
57 |
<FIELD indexable="true" name="projectcode" result="false" stat="false" type="ngramtext" value="//*[local-name()='entity']/*[local-name()='project']/code"/> |
|
58 |
<FIELD indexable="true" name="projectacronym" result="false" stat="false" type="ngramtext" value="//*[local-name()='entity']/*[local-name()='project']/acronym"/> |
|
59 |
<FIELD indexable="true" name="projecttitle" result="false" stat="false" type="ngramtext" value="//*[local-name()='entity']/*[local-name()='project']/title"/> |
|
60 |
<FIELD indexable="true" name="projectstartdate" result="false" stat="false" type="date" value="//*[local-name()='entity']/*[local-name()='project']/startdate"/> |
|
61 |
<FIELD indexable="true" name="projectstartyear" result="false" stat="false" tokenizable="false" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='project']/startdate)"/> |
|
62 |
<FIELD indexable="true" name="projectenddate" result="false" stat="false" type="date" value="//*[local-name()='entity']/*[local-name()='project']/enddate"/> |
|
63 |
<FIELD indexable="true" name="projectendyear" result="false" stat="false" tokenizable="false" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='project']/enddate)"/> |
|
64 |
<FIELD indexable="true" name="projectcallidentifier" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='project']/callidentifier"/> |
|
65 |
<FIELD indexable="true" name="projectkeywords" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='project']/keywords"/> |
|
66 |
<FIELD indexable="true" name="projectduration" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='project']/duration"/> |
|
67 |
<FIELD indexable="true" name="projectecsc39" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='project']/ecsc39"/> |
|
68 |
<FIELD indexable="true" name="projectcollectedfrom" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='project']/collectedfrom"/> |
|
69 |
<FIELD indexable="true" name="projectcontracttypeid" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='project']/contracttype/@classid"/> |
|
70 |
<FIELD indexable="true" name="projectcontracttypename" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='project']/contracttype/@classname"/> |
|
71 |
<FIELD indexable="true" name="fundinglevel0_id" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/id"/> |
|
72 |
<FIELD indexable="true" name="fundinglevel0_name" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/name"/> |
|
73 |
<FIELD indexable="true" name="fundinglevel0_description" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_0/description"/> |
|
74 |
<FIELD indexable="true" name="fundinglevel1_id" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_1/id"/> |
|
75 |
<FIELD indexable="true" name="fundinglevel1_name" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_1/name"/> |
|
76 |
<FIELD indexable="true" name="fundinglevel1_description" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_1/description"/> |
|
77 |
<FIELD indexable="true" name="fundinglevel2_id" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_2/id"/> |
|
78 |
<FIELD indexable="true" name="fundinglevel2_name" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_2/name"/> |
|
79 |
<FIELD indexable="true" name="fundinglevel2_description" result="false" stat="false" value="//*[local-name()='entity']/*[local-name()='project']/fundingtree//funding_level_2/description"/> |
|
80 |
|
|
81 |
<!-- RESULT FIELDS --> |
|
82 |
<FIELD indexable="true" name="resulttitle" result="false" stat="false" xpath="//*[local-name()='entity']/*[local-name()='result']/title"/> |
|
83 |
<FIELD indexable="true" name="resulttitleclass" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/title/@classname"/> |
|
84 |
<FIELD indexable="true" name="resultsubject" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/subject"/> |
|
85 |
<FIELD indexable="true" name="resultsubjectclass" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/subject/@classname"/> |
|
86 |
<FIELD indexable="true" name="resultdate" result="false" stat="false" type="date" value="//*[local-name()='entity']/*[local-name()='result']/relevantdate"/> |
|
87 |
<FIELD indexable="true" name="resultdateclass" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/relevantdate/@classname"/> |
|
88 |
<FIELD indexable="true" name="resultstoragedate" result="false" stat="false" type="date" value="//*[local-name()='entity']/*[local-name()='result']/storagedate"/> |
|
89 |
<FIELD indexable="true" name="resultembargoenddate" result="false" stat="false" type="date" value="//*[local-name()='entity']/*[local-name()='result']/embargoenddate"/> |
|
90 |
<FIELD indexable="true" name="resultembargoendyear" result="false" stat="false" tokenizable="false" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='result']/embargoenddate)"/> |
|
91 |
<FIELD indexable="true" name="resulttypeid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/resulttype/@classid"/> |
|
92 |
<FIELD indexable="true" name="resulttypename" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/resulttype/@classname"/> |
|
93 |
<FIELD indexable="true" name="resultlanguageid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/language/@classid"/> |
|
94 |
<FIELD indexable="true" name="resultlanguagename" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/language/@classname"/> |
|
95 |
<FIELD indexable="true" name="resultpublisher" result="false" stat="false" xpath="//*[local-name()='entity']/*[local-name()='result']/*[local-name()='publisher']"/> |
|
96 |
<FIELD indexable="true" name="resultdescription" result="false" stat="false" xpath="//*[local-name()='entity']/*[local-name()='result']/*[local-name()='description']"/> |
|
97 |
<FIELD indexable="true" name="resultrights" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/licence/@classname"/> |
|
98 |
<FIELD indexable="true" name="resultrightsid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/licence/@classid"/> |
|
99 |
<FIELD indexable="true" name="resultbestlicense" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/bestlicense/@classname"/> |
|
100 |
<FIELD indexable="true" name="resultbestlicenseid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/bestlicense/@classid"/> |
|
101 |
<FIELD indexable="true" name="resultidentifier" result="false" stat="false" xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/webresource/*[local-name()='identifier']"/> |
|
102 |
<FIELD indexable="true" name="resultdateofacceptance" result="false" stat="false" type="date" value="//*[local-name()='entity']/*[local-name()='result']/dateofacceptance"/> |
|
103 |
<FIELD indexable="true" name="resultacceptanceyear" result="false" stat="false" tokenizable="false" value="dnet:extractYear(//*[local-name()='entity']/*[local-name()='result']/dateofacceptance)"/> |
|
104 |
<FIELD indexable="true" name="resulthostingdatasourceid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='hostedby']/@id"/> |
|
105 |
<FIELD indexable="true" name="resulthostingdatasourcename" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='hostedby']/@name"/> |
|
106 |
<FIELD indexable="true" name="resultcollectedfromdatasourceid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/*[local-name()='collectedfrom']/@id"/> |
|
107 |
<FIELD indexable="true" name="resultcollectedfromdatasourcename" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/*[local-name()='collectedfrom']/@name"/> |
|
108 |
<FIELD indexable="true" name="instancetypename" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='instancetype']/@classname"/> |
|
109 |
<FIELD indexable="true" name="instancetypenameid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='instancetype']/@classid"/> |
|
110 |
<FIELD indexable="true" name="resultdupid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//children/result/@objidentifier"/> |
|
111 |
<FIELD indexable="true" name="externalrefsite" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//children/externalreference/sitename"/> |
|
112 |
<FIELD indexable="true" name="externalreflabel" result="false" stat="false" tokenizable="true" xpath="//*[local-name()='entity']/*//children/externalreference/label"/> |
|
113 |
<FIELD indexable="true" name="externalrefclass" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//children/externalreference/qualifier/@classid"/> |
|
114 |
<FIELD indexable="true" name="externalrefid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//children/externalreference/refidentifier"/> |
|
115 |
|
|
116 |
|
|
117 |
<!-- REL FIELDS --> |
|
118 |
<FIELD indexable="true" name="relpersonid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//rel/to[@type='person']"/> |
|
119 |
<FIELD indexable="true" name="relperson" result="false" stat="false" xpath="//*[local-name()='entity']/*//rel[./to/@type='person']/fullname"/> |
|
120 |
<FIELD indexable="true" name="relprojectid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//rel/to[@type='project']"/> |
|
121 |
<FIELD indexable="true" name="relprojectcode" result="false" stat="false" xpath="//*[local-name()='entity']/*//rel[to/@type='project']/code"/> |
|
122 |
<FIELD indexable="true" name="relprojectname" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/acronym"/> |
|
123 |
<FIELD indexable="true" name="relprojecttitle" result="false" stat="false" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/title"/> |
|
124 |
<FIELD indexable="true" name="relcontracttypeid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/contracttype/@classid"/> |
|
125 |
<FIELD indexable="true" name="relcontracttypename" result="false" stat="false" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/contracttype/@classname"/> |
|
126 |
<FIELD indexable="true" name="relorganizationcountryid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classid"/> |
|
127 |
<FIELD indexable="true" name="relorganizationcountryname" result="false" stat="false" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classname"/> |
|
128 |
<FIELD indexable="true" name="relorganizationid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//rel/to[@type='organization']"/> |
|
129 |
<FIELD indexable="true" name="relorganizationname" result="false" stat="false" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/legalname"/> |
|
130 |
<FIELD indexable="true" name="relorganizationshortname" result="false" stat="false" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/legalshortname"/> |
|
131 |
<FIELD indexable="true" name="relresultid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*//rel/to[@type='result']"/> |
|
132 |
<FIELD indexable="true" name="relfundinglevel0_id" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//rel/funding/funding_level_0"/> |
|
133 |
<FIELD indexable="true" name="relfundinglevel1_id" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//rel/funding/funding_level_1"/> |
|
134 |
<FIELD indexable="true" name="relfundinglevel2_id" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//rel/funding/funding_level_2"/> |
|
135 |
<FIELD indexable="true" name="relinferred" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//rel/@inferred"/> |
|
136 |
<FIELD indexable="true" name="reltrust" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//rel/@trust"/> |
|
137 |
<FIELD indexable="true" name="relinferenceprovenance" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//rel/@inferenceprovenance"/> |
|
138 |
<FIELD indexable="true" name="relprovenanceactionclassid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//rel/@provenanceaction"/> |
|
139 |
|
|
140 |
<!-- COMMON FIELDS --> |
|
141 |
<FIELD indexable="true" name="dateofcollection" result="false" stat="false" type="date" value="//header/*[local-name()='dateOfCollection']"/> |
|
142 |
<FIELD indexable="true" name="collectedfromdatasourceid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//*[local-name()='collectedfrom']/@id"/> |
|
143 |
<FIELD indexable="true" name="collectedfromdatasourcename" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//*[local-name()='collectedfrom']/@name"/> |
|
144 |
<FIELD indexable="true" name="pid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//pid"/> |
|
145 |
<FIELD indexable="true" name="pidclassid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//pid/@classid"/> |
|
146 |
<FIELD indexable="true" name="pidclassname" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//pid/@classname"/> |
|
147 |
<FIELD indexable="true" name="h1" result="false" stat="false" stored="false" tokenizable="false" value="dnet:randomInt(100)"/> |
|
148 |
<FIELD indexable="true" name="h2" result="false" stat="false" stored="false" tokenizable="false" value="dnet:randomInt(100)"/> |
|
149 |
<FIELD indexable="true" name="inferred" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//datainfo/inferred"/> |
|
150 |
<FIELD indexable="true" name="deletedbyinference" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//datainfo/deletedbyinference"/> |
|
151 |
<FIELD indexable="true" name="trust" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//datainfo/trust"/> |
|
152 |
<FIELD indexable="true" name="inferenceprovenance" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//datainfo/inferenceprovenance"/> |
|
153 |
<FIELD indexable="true" name="provenanceactionclassid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']//datainfo/provenanceaction/@classid"/> |
|
154 |
<FIELD indexable="true" name="contextid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/context/@id"/> |
|
155 |
<FIELD indexable="true" name="contexttype" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/context/@type"/> |
|
156 |
<FIELD indexable="true" name="contextname" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/context/@label"/> |
|
157 |
<FIELD indexable="true" name="categoryid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/context/category/@id"/> |
|
158 |
<FIELD indexable="true" name="categoryname" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/context/category/@label"/> |
|
159 |
<FIELD indexable="true" name="conceptid" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/context/category//concept/@id"/> |
|
160 |
<FIELD indexable="true" name="conceptname" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='entity']/*[local-name()='result']/context/category//concept/@label"/> |
|
161 |
|
|
162 |
<!-- COUNTER FIELDS --> |
|
163 |
<FIELD name="counter_dedup" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_dedup/@value" type="int" indexable="true" header="true" stored="true"/> |
|
164 |
<FIELD name="counter_authorship" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_authorship/@value" type="int" indexable="true" header="true" stored="true"/> |
|
165 |
<FIELD name="counter_participation" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_participation/@value" type="int" indexable="true" header="true" stored="true"/> |
|
166 |
<FIELD name="counter_outcome" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_outcome/@value" type="int" indexable="true" header="true" stored="true"/> |
|
167 |
<FIELD name="counter_contactperson" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_contactperson/@value" type="int" indexable="true" header="true" stored="true"/> |
|
168 |
<FIELD name="counter_provision" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_provision/@value" type="int" indexable="true" header="true" stored="true"/> |
|
169 |
<FIELD name="counter_similarity" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_similarity/@value" type="int" indexable="true" header="true" stored="true"/> |
|
170 |
<FIELD name="counter_publicationdataset" xpath="/record/result/*[local-name()='header']/*[local-name()='counters']/counter_publicationdataset/@value" type="int" indexable="true" header="true" stored="true"/> |
|
171 |
</FIELDS> |
|
172 |
</LAYOUT> |
modules/dnet-openaireplus-workflows/branches/tree-dedup/src/test/resources/eu/dnetlib/msro/openaireplus/workflows/nodes/hostedby/input2.xml | ||
---|---|---|
1 |
<doi_record owner="10.1080" timestamp="2017-02-14 08:25:07"> |
|
2 |
<crossref> |
|
3 |
<journal> |
|
4 |
<journal_metadata language="en"> |
|
5 |
<full_title>Expert Review of Proteomics</full_title> |
|
6 |
<abbrev_title>Expert Review of Proteomics</abbrev_title> |
|
7 |
<issn media_type="print">1478-9450</issn> |
|
8 |
<issn media_type="electronic">1744-8387</issn> |
|
9 |
</journal_metadata> |
|
10 |
<journal_issue> |
|
11 |
<publication_date media_type="online"> |
|
12 |
<month>11</month> |
|
13 |
<day>11</day> |
|
14 |
<year>2016</year> |
|
15 |
</publication_date> |
|
16 |
<publication_date media_type="print"> |
|
17 |
<month>12</month> |
|
18 |
<year>2016</year> |
|
19 |
</publication_date> |
|
20 |
<journal_volume> |
|
21 |
<volume>13</volume> |
|
22 |
</journal_volume> |
|
23 |
<issue>12</issue> |
|
24 |
</journal_issue> |
|
25 |
<journal_article publication_type="full_text"> |
|
26 |
<titles> |
|
27 |
<title>Urinary biomarkers for renal tract malformations</title> |
|
28 |
</titles> |
|
29 |
<contributors> |
|
30 |
<person_name contributor_role="author" sequence="first"> |
|
31 |
<given_name>Pedro</given_name> |
|
32 |
<surname>Magalhães</surname> |
|
33 |
</person_name> |
|
34 |
<person_name contributor_role="author" sequence="additional"> |
|
35 |
<given_name>Joost P.</given_name> |
|
36 |
<surname>Schanstra</surname> |
|
37 |
</person_name> |
|
38 |
<person_name contributor_role="author" sequence="additional"> |
|
39 |
<given_name>Emma</given_name> |
|
40 |
<surname>Carrick</surname> |
|
41 |
</person_name> |
|
42 |
<person_name contributor_role="author" sequence="additional"> |
|
43 |
<given_name>Harald</given_name> |
|
44 |
<surname>Mischak</surname> |
|
45 |
</person_name> |
|
46 |
<person_name contributor_role="author" sequence="additional"> |
|
47 |
<given_name>Petra</given_name> |
|
48 |
<surname>Zürbig</surname> |
|
49 |
</person_name> |
|
50 |
</contributors> |
|
51 |
<publication_date media_type="online"> |
|
52 |
<month>11</month> |
|
53 |
<day>15</day> |
|
54 |
<year>2016</year> |
|
55 |
</publication_date> |
|
56 |
<publication_date media_type="print"> |
|
57 |
<month>12</month> |
|
58 |
<year>2016</year> |
|
59 |
</publication_date> |
|
60 |
<pages> |
|
61 |
<first_page>1121</first_page> |
|
62 |
<last_page>1129</last_page> |
|
63 |
</pages> |
|
64 |
<publisher_item> |
|
65 |
<item_number item_number_type="sequence-number">7</item_number> |
|
66 |
<identifier id_type="doi">10.1080/14789450.2016.1254555</identifier> |
|
67 |
</publisher_item> |
|
68 |
<crossmark> |
|
69 |
<crossmark_version>1</crossmark_version> |
|
70 |
<crossmark_policy>10.1080/tandf_crossmark_01</crossmark_policy> |
|
71 |
<crossmark_domains> |
|
72 |
<crossmark_domain> |
|
73 |
<domain>www.tandfonline.com</domain> |
|
74 |
</crossmark_domain> |
|
75 |
</crossmark_domains> |
|
76 |
<crossmark_domain_exclusive>true</crossmark_domain_exclusive> |
|
77 |
<custom_metadata> |
|
78 |
<assertion label="Peer Review Statement" name="peerreview_statement" order="1">The publishing and review policy for this title is described in its Aims & Scope.</assertion> |
|
79 |
<assertion href="http://www.tandfonline.com/action/journalInformation?show=aimsScope&journalCode=ieru20" label="Aim & Scope" name="aims_and_scope_url" order="2">http://www.tandfonline.com/action/journalInformation?show=aimsScope&journalCode=ieru20</assertion> |
|
80 |
<program name="fundref"> |
|
81 |
<assertion name="fundgroup"> |
|
82 |
<assertion name="funder_name"> |
|
83 |
Horizon 2020 |
|
84 |
<assertion name="funder_identifier" provider="crossref">http://dx.doi.org/10.13039/100010661</assertion> |
|
85 |
</assertion> |
|
86 |
<assertion name="award_number">642937-RENALTRACT</assertion> |
|
87 |
</assertion> |
|
88 |
<assertion name="fundgroup"> |
|
89 |
<assertion name="funder_name"> |
|
90 |
Seventh Framework Programme |
|
91 |
<assertion name="funder_identifier">http://dx.doi.org/10.13039/501100004963</assertion> |
|
92 |
</assertion> |
|
93 |
<assertion name="award_number">305608-EURenOmics</assertion> |
|
94 |
<assertion name="award_number">608332-iMODECKD</assertion> |
|
95 |
</assertion> |
|
96 |
</program> |
|
97 |
</custom_metadata> |
|
98 |
</crossmark> |
|
99 |
<doi_data> |
|
100 |
<doi>10.1080/14789450.2016.1254555</doi> |
|
101 |
<resource>https://www.tandfonline.com/doi/full/10.1080/14789450.2016.1254555</resource> |
|
102 |
<collection property="crawler-based"> |
|
103 |
<item crawler="iParadigms"> |
|
104 |
<resource>http://www.tandfonline.com/doi/pdf/10.1080/14789450.2016.1254555</resource> |
|
105 |
</item> |
|
106 |
</collection> |
|
107 |
</doi_data> |
|
108 |
<citation_list> |
|
109 |
<citation key="CIT0001"> |
|
110 |
<doi>10.1034/j.1399-3046.2003.00029.x</doi> |
|
111 |
</citation> |
|
112 |
<citation key="CIT0002"> |
|
113 |
<doi>10.2215/CJN.03310412</doi> |
|
114 |
</citation> |
|
115 |
<citation key="CIT0003"> |
|
116 |
<doi>10.1074/mcp.E800010-MCP200</doi> |
|
117 |
</citation> |
|
118 |
<citation key="CIT0004"> |
|
119 |
<doi>10.1126/scitranslmed.3001249</doi> |
|
120 |
</citation> |
|
121 |
<citation key="CIT0005"> |
|
122 |
<doi>10.1586/14789450.2014.872564</doi> |
|
123 |
</citation> |
|
124 |
<citation key="CIT0006"> |
|
125 |
<doi>10.1111/j.1523-1755.2004.00352.x</doi> |
|
126 |
</citation> |
|
127 |
<citation key="CIT0007"> |
|
128 |
<doi>10.1002/pmic.200401012</doi> |
|
129 |
</citation> |
|
130 |
<citation key="CIT0008"> |
|
131 |
<doi>10.1002/prca.200780082</doi> |
|
132 |
</citation> |
|
133 |
<citation key="CIT0009"> |
|
134 |
<doi>10.1053/j.ackd.2010.09.004</doi> |
|
135 |
</citation> |
|
136 |
<citation key="CIT0010"> |
|
137 |
<doi>10.1074/mcp.R800001-MCP200</doi> |
|
138 |
</citation> |
|
139 |
<citation key="CIT0011"> |
|
140 |
<doi>10.1016/j.kint.2015.10.010</doi> |
|
141 |
</citation> |
|
142 |
<citation key="CIT0012"> |
|
143 |
<doi>10.1111/j.1523-1755.2004.00659.x</doi> |
|
144 |
</citation> |
|
145 |
<citation key="CIT0013"> |
|
146 |
<doi>10.1002/pmic.200600230</doi> |
|
147 |
</citation> |
|
148 |
<citation key="CIT0014"> |
|
149 |
<doi>10.1038/nrneph.2014.247</doi> |
|
150 |
</citation> |
|
151 |
<citation key="CIT0015"> |
|
152 |
<doi>10.1681/ASN.2006090956</doi> |
|
153 |
</citation> |
|
154 |
<citation key="CIT0016"> |
|
155 |
<doi>10.1042/CS20050006</doi> |
|
156 |
</citation> |
|
157 |
<citation key="CIT0017"> |
|
158 |
<doi>10.1038/nrc2902</doi> |
|
159 |
</citation> |
|
160 |
<citation key="CIT0018"> |
|
161 |
<doi>10.1586/14789450.4.3.421</doi> |
|
162 |
</citation> |
|
163 |
<citation key="CIT0019"> |
|
164 |
<doi>10.1093/ndt/gfv091</doi> |
|
165 |
</citation> |
|
166 |
<citation key="CIT0020"> |
|
167 |
<doi>10.1002/prca.201400113</doi> |
|
168 |
</citation> |
|
169 |
<citation key="CIT0021"> |
|
170 |
<doi>10.1681/ASN.2014050423</doi> |
|
171 |
</citation> |
|
172 |
<citation key="CIT0022"> |
|
173 |
<doi>10.1021/pr070529w</doi> |
|
174 |
</citation> |
|
175 |
<citation key="CIT0023"> |
|
176 |
<doi>10.1016/j.bbapap.2013.06.016</doi> |
|
177 |
</citation> |
|
178 |
<citation key="CIT0024"> |
|
179 |
<doi>10.1074/mcp.M110.001917</doi> |
|
180 |
</citation> |
|
181 |
<citation key="CIT0025"> |
|
182 |
<doi>10.1093/eurheartj/ehs185</doi> |
|
183 |
</citation> |
|
184 |
<citation key="CIT0026"> |
|
185 |
<doi>10.1074/mcp.M700394-MCP200</doi> |
|
186 |
</citation> |
|
187 |
<citation key="CIT0027"> |
|
188 |
<doi>10.4161/cbt.8.12.8634</doi> |
|
189 |
</citation> |
|
190 |
<citation key="CIT0028"> |
|
191 |
<doi>10.1016/j.molonc.2014.03.006</doi> |
|
192 |
</citation> |
|
193 |
<citation key="CIT0029"> |
|
194 |
<doi>10.1038/msb.2008.61</doi> |
|
195 |
</citation> |
|
196 |
<citation key="CIT0030"> |
|
197 |
<doi>10.1586/14737159.2015.1093937</doi> |
|
198 |
</citation> |
|
199 |
<citation key="CIT0031"> |
|
200 |
<doi>10.1002/pmic.201100436</doi> |
|
201 |
</citation> |
|
202 |
<citation key="CIT0032"> |
|
203 |
<doi>10.1007/s00467-015-3291-3</doi> |
|
204 |
</citation> |
|
205 |
<citation key="CIT0033"> |
|
206 |
<doi>10.1007/s00467-014-2790-y</doi> |
|
207 |
</citation> |
|
208 |
<citation key="CIT0034"> |
|
209 |
<doi>10.1007/s00467-009-1251-5</doi> |
|
210 |
</citation> |
|
211 |
<citation key="CIT0035"> |
|
212 |
<journal_title>Rays</journal_title> |
|
213 |
<author>Manzoni C</author> |
|
214 |
<first_page>131</first_page> |
|
215 |
<volume>27</volume> |
|
216 |
<issue>2</issue> |
|
217 |
<cYear>2002</cYear> |
|
218 |
</citation> |
|
219 |
<citation key="CIT0036"> |
|
220 |
<doi>10.1177/000992280204100503</doi> |
|
221 |
</citation> |
|
222 |
<citation key="CIT0037"> |
|
223 |
<doi>10.1542/peds.2010-3467</doi> |
|
224 |
</citation> |
|
225 |
<citation key="CIT0038"> |
|
226 |
<doi>10.1111/j.1464-410X.2006.06641.x</doi> |
|
227 |
</citation> |
|
228 |
<citation key="CIT0039"> |
|
229 |
<doi>10.5114/aoms.2013.36912</doi> |
|
230 |
</citation> |
|
231 |
<citation key="CIT0040"> |
|
232 |
<doi>10.1590/S1677-55382009000300008</doi> |
|
233 |
</citation> |
|
234 |
<citation key="CIT0041"> |
|
235 |
<doi>10.4103/2277-9175.133196</doi> |
|
236 |
</citation> |
|
237 |
<citation key="CIT0042"> |
|
238 |
<doi>10.1046/j.1523-1755.2000.00153.x</doi> |
|
239 |
</citation> |
|
240 |
<citation key="CIT0043"> |
|
241 |
<doi>10.1016/j.jpedsurg.2010.07.057</doi> |
|
242 |
</citation> |
|
243 |
<citation key="CIT0044"> |
|
244 |
<doi>10.1007/s00467-012-2243-4</doi> |
|
245 |
</citation> |
|
246 |
<citation key="CIT0045"> |
|
247 |
<doi>10.1016/j.jpurol.2012.11.011</doi> |
|
248 |
</citation> |
|
249 |
<citation key="CIT0046"> |
|
250 |
<doi>10.1111/apa.12324</doi> |
|
251 |
</citation> |
|
252 |
<citation key="CIT0047"> |
|
253 |
<doi>10.1074/mcp.M116.059386</doi> |
|
254 |
</citation> |
|
255 |
<citation key="CIT0048"> |
|
256 |
<doi>10.1007/s00467-011-1773-5</doi> |
|
257 |
</citation> |
|
258 |
<citation key="CIT0049"> |
|
259 |
<doi>10.1007/s00467-012-2217-6</doi> |
|
260 |
</citation> |
|
261 |
<citation key="CIT0050"> |
|
262 |
<doi>10.1038/nm1384</doi> |
|
263 |
</citation> |
|
264 |
<citation key="CIT0051"> |
|
265 |
<doi>10.1007/s00467-010-1455-8</doi> |
|
266 |
</citation> |
|
267 |
<citation key="CIT0052"> |
|
268 |
<doi>10.1002/pmic.200800560</doi> |
|
269 |
</citation> |
|
270 |
<citation key="CIT0053"> |
|
271 |
<doi>10.1016/j.juro.2011.10.169</doi> |
|
272 |
</citation> |
|
273 |
<citation key="CIT0054"> |
|
274 |
<doi>10.1074/mcp.M114.040121</doi> |
|
275 |
</citation> |
|
276 |
<citation key="CIT0055"> |
|
277 |
<doi>10.1016/j.juro.2010.03.061</doi> |
|
278 |
</citation> |
|
279 |
<citation key="CIT0056"> |
|
280 |
<doi>10.1016/j.urology.2013.06.009</doi> |
|
281 |
</citation> |
|
282 |
<citation key="CIT0057"> |
|
283 |
<doi>10.1016/j.kint.2016.02.020</doi> |
|
284 |
</citation> |
|
285 |
<citation key="CIT0058"> |
|
286 |
<doi>10.1093/jjco/hys200</doi> |
|
287 |
</citation> |
|
288 |
<citation key="CIT0059"> |
|
289 |
<doi>10.1016/S0022-5347(05)65444-4</doi> |
|
290 |
</citation> |
|
291 |
<citation key="CIT0060"> |
|
292 |
<doi>10.1111/j.1464-410X.1992.tb15704.x</doi> |
|
293 |
</citation> |
|
294 |
<citation key="CIT0061"> |
Also available in: Unified diff
created branch for tree-dedup