testing DIME
This commit is contained in:
parent
0010458a23
commit
0d0ebc4d77
|
@ -0,0 +1,7 @@
|
||||||
|
|
||||||
|
# the triples to add to the provenance graph https://ariadne-infrastructure.eu/datasourceApis
|
||||||
|
|
||||||
|
<http://www.d-net.research-infrastructures.eu/provenance/isApiOf> a rdf:Property .
|
||||||
|
<http://www.d-net.research-infrastructures.eu/provenance/insertedInDate> a rdf:Property .
|
||||||
|
<http://www.d-net.research-infrastructures.eu/provenance/isApiOf> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <http://purl.org/pav/importedFrom> .
|
||||||
|
<http://www.d-net.research-infrastructures.eu/provenance/insertedInDate> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <http://purl.org/pav/createdOn> .
|
|
@ -167,7 +167,7 @@ public class X3MTransformAriadnePlusJobNode extends AsyncJobNode {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void prepareXpathSelectors() throws SaxonApiException {
|
protected void prepareXpathSelectors() throws SaxonApiException {
|
||||||
Map<String, String> namespaces = Maps.newHashMap();
|
Map<String, String> namespaces = Maps.newHashMap();
|
||||||
namespaces.put("oai", OAI_NAMESPACE_URI);
|
namespaces.put("oai", OAI_NAMESPACE_URI);
|
||||||
namespaces.put("dri", DRI_NAMESPACE_URI);
|
namespaces.put("dri", DRI_NAMESPACE_URI);
|
||||||
|
@ -178,7 +178,7 @@ public class X3MTransformAriadnePlusJobNode extends AsyncJobNode {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String extractFromRecord(final String record, final XPathSelector xPathSelector) {
|
protected String extractFromRecord(final String record, final XPathSelector xPathSelector) {
|
||||||
try {
|
try {
|
||||||
return this.saxonHelper.help().setSerializerProperty(Property.OMIT_XML_DECLARATION, "yes").evaluateSingleAsString(record, xPathSelector);
|
return this.saxonHelper.help().setSerializerProperty(Property.OMIT_XML_DECLARATION, "yes").evaluateSingleAsString(record, xPathSelector);
|
||||||
} catch (SaxonApiException e) {
|
} catch (SaxonApiException e) {
|
||||||
|
@ -266,5 +266,44 @@ public class X3MTransformAriadnePlusJobNode extends AsyncJobNode {
|
||||||
|
|
||||||
return mappings;
|
return mappings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public XPathSelector getXpathSelectorMetadata() {
|
||||||
|
return xpathSelectorMetadata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setXpathSelectorMetadata(XPathSelector xpathSelectorMetadata) {
|
||||||
|
this.xpathSelectorMetadata = xpathSelectorMetadata;
|
||||||
|
}
|
||||||
|
|
||||||
|
public XPathSelector getXpathSelectorHeader() {
|
||||||
|
return xpathSelectorHeader;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setXpathSelectorHeader(XPathSelector xpathSelectorHeader) {
|
||||||
|
this.xpathSelectorHeader = xpathSelectorHeader;
|
||||||
|
}
|
||||||
|
|
||||||
|
public XPathSelector getXpathSelectorFooter() {
|
||||||
|
return xpathSelectorFooter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setXpathSelectorFooter(XPathSelector xpathSelectorFooter) {
|
||||||
|
this.xpathSelectorFooter = xpathSelectorFooter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public XPathSelector getXpathSelectorObjIdentifier() {
|
||||||
|
return xpathSelectorObjIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setXpathSelectorObjIdentifier(XPathSelector xpathSelectorObjIdentifier) {
|
||||||
|
this.xpathSelectorObjIdentifier = xpathSelectorObjIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SaxonHelper getSaxonHelper() {
|
||||||
|
return saxonHelper;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSaxonHelper(SaxonHelper saxonHelper) {
|
||||||
|
this.saxonHelper = saxonHelper;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,142 +20,142 @@
|
||||||
<!-- The prefix is a namespace that must be declared in the X3ML definition.
|
<!-- The prefix is a namespace that must be declared in the X3ML definition.
|
||||||
in the x3ml define <namespace prefix="ariadneplus" uri="https://ariadne-infrastructure.eu/aocat/"/> -->
|
in the x3ml define <namespace prefix="ariadneplus" uri="https://ariadne-infrastructure.eu/aocat/"/> -->
|
||||||
|
|
||||||
<generator name="CollectionURI" prefix="ariadneplus" shorten="yes">
|
<generator name="CollectionURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Collection/{term}</pattern>
|
<pattern>Collection/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="CollectionURI-2" prefix="ariadneplus" shorten="yes">
|
<generator name="CollectionURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Collection/{provider}/{term}</pattern>
|
<pattern>Collection/{provider}/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="DataResourceURI" prefix="ariadneplus" shorten="yes">
|
<generator name="DataResourceURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Resource/{term}</pattern>
|
<pattern>Resource/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="DataResourceURI-2" prefix="ariadneplus" shorten="yes">
|
<generator name="DataResourceURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Resource/{provider}/{term}</pattern>
|
<pattern>Resource/{provider}/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
|
|
||||||
<generator name="ObjectURI" prefix="ariadneplus" shorten="yes">
|
<generator name="ObjectURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Object/{resource}-{term}</pattern>
|
<pattern>Object/{resource}-{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="ObjectURI-2" prefix="ariadneplus" shorten="yes">
|
<generator name="ObjectURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Object/{arg1}/{arg2}</pattern>
|
<pattern>Object/{arg1}/{arg2}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="ObjectLabel">
|
<generator name="ObjectLabel">
|
||||||
<pattern>Resource {resource} is about object {term}</pattern>
|
<pattern>Resource {resource} is about object {term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="IdentifierURI" prefix="ariadneplus">
|
<generator name="IdentifierURI" prefix="ariadneplus">
|
||||||
<pattern>Identifier/{term}</pattern>
|
<pattern>Identifier/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="DocumentURI" prefix="ariadneplus" shorten="yes">>
|
<generator name="DocumentURI" prefix="ariadneplus" shorten="yes">>
|
||||||
<pattern>Document/{term}</pattern>
|
<pattern>Document/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="DocumentURI-2" prefix="ariadneplus" shorten="yes">
|
<generator name="DocumentURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Document/{provider}/{term}</pattern>
|
<pattern>Document/{provider}/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="EventURI" prefix="ariadneplus" shorten="yes">
|
<generator name="EventURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Event/{resource}-{term}</pattern>
|
<pattern>Event/{resource}-{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="EventURI-2" prefix="ariadneplus">
|
<generator name="EventURI-2" prefix="ariadneplus">
|
||||||
<pattern>Event/{arg1}/{arg2}</pattern>
|
<pattern>Event/{arg1}/{arg2}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="EventURI-3" prefix="ariadneplus">
|
<generator name="EventURI-3" prefix="ariadneplus">
|
||||||
<pattern>Event/{arg1}/{arg2}/{arg3}</pattern>
|
<pattern>Event/{arg1}/{arg2}/{arg3}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="EventLabel">
|
<generator name="EventLabel">
|
||||||
<pattern>Resource {resource} is about event {term}</pattern>
|
<pattern>Resource {resource} is about event {term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="Time-SpanURI" prefix="ariadneplus">
|
<generator name="Time-SpanURI" prefix="ariadneplus">
|
||||||
<pattern>Time-Span/{term}</pattern>
|
<pattern>Time-Span/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="Time-SpanURI-short" prefix="ariadneplus" shorten="yes">
|
<generator name="Time-SpanURI-short" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Time-Span/{term}</pattern>
|
<pattern>Time-Span/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="PlaceURI" prefix="ariadneplus" shorten="yes">
|
<generator name="PlaceURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Place/{term}</pattern>
|
<pattern>Place/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="PlaceURI-2" prefix="ariadneplus" shorten="yes">
|
<generator name="PlaceURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Place/{arg1}/{arg2}</pattern>
|
<pattern>Place/{arg1}/{arg2}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="AgentURI" prefix="ariadneplus" >
|
<generator name="AgentURI" prefix="ariadneplus" >
|
||||||
<pattern>Agent/{term}</pattern>
|
<pattern>Agent/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="AgentURI-short" prefix="ariadneplus" shorten="yes">
|
<generator name="AgentURI-short" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Agent/{term}</pattern>
|
<pattern>Agent/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="PersonURI" prefix="ariadneplus">
|
<generator name="PersonURI" prefix="ariadneplus">
|
||||||
<pattern>Person/{term}</pattern>
|
<pattern>Person/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="OrgURI" prefix="ariadneplus">
|
<generator name="OrgURI" prefix="ariadneplus">
|
||||||
<pattern>Organisation/{term}</pattern>
|
<pattern>Organisation/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="ConceptURI" prefix="ariadneplus">
|
<generator name="ConceptURI" prefix="ariadneplus">
|
||||||
<pattern>Concept/{term}</pattern>
|
<pattern>Concept/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="ConceptURI-2" prefix="ariadneplus">
|
<generator name="ConceptURI-2" prefix="ariadneplus">
|
||||||
<pattern>Concept/{scheme}/{term}</pattern>
|
<pattern>Concept/{scheme}/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="ConceptURI-3" prefix="ariadneplus">
|
<generator name="ConceptURI-3" prefix="ariadneplus">
|
||||||
<pattern>Concept/{db}/{scheme}/{term}</pattern>
|
<pattern>Concept/{db}/{scheme}/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="ConceptURI-2-short" prefix="ariadneplus" shorten="yes">
|
<generator name="ConceptURI-2-short" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Concept/{scheme}/{term}</pattern>
|
<pattern>Concept/{scheme}/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="LangURI" prefix="lexvo">
|
<generator name="LangURI" prefix="lexvo">
|
||||||
<pattern>{term}</pattern>
|
<pattern>{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="OneLevelCustomURI" prefix="ariadneplus">
|
<generator name="OneLevelCustomURI" prefix="ariadneplus">
|
||||||
<pattern>{level1}/{term}</pattern>
|
<pattern>{level1}/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="TwoLevelCustomURI" prefix="ariadneplus">
|
<generator name="TwoLevelCustomURI" prefix="ariadneplus">
|
||||||
<pattern>{level1}/{level2}/{term}</pattern>
|
<pattern>{level1}/{level2}/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="SimpleLabel">
|
<generator name="SimpleLabel">
|
||||||
<pattern>{label}</pattern>
|
<pattern>{label}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="CompositeLabel">
|
<generator name="CompositeLabel">
|
||||||
<pattern>{label} {text}</pattern>
|
<pattern>{label} {text}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="URIorUUID">
|
<generator name="URIorUUID">
|
||||||
<custom generatorClass="gr.forth.URIorUUID">
|
<custom generatorClass="gr.forth.URIorUUID">
|
||||||
<set-arg name="text"/>
|
<set-arg name="text"/>
|
||||||
</custom>
|
</custom>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="URNfromTextualContent">
|
<generator name="URNfromTextualContent">
|
||||||
<custom generatorClass="gr.forth.TextualContent">
|
<custom generatorClass="gr.forth.TextualContent">
|
||||||
<set-arg name="text" type="xpath"/>
|
<set-arg name="text" type="xpath"/>
|
||||||
</custom>
|
</custom>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="TypedLiteralGen">
|
<generator name="TypedLiteralGen">
|
||||||
<custom generatorClass="gr.forth.TypedLiteralGenerator">
|
<custom generatorClass="gr.forth.TypedLiteralGenerator">
|
||||||
<set-arg name="text"/>
|
<set-arg name="text"/>
|
||||||
</custom>
|
</custom>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="ConcatMultipleTerms1">
|
<generator name="ConcatMultipleTerms1">
|
||||||
<custom generatorClass="gr.forth.ConcatMultipleTerms">
|
<custom generatorClass="gr.forth.ConcatMultipleTerms">
|
||||||
<set-arg name="prefix" type="constant"/>
|
<set-arg name="prefix" type="constant"/>
|
||||||
<set-arg name="delimiter" type="constant"/>
|
<set-arg name="delimiter" type="constant"/>
|
||||||
<set-arg name="text1"/>
|
<set-arg name="text1"/>
|
||||||
</custom>
|
</custom>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
</generator_policy>
|
</generator_policy>
|
||||||
]]>
|
]]>
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
package eu.dnetlib.ariadneplus.workflows.nodes;
|
package eu.dnetlib.ariadneplus.workflows.nodes;
|
||||||
|
|
||||||
|
import eu.dnetlib.miscutils.functional.xml.SaxonHelper;
|
||||||
|
import net.sf.saxon.s9api.SaxonApiException;
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@ -12,7 +18,7 @@ import java.time.LocalDateTime;
|
||||||
*/
|
*/
|
||||||
public class X3MTransformAriadnePlusJobNodeTest {
|
public class X3MTransformAriadnePlusJobNodeTest {
|
||||||
|
|
||||||
private X3MTransformAriadnePlusJobNode transformJob = new X3MTransformAriadnePlusJobNode();
|
private X3MTransformAriadnePlusJobNode transformJob;
|
||||||
private String header = "<oai:header xmlns:dri=\"http://www.driver-repository.eu/namespace/dri\">\n"
|
private String header = "<oai:header xmlns:dri=\"http://www.driver-repository.eu/namespace/dri\">\n"
|
||||||
+ " <dri:objIdentifier>ariadne_mock::0000023f507999464aa2b78875b7e5d6</dri:objIdentifier>\n"
|
+ " <dri:objIdentifier>ariadne_mock::0000023f507999464aa2b78875b7e5d6</dri:objIdentifier>\n"
|
||||||
+ " <dri:recordIdentifier>2420500</dri:recordIdentifier>\n"
|
+ " <dri:recordIdentifier>2420500</dri:recordIdentifier>\n"
|
||||||
|
@ -123,6 +129,13 @@ public class X3MTransformAriadnePlusJobNodeTest {
|
||||||
+ " </crm:E73_Information_Object>\n"
|
+ " </crm:E73_Information_Object>\n"
|
||||||
+ " </rdf:RDF>";
|
+ " </rdf:RDF>";
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setup() throws SaxonApiException {
|
||||||
|
transformJob = new X3MTransformAriadnePlusJobNode();
|
||||||
|
SaxonHelper saxonHelper = new SaxonHelper();
|
||||||
|
transformJob.setSaxonHelper(saxonHelper);
|
||||||
|
transformJob.prepareXpathSelectors();
|
||||||
|
}
|
||||||
@Test
|
@Test
|
||||||
public void testBuildXML(){
|
public void testBuildXML(){
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
@ -131,4 +144,17 @@ public class X3MTransformAriadnePlusJobNodeTest {
|
||||||
System.out.println("Building XML took:"+ Duration.between(now, end).toMillis());
|
System.out.println("Building XML took:"+ Duration.between(now, end).toMillis());
|
||||||
System.out.println(res);
|
System.out.println(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetMetadataBlock() throws IOException, SaxonApiException {
|
||||||
|
String record = getString("/eu/dnetlib/x3m/dime-full.xml");
|
||||||
|
String md = transformJob.extractFromRecord(record, transformJob.getXpathSelectorMetadata());
|
||||||
|
System.out.println(md);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getString(final String classpath) throws IOException {
|
||||||
|
final ClassPathResource resource = new ClassPathResource(classpath);
|
||||||
|
return IOUtils.toString(resource.getInputStream(), "UTF-8");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,19 @@ public class ApplyX3MappingTest {
|
||||||
x3mEngine.execute();
|
x3mEngine.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testDime() throws MalformedURLException {
|
||||||
|
X3MLEngineFactory x3mEngine = X3MLEngineFactory.create()
|
||||||
|
.withMappings(new URL("https://mapping.d4science.org/3MEditor/Services?id=697&output=text/xml&method=export"))
|
||||||
|
.withVerboseLogging()
|
||||||
|
//.withGeneratorPolicy(new URL("https://mapping.d4science.org/3MEditor/FetchBinFile?type=generator_link&file=ARIADNEplusGeneratorPolicy_v1.8___21-04-2021112747___12811.xml"))
|
||||||
|
.withGeneratorPolicy(getInputStreamFromClasspath("/eu/dnetlib/x3m/ariadne_policy.xml"))
|
||||||
|
.withInput(getInputStreamFromClasspath("/eu/dnetlib/x3m/dime.xml"))
|
||||||
|
.withOutput(System.out, X3MLEngineFactory.OutputFormat.RDF_XML);
|
||||||
|
x3mEngine.execute();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void doBasicTest(String policyPath, String recordPath) throws IOException {
|
public void doBasicTest(String policyPath, String recordPath) throws IOException {
|
||||||
String g = getString(policyPath);
|
String g = getString(policyPath);
|
||||||
|
|
|
@ -1,40 +1,87 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?><generator_policy>
|
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<generator_policy>
|
||||||
|
<!-- ARIADNEplus Generator Policy version 1.5 -->
|
||||||
|
|
||||||
<!-- The prefix is a namespace that must be declared in the X3ML definition.
|
<!-- The prefix is a namespace that must be declared in the X3ML definition.
|
||||||
in the x3ml define <namespace prefix="ariadneplus" uri="http://www.ariadneplus.eu/"/> -->
|
in the x3ml define <namespace prefix="ariadneplus" uri="https://ariadne-infrastructure.eu/aocat/"/> -->
|
||||||
|
|
||||||
<generator name="CollectionURI" prefix="ariadneplus">
|
<generator name="CollectionURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Collection/{term}</pattern>
|
<pattern>Collection/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
<generator name="CollectionURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Collection/{provider}/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
<generator name="DataResourceURI" prefix="ariadneplus" shorten="yes">
|
<generator name="DataResourceURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Resource/{term}</pattern>
|
<pattern>Resource/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
|
<generator name="DataResourceURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Resource/{provider}/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
|
|
||||||
<generator name="ObjectURI" prefix="ariadneplus" shorten="yes">
|
<generator name="ObjectURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Object/{resource}-{term}</pattern>
|
<pattern>Object/{resource}-{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
|
<generator name="ObjectURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Object/{arg1}/{arg2}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
<generator name="ObjectLabel">
|
<generator name="ObjectLabel">
|
||||||
<pattern>Resource {resource} is about {term}</pattern>
|
<pattern>Resource {resource} is about object {term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="IdentifierURI" prefix="ariadneplus">
|
<generator name="IdentifierURI" prefix="ariadneplus">
|
||||||
<pattern>Identifier/{term}</pattern>
|
<pattern>Identifier/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="EventURI" prefix="ariadneplus">
|
<generator name="DocumentURI" prefix="ariadneplus" shorten="yes">>
|
||||||
<pattern>Event/{term}</pattern>
|
<pattern>Document/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
|
<generator name="DocumentURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Document/{provider}/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
|
<generator name="EventURI" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Event/{resource}-{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="EventURI-2" prefix="ariadneplus">
|
||||||
|
<pattern>Event/{arg1}/{arg2}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="EventURI-3" prefix="ariadneplus">
|
||||||
|
<pattern>Event/{arg1}/{arg2}/{arg3}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="EventLabel">
|
||||||
|
<pattern>Resource {resource} is about event {term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="Time-SpanURI" prefix="ariadneplus">
|
<generator name="Time-SpanURI" prefix="ariadneplus">
|
||||||
<pattern>Time-Span/{term}</pattern>
|
<pattern>Time-Span/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
<generator name="Time-SpanURI-short" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Time-Span/{term}</pattern>
|
||||||
|
</generator>
|
||||||
<generator name="PlaceURI" prefix="ariadneplus" shorten="yes">
|
<generator name="PlaceURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Place/{term}</pattern>
|
<pattern>Place/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="AgentURI" prefix="ariadneplus">
|
<generator name="PlaceURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Place/{arg1}/{arg2}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="AgentURI" prefix="ariadneplus" >
|
||||||
<pattern>Agent/{term}</pattern>
|
<pattern>Agent/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
<generator name="AgentURI-short" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Agent/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="PersonURI" prefix="ariadneplus">
|
||||||
|
<pattern>Person/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="OrgURI" prefix="ariadneplus">
|
||||||
|
<pattern>Organisation/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
<generator name="ConceptURI" prefix="ariadneplus">
|
<generator name="ConceptURI" prefix="ariadneplus">
|
||||||
<pattern>Concept/{term}</pattern>
|
<pattern>Concept/{term}</pattern>
|
||||||
|
@ -43,6 +90,14 @@
|
||||||
<pattern>Concept/{scheme}/{term}</pattern>
|
<pattern>Concept/{scheme}/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
|
<generator name="ConceptURI-3" prefix="ariadneplus">
|
||||||
|
<pattern>Concept/{db}/{scheme}/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
|
<generator name="ConceptURI-2-short" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Concept/{scheme}/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
<generator name="LangURI" prefix="lexvo">
|
<generator name="LangURI" prefix="lexvo">
|
||||||
<pattern>{term}</pattern>
|
<pattern>{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
@ -80,5 +135,12 @@
|
||||||
</custom>
|
</custom>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
|
<generator name="ConcatMultipleTerms1">
|
||||||
|
<custom generatorClass="gr.forth.ConcatMultipleTerms">
|
||||||
|
<set-arg name="prefix" type="constant"/>
|
||||||
|
<set-arg name="delimiter" type="constant"/>
|
||||||
|
<set-arg name="text1"/>
|
||||||
|
</custom>
|
||||||
|
</generator>
|
||||||
|
|
||||||
</generator_policy>
|
</generator_policy>
|
||||||
|
|
|
@ -1,40 +1,87 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?><generator_policy>
|
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<generator_policy>
|
||||||
|
<!-- ARIADNEplus Generator Policy version 1.5 -->
|
||||||
|
|
||||||
<!-- The prefix is a namespace that must be declared in the X3ML definition.
|
<!-- The prefix is a namespace that must be declared in the X3ML definition.
|
||||||
in the x3ml define <namespace prefix="ariadneplus" uri="http://www.ariadneplus.eu/"/> -->
|
in the x3ml define <namespace prefix="ariadneplus" uri="https://ariadne-infrastructure.eu/aocat/"/> -->
|
||||||
|
|
||||||
<generator name="CollectionURI" prefix="ariadneplus">
|
<generator name="CollectionURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Collection/{term}</pattern>
|
<pattern>Collection/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
<generator name="CollectionURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Collection/{provider}/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
<generator name="DataResourceURI" prefix="ariadneplus" shorten="yes">
|
<generator name="DataResourceURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Resource/{term}</pattern>
|
<pattern>Resource/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
|
<generator name="DataResourceURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Resource/{provider}/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
|
|
||||||
<generator name="ObjectURI" prefix="ariadneplus" shorten="yes">
|
<generator name="ObjectURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Object/{resource}-{term}</pattern>
|
<pattern>Object/{resource}-{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
|
<generator name="ObjectURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Object/{arg1}/{arg2}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
<generator name="ObjectLabel">
|
<generator name="ObjectLabel">
|
||||||
<pattern>Resource {resource} is about {term}</pattern>
|
<pattern>Resource {resource} is about object {term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="IdentifierURI" prefix="ariadneplus">
|
<generator name="IdentifierURI" prefix="ariadneplus">
|
||||||
<pattern>Identifier/{term}</pattern>
|
<pattern>Identifier/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
<generator name="EventURI" prefix="ariadneplus">
|
<generator name="DocumentURI" prefix="ariadneplus" shorten="yes">>
|
||||||
<pattern>Event/{term}</pattern>
|
<pattern>Document/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
|
<generator name="DocumentURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Document/{provider}/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
|
<generator name="EventURI" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Event/{resource}-{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="EventURI-2" prefix="ariadneplus">
|
||||||
|
<pattern>Event/{arg1}/{arg2}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="EventURI-3" prefix="ariadneplus">
|
||||||
|
<pattern>Event/{arg1}/{arg2}/{arg3}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="EventLabel">
|
||||||
|
<pattern>Resource {resource} is about event {term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="Time-SpanURI" prefix="ariadneplus">
|
<generator name="Time-SpanURI" prefix="ariadneplus">
|
||||||
<pattern>Time-Span/{term}</pattern>
|
<pattern>Time-Span/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
<generator name="Time-SpanURI-short" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Time-Span/{term}</pattern>
|
||||||
|
</generator>
|
||||||
<generator name="PlaceURI" prefix="ariadneplus" shorten="yes">
|
<generator name="PlaceURI" prefix="ariadneplus" shorten="yes">
|
||||||
<pattern>Place/{term}</pattern>
|
<pattern>Place/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
<generator name="AgentURI" prefix="ariadneplus">
|
<generator name="PlaceURI-2" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Place/{arg1}/{arg2}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="AgentURI" prefix="ariadneplus" >
|
||||||
<pattern>Agent/{term}</pattern>
|
<pattern>Agent/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
<generator name="AgentURI-short" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Agent/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="PersonURI" prefix="ariadneplus">
|
||||||
|
<pattern>Person/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
<generator name="OrgURI" prefix="ariadneplus">
|
||||||
|
<pattern>Organisation/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
<generator name="ConceptURI" prefix="ariadneplus">
|
<generator name="ConceptURI" prefix="ariadneplus">
|
||||||
<pattern>Concept/{term}</pattern>
|
<pattern>Concept/{term}</pattern>
|
||||||
|
@ -43,6 +90,14 @@
|
||||||
<pattern>Concept/{scheme}/{term}</pattern>
|
<pattern>Concept/{scheme}/{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
|
<generator name="ConceptURI-3" prefix="ariadneplus">
|
||||||
|
<pattern>Concept/{db}/{scheme}/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
|
<generator name="ConceptURI-2-short" prefix="ariadneplus" shorten="yes">
|
||||||
|
<pattern>Concept/{scheme}/{term}</pattern>
|
||||||
|
</generator>
|
||||||
|
|
||||||
<generator name="LangURI" prefix="lexvo">
|
<generator name="LangURI" prefix="lexvo">
|
||||||
<pattern>{term}</pattern>
|
<pattern>{term}</pattern>
|
||||||
</generator>
|
</generator>
|
||||||
|
@ -80,5 +135,12 @@
|
||||||
</custom>
|
</custom>
|
||||||
</generator>
|
</generator>
|
||||||
|
|
||||||
|
<generator name="ConcatMultipleTerms1">
|
||||||
|
<custom generatorClass="gr.forth.ConcatMultipleTerms">
|
||||||
|
<set-arg name="prefix" type="constant"/>
|
||||||
|
<set-arg name="delimiter" type="constant"/>
|
||||||
|
<set-arg name="text1"/>
|
||||||
|
</custom>
|
||||||
|
</generator>
|
||||||
|
|
||||||
</generator_policy>
|
</generator_policy>
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<oai:record xmlns:oai="http://www.openarchives.org/OAI/2.0/"
|
||||||
|
xmlns:dri="http://www.driver-repository.eu/namespace/dri">
|
||||||
|
<oai:header>
|
||||||
|
<dri:objIdentifier>aarhus_dime_::0002e4a6fbda2154d6bdde6d7453b77e</dri:objIdentifier>
|
||||||
|
<dri:recordIdentifier>oai:metaldetektorfund.dk:fund/?dimeid=71394</dri:recordIdentifier>
|
||||||
|
<dri:dateOfCollection>2021-10-25T11:15:09.361+02:00</dri:dateOfCollection>
|
||||||
|
<dri:datasourceprefix>aarhus_dime_</dri:datasourceprefix>
|
||||||
|
<dri:datasourcename>DIME - Aarhus University</dri:datasourcename>
|
||||||
|
<dri:datasourceapi>api_________::ariadne_plus::aarhusdime::oai</dri:datasourceapi>
|
||||||
|
<identifier xmlns="http://www.openarchives.org/OAI/2.0/">oai:metaldetektorfund.dk:fund/?dimeid=71394</identifier>
|
||||||
|
<datestamp xmlns="http://www.openarchives.org/OAI/2.0/">2021-07-29T14:36:49Z</datestamp>
|
||||||
|
</oai:header>
|
||||||
|
<metadata xmlns="http://www.openarchives.org/OAI/2.0/">
|
||||||
|
<find xmlns:dime="https://www.metaldetektorfund.dk/api/oai-pmh"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="https://www.metaldetektorfund.dk/api/oai-pmh https://www.metaldetektorfund.dk/api/oai-pmh/oai-dime2.xsd">
|
||||||
|
<dime_id>71394</dime_id>
|
||||||
|
<url>https://www.metaldetektorfund.dk/fund/?dimeid=71394</url>
|
||||||
|
<native_type>https://www.metaldetektorfund.dk/wiki/dime.find.coin.viking.dirham</native_type>
|
||||||
|
<title lang="da">Dirhem</title>
|
||||||
|
<description lang="da">Dirhemklip m. probérmærker
|
||||||
|
</description>
|
||||||
|
<type>
|
||||||
|
<aat_uri>http://vocab.getty.edu/aat/300037258</aat_uri>
|
||||||
|
<aat_label lang="en">DIRHAMS</aat_label>
|
||||||
|
<aat_match>exact match</aat_match>
|
||||||
|
</type>
|
||||||
|
<temporal>
|
||||||
|
<temporal_label lang="da">Vikingetid</temporal_label>
|
||||||
|
<has_native_period>https://www.metaldetektorfund.dk/wiki/CYVX</has_native_period>
|
||||||
|
<has_period>http://n2t.net/ark:/99152/p0r8d9c3hq8</has_period>
|
||||||
|
<from>750</from>
|
||||||
|
<until>1066</until>
|
||||||
|
</temporal>
|
||||||
|
<spatial>
|
||||||
|
<has_place_name>Ærø Municipality</has_place_name>
|
||||||
|
<has_coordinate_system>EPSG 4326</has_coordinate_system>
|
||||||
|
<has_bounding_box_min_lat>10</has_bounding_box_min_lat>
|
||||||
|
<has_bounding_box_max_lat>10.5</has_bounding_box_max_lat>
|
||||||
|
<has_bounding_box_min_lon>54.5</has_bounding_box_min_lon>
|
||||||
|
<has_bounding_box_max_lon>55</has_bounding_box_max_lon>
|
||||||
|
<has_precision unit="degrees">0.5</has_precision>
|
||||||
|
</spatial>
|
||||||
|
<material>
|
||||||
|
<material_label lang="da">Sølv</material_label>
|
||||||
|
<has_native_material>https://www.metaldetektorfund.dk/wiki/dime.material.silver</has_native_material>
|
||||||
|
<aat_uri>http://vocab.getty.edu/page/aat/300011029</aat_uri>
|
||||||
|
<aat_label lang="en">SILVER (METAL)</aat_label>
|
||||||
|
<aat_match>exact</aat_match>
|
||||||
|
</material>
|
||||||
|
<dimensions>
|
||||||
|
<weight unit="g"/>
|
||||||
|
<length unit="mm"/>
|
||||||
|
</dimensions>
|
||||||
|
<digital_images>
|
||||||
|
<has_primary_visual_component>
|
||||||
|
<is_accessible_at>https://www.metaldetektorfund.dk/fundbilleder/5e8/5e89c43af1ad3.jpg</is_accessible_at>
|
||||||
|
<has_produced_media>image</has_produced_media>
|
||||||
|
<has_produced_format>image/jpeg</has_produced_format>
|
||||||
|
</has_primary_visual_component>
|
||||||
|
</digital_images>
|
||||||
|
<has_contributor>Langelands Museum (Arkæologi Sydfyn)</has_contributor>
|
||||||
|
<has_creator>Langelands Museum (Arkæologi Sydfyn)</has_creator>
|
||||||
|
</find>
|
||||||
|
</metadata>
|
||||||
|
<oai:about>
|
||||||
|
<provenance xmlns="http://www.openarchives.org/OAI/2.0/provenance"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/provenance http://www.openarchives.org/OAI/2.0/provenance.xsd">
|
||||||
|
<originDescription altered="true" harvestDate="2021-10-25T11:15:09.361+02:00">
|
||||||
|
<baseURL>https%3A%2F%2Fwww.metaldetektorfund.dk%2Fapi%2Foai-pmh%2F</baseURL>
|
||||||
|
<identifier>oai:metaldetektorfund.dk:fund/?dimeid=71394</identifier>
|
||||||
|
<datestamp>2021-07-29T14:36:49Z</datestamp>
|
||||||
|
<metadataNamespace/>
|
||||||
|
</originDescription>
|
||||||
|
</provenance>
|
||||||
|
</oai:about>
|
||||||
|
</oai:record>
|
|
@ -0,0 +1,53 @@
|
||||||
|
<find xmlns:dime="https://www.metaldetektorfund.dk/api/oai-pmh"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns:oai="http://www.openarchives.org/OAI/2.0/"
|
||||||
|
xmlns:dri="http://www.driver-repository.eu/namespace/dri"
|
||||||
|
xsi:schemaLocation="https://www.metaldetektorfund.dk/api/oai-pmh https://www.metaldetektorfund.dk/api/oai-pmh/oai-dime2.xsd">
|
||||||
|
<dime_id>71394</dime_id>
|
||||||
|
<url>https://www.metaldetektorfund.dk/fund/?dimeid=71394</url>
|
||||||
|
<native_type>https://www.metaldetektorfund.dk/wiki/dime.find.coin.viking.dirham</native_type>
|
||||||
|
<title lang="da">Dirhem</title>
|
||||||
|
<description lang="da">Dirhemklip m. probérmærker
|
||||||
|
</description>
|
||||||
|
<type>
|
||||||
|
<aat_uri>http://vocab.getty.edu/aat/300037258</aat_uri>
|
||||||
|
<aat_label lang="en">DIRHAMS</aat_label>
|
||||||
|
<aat_match>exact match</aat_match>
|
||||||
|
</type>
|
||||||
|
<temporal>
|
||||||
|
<temporal_label lang="da">Vikingetid</temporal_label>
|
||||||
|
<has_native_period>https://www.metaldetektorfund.dk/wiki/CYVX</has_native_period>
|
||||||
|
<has_period>http://n2t.net/ark:/99152/p0r8d9c3hq8</has_period>
|
||||||
|
<from>750</from>
|
||||||
|
<until>1066</until>
|
||||||
|
</temporal>
|
||||||
|
<spatial>
|
||||||
|
<has_place_name>Ærø Municipality</has_place_name>
|
||||||
|
<has_coordinate_system>EPSG 4326</has_coordinate_system>
|
||||||
|
<has_bounding_box_min_lat>10</has_bounding_box_min_lat>
|
||||||
|
<has_bounding_box_max_lat>10.5</has_bounding_box_max_lat>
|
||||||
|
<has_bounding_box_min_lon>54.5</has_bounding_box_min_lon>
|
||||||
|
<has_bounding_box_max_lon>55</has_bounding_box_max_lon>
|
||||||
|
<has_precision unit="degrees">0.5</has_precision>
|
||||||
|
</spatial>
|
||||||
|
<material>
|
||||||
|
<material_label lang="da">Sølv</material_label>
|
||||||
|
<has_native_material>https://www.metaldetektorfund.dk/wiki/dime.material.silver</has_native_material>
|
||||||
|
<aat_uri>http://vocab.getty.edu/page/aat/300011029</aat_uri>
|
||||||
|
<aat_label lang="en">SILVER (METAL)</aat_label>
|
||||||
|
<aat_match>exact</aat_match>
|
||||||
|
</material>
|
||||||
|
<dimensions>
|
||||||
|
<weight unit="g"/>
|
||||||
|
<length unit="mm"/>
|
||||||
|
</dimensions>
|
||||||
|
<digital_images>
|
||||||
|
<has_primary_visual_component>
|
||||||
|
<is_accessible_at>https://www.metaldetektorfund.dk/fundbilleder/5e8/5e89c43af1ad3.jpg</is_accessible_at>
|
||||||
|
<has_produced_media>image</has_produced_media>
|
||||||
|
<has_produced_format>image/jpeg</has_produced_format>
|
||||||
|
</has_primary_visual_component>
|
||||||
|
</digital_images>
|
||||||
|
<has_contributor>Langelands Museum (Arkæologi Sydfyn)</has_contributor>
|
||||||
|
<has_creator>Langelands Museum (Arkæologi Sydfyn)</has_creator>
|
||||||
|
</find>
|
Loading…
Reference in New Issue