forked from D-Net/dnet-hadoop
imported from beta
This commit is contained in:
parent
786c217085
commit
023099a921
|
@ -18,7 +18,7 @@
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>scala-compile-first</id>
|
<id>scala-compile-first</id>
|
||||||
<phase>initialize</phase>
|
<phase>process-resources</phase>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>add-source</goal>
|
<goal>add-source</goal>
|
||||||
<goal>compile</goal>
|
<goal>compile</goal>
|
||||||
|
@ -59,12 +59,6 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.jayway.jsonpath</groupId>
|
<groupId>com.jayway.jsonpath</groupId>
|
||||||
<artifactId>json-path</artifactId>
|
<artifactId>json-path</artifactId>
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>org.slf4j</groupId>
|
|
||||||
<artifactId>slf4j-api</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>dom4j</groupId>
|
<groupId>dom4j</groupId>
|
||||||
|
@ -160,6 +154,26 @@
|
||||||
<groupId>org.apache.zookeeper</groupId>
|
<groupId>org.apache.zookeeper</groupId>
|
||||||
<artifactId>zookeeper</artifactId>
|
<artifactId>zookeeper</artifactId>
|
||||||
</exclusion>
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>ant</artifactId>
|
||||||
|
<groupId>org.apache.ant</groupId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>antlr4-runtime</artifactId>
|
||||||
|
<groupId>org.antlr</groupId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>woodstox-core</artifactId>
|
||||||
|
<groupId>com.fasterxml.woodstox</groupId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<artifactId>log4j</artifactId>
|
||||||
|
<groupId>*</groupId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.apache.logging.log4j</groupId>
|
||||||
|
<artifactId>*</artifactId>
|
||||||
|
</exclusion>
|
||||||
</exclusions>
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -206,5 +220,90 @@
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
<profiles>
|
||||||
|
<profile>
|
||||||
|
<id>spark-24</id>
|
||||||
|
<activation>
|
||||||
|
<activeByDefault>true</activeByDefault>
|
||||||
|
</activation>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>build-helper-maven-plugin</artifactId>
|
||||||
|
<version>3.4.0</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>generate-sources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>add-source</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<sources>
|
||||||
|
<source>src/main/sparksolr-3</source>
|
||||||
|
</sources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
|
||||||
|
<profile>
|
||||||
|
<id>spark-34</id>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>build-helper-maven-plugin</artifactId>
|
||||||
|
<version>3.4.0</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>generate-sources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>add-source</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<sources>
|
||||||
|
<source>src/main/sparksolr-4</source>
|
||||||
|
</sources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
|
||||||
|
<profile>
|
||||||
|
<id>spark-35</id>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>build-helper-maven-plugin</artifactId>
|
||||||
|
<version>3.4.0</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>generate-sources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>add-source</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<sources>
|
||||||
|
<source>src/main/sparksolr-4</source>
|
||||||
|
</sources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
||||||
|
|
||||||
</project>
|
</project>
|
|
@ -14,4 +14,7 @@ public class ProvisionConstants {
|
||||||
return format + SEPARATOR + LAYOUT + SEPARATOR + INTERPRETATION;
|
return format + SEPARATOR + LAYOUT + SEPARATOR + INTERPRETATION;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final String PUBLIC_ALIAS_NAME = "public";
|
||||||
|
public static final String SHADOW_ALIAS_NAME = "shadow";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.solr.client.solrj.SolrResponse;
|
import org.apache.solr.client.solrj.SolrResponse;
|
||||||
import org.apache.solr.client.solrj.SolrServerException;
|
import org.apache.solr.client.solrj.SolrServerException;
|
||||||
import org.apache.solr.client.solrj.impl.CloudSolrClient;
|
import org.apache.solr.client.solrj.impl.CloudSolrClient;
|
||||||
|
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
|
||||||
import org.apache.solr.client.solrj.response.UpdateResponse;
|
import org.apache.solr.client.solrj.response.UpdateResponse;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -23,7 +24,7 @@ public class SolrAdminApplication implements Closeable {
|
||||||
private static final Logger log = LoggerFactory.getLogger(SolrAdminApplication.class);
|
private static final Logger log = LoggerFactory.getLogger(SolrAdminApplication.class);
|
||||||
|
|
||||||
enum Action {
|
enum Action {
|
||||||
DELETE_BY_QUERY, COMMIT
|
DELETE_BY_QUERY, COMMIT, UPDATE_ALIASES
|
||||||
}
|
}
|
||||||
|
|
||||||
private final CloudSolrClient solrClient;
|
private final CloudSolrClient solrClient;
|
||||||
|
@ -39,9 +40,6 @@ public class SolrAdminApplication implements Closeable {
|
||||||
final String isLookupUrl = parser.get("isLookupUrl");
|
final String isLookupUrl = parser.get("isLookupUrl");
|
||||||
log.info("isLookupUrl: {}", isLookupUrl);
|
log.info("isLookupUrl: {}", isLookupUrl);
|
||||||
|
|
||||||
final String format = parser.get("format");
|
|
||||||
log.info("format: {}", format);
|
|
||||||
|
|
||||||
final Action action = Action.valueOf(parser.get("action"));
|
final Action action = Action.valueOf(parser.get("action"));
|
||||||
log.info("action: {}", action);
|
log.info("action: {}", action);
|
||||||
|
|
||||||
|
@ -59,11 +57,21 @@ public class SolrAdminApplication implements Closeable {
|
||||||
final String zkHost = isLookup.getZkHost();
|
final String zkHost = isLookup.getZkHost();
|
||||||
log.info("zkHost: {}", zkHost);
|
log.info("zkHost: {}", zkHost);
|
||||||
|
|
||||||
final String collection = ProvisionConstants.getCollectionName(format);
|
final String publicFormat = parser.get("publicFormat");
|
||||||
log.info("collection: {}", collection);
|
log.info("publicFormat: {}", publicFormat);
|
||||||
|
|
||||||
|
final String shadowFormat = parser.get("shadowFormat");
|
||||||
|
log.info("shadowFormat: {}", shadowFormat);
|
||||||
|
|
||||||
|
// get collection names from metadata format profiles names
|
||||||
|
final String publicCollection = ProvisionConstants.getCollectionName(publicFormat);
|
||||||
|
log.info("publicCollection: {}", publicCollection);
|
||||||
|
|
||||||
|
final String shadowCollection = ProvisionConstants.getCollectionName(shadowFormat);
|
||||||
|
log.info("shadowCollection: {}", shadowCollection);
|
||||||
|
|
||||||
try (SolrAdminApplication app = new SolrAdminApplication(zkHost)) {
|
try (SolrAdminApplication app = new SolrAdminApplication(zkHost)) {
|
||||||
app.execute(action, collection, query, commit);
|
app.execute(action, query, commit, publicCollection, shadowCollection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,22 +80,29 @@ public class SolrAdminApplication implements Closeable {
|
||||||
this.solrClient = new CloudSolrClient.Builder(zk.getHosts(), zk.getChroot()).build();
|
this.solrClient = new CloudSolrClient.Builder(zk.getHosts(), zk.getChroot()).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
public SolrResponse commit(String collection) throws IOException, SolrServerException {
|
public SolrResponse commit(String shadowCollection) throws IOException, SolrServerException {
|
||||||
return execute(Action.COMMIT, collection, null, true);
|
return execute(Action.COMMIT, null, true, null, shadowCollection);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SolrResponse execute(Action action, String collection, String query, boolean commit)
|
public SolrResponse execute(Action action, String query, boolean commit,
|
||||||
|
String publicCollection, String shadowCollection)
|
||||||
throws IOException, SolrServerException {
|
throws IOException, SolrServerException {
|
||||||
switch (action) {
|
switch (action) {
|
||||||
|
|
||||||
case DELETE_BY_QUERY:
|
case DELETE_BY_QUERY:
|
||||||
UpdateResponse rsp = solrClient.deleteByQuery(collection, query);
|
UpdateResponse rsp = solrClient.deleteByQuery(shadowCollection, query);
|
||||||
if (commit) {
|
if (commit) {
|
||||||
solrClient.commit(collection);
|
return solrClient.commit(shadowCollection);
|
||||||
}
|
}
|
||||||
return rsp;
|
return rsp;
|
||||||
|
|
||||||
case COMMIT:
|
case COMMIT:
|
||||||
return solrClient.commit(collection);
|
return solrClient.commit(shadowCollection);
|
||||||
|
|
||||||
|
case UPDATE_ALIASES:
|
||||||
|
this.updateAliases(publicCollection, shadowCollection);
|
||||||
|
return null;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw new IllegalArgumentException("action not managed: " + action);
|
throw new IllegalArgumentException("action not managed: " + action);
|
||||||
}
|
}
|
||||||
|
@ -98,4 +113,28 @@ public class SolrAdminApplication implements Closeable {
|
||||||
solrClient.close();
|
solrClient.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateAliases(String publicCollection, String shadowCollection)
|
||||||
|
throws SolrServerException, IOException {
|
||||||
|
|
||||||
|
// delete current aliases
|
||||||
|
this.deleteAlias(ProvisionConstants.PUBLIC_ALIAS_NAME);
|
||||||
|
this.deleteAlias(ProvisionConstants.SHADOW_ALIAS_NAME);
|
||||||
|
|
||||||
|
// create aliases
|
||||||
|
this.createAlias(ProvisionConstants.PUBLIC_ALIAS_NAME, publicCollection);
|
||||||
|
this.createAlias(ProvisionConstants.SHADOW_ALIAS_NAME, shadowCollection);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public SolrResponse deleteAlias(String aliasName) throws SolrServerException, IOException {
|
||||||
|
CollectionAdminRequest.DeleteAlias deleteAliasRequest = CollectionAdminRequest.deleteAlias(aliasName);
|
||||||
|
return deleteAliasRequest.process(solrClient);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SolrResponse createAlias(String aliasName, String collection) throws IOException, SolrServerException {
|
||||||
|
CollectionAdminRequest.CreateAlias createAliasRequest = CollectionAdminRequest
|
||||||
|
.createAlias(aliasName, collection);
|
||||||
|
return createAliasRequest.process(solrClient);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class SolrRecordDumpJob extends AbstractSolrRecordTransformJob {
|
||||||
|
|
||||||
private final String inputPath;
|
private final String inputPath;
|
||||||
|
|
||||||
private final String format;
|
private final String shadowFormat;
|
||||||
|
|
||||||
private final String outputPath;
|
private final String outputPath;
|
||||||
|
|
||||||
|
@ -61,8 +61,8 @@ public class SolrRecordDumpJob extends AbstractSolrRecordTransformJob {
|
||||||
final String inputPath = parser.get("inputPath");
|
final String inputPath = parser.get("inputPath");
|
||||||
log.info("inputPath: {}", inputPath);
|
log.info("inputPath: {}", inputPath);
|
||||||
|
|
||||||
final String format = parser.get("format");
|
final String shadowFormat = parser.get("shadowFormat");
|
||||||
log.info("format: {}", format);
|
log.info("shadowFormat: {}", shadowFormat);
|
||||||
|
|
||||||
final String outputPath = Optional
|
final String outputPath = Optional
|
||||||
.ofNullable(parser.get("outputPath"))
|
.ofNullable(parser.get("outputPath"))
|
||||||
|
@ -95,27 +95,24 @@ public class SolrRecordDumpJob extends AbstractSolrRecordTransformJob {
|
||||||
final String isLookupUrl = parser.get("isLookupUrl");
|
final String isLookupUrl = parser.get("isLookupUrl");
|
||||||
log.info("isLookupUrl: {}", isLookupUrl);
|
log.info("isLookupUrl: {}", isLookupUrl);
|
||||||
final ISLookupClient isLookup = new ISLookupClient(ISLookupClientFactory.getLookUpService(isLookupUrl));
|
final ISLookupClient isLookup = new ISLookupClient(ISLookupClientFactory.getLookUpService(isLookupUrl));
|
||||||
new SolrRecordDumpJob(spark, inputPath, format, outputPath).run(isLookup);
|
new SolrRecordDumpJob(spark, inputPath, shadowFormat, outputPath).run(isLookup);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public SolrRecordDumpJob(SparkSession spark, String inputPath, String format, String outputPath) {
|
public SolrRecordDumpJob(SparkSession spark, String inputPath, String shadowFormat, String outputPath) {
|
||||||
this.spark = spark;
|
this.spark = spark;
|
||||||
this.inputPath = inputPath;
|
this.inputPath = inputPath;
|
||||||
this.format = format;
|
this.shadowFormat = shadowFormat;
|
||||||
this.outputPath = outputPath;
|
this.outputPath = outputPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void run(ISLookupClient isLookup) throws ISLookUpException, TransformerException {
|
public void run(ISLookupClient isLookup) throws ISLookUpException, TransformerException {
|
||||||
final String fields = isLookup.getLayoutSource(format);
|
final String fields = isLookup.getLayoutSource(shadowFormat);
|
||||||
log.info("fields: {}", fields);
|
log.info("fields: {}", fields);
|
||||||
|
|
||||||
final String xslt = isLookup.getLayoutTransformer();
|
final String xslt = isLookup.getLayoutTransformer();
|
||||||
|
|
||||||
final String dsId = isLookup.getDsId(format);
|
final String indexRecordXslt = getLayoutTransformer(shadowFormat, fields, xslt);
|
||||||
log.info("dsId: {}", dsId);
|
|
||||||
|
|
||||||
final String indexRecordXslt = getLayoutTransformer(format, fields, xslt);
|
|
||||||
log.info("indexRecordTransformer {}", indexRecordXslt);
|
log.info("indexRecordTransformer {}", indexRecordXslt);
|
||||||
|
|
||||||
final Encoder<TupleWrapper> encoder = Encoders.bean(TupleWrapper.class);
|
final Encoder<TupleWrapper> encoder = Encoders.bean(TupleWrapper.class);
|
||||||
|
|
|
@ -25,6 +25,7 @@ import eu.dnetlib.dhp.oa.provision.model.SerializableSolrInputDocument;
|
||||||
import eu.dnetlib.dhp.oa.provision.model.TupleWrapper;
|
import eu.dnetlib.dhp.oa.provision.model.TupleWrapper;
|
||||||
import eu.dnetlib.dhp.oa.provision.utils.ISLookupClient;
|
import eu.dnetlib.dhp.oa.provision.utils.ISLookupClient;
|
||||||
import eu.dnetlib.dhp.oa.provision.utils.StreamingInputDocumentFactory;
|
import eu.dnetlib.dhp.oa.provision.utils.StreamingInputDocumentFactory;
|
||||||
|
import eu.dnetlib.dhp.sparksolr.DHPSolrSupport;
|
||||||
import eu.dnetlib.dhp.utils.ISLookupClientFactory;
|
import eu.dnetlib.dhp.utils.ISLookupClientFactory;
|
||||||
import eu.dnetlib.dhp.utils.saxon.SaxonTransformerFactory;
|
import eu.dnetlib.dhp.utils.saxon.SaxonTransformerFactory;
|
||||||
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
|
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
|
||||||
|
@ -39,6 +40,8 @@ public class XmlIndexingJob extends AbstractSolrRecordTransformJob {
|
||||||
|
|
||||||
private final String format;
|
private final String format;
|
||||||
|
|
||||||
|
private final String shadowCollection;
|
||||||
|
|
||||||
private final int batchSize;
|
private final int batchSize;
|
||||||
|
|
||||||
private final SparkSession spark;
|
private final SparkSession spark;
|
||||||
|
@ -62,8 +65,11 @@ public class XmlIndexingJob extends AbstractSolrRecordTransformJob {
|
||||||
final String inputPath = parser.get("inputPath");
|
final String inputPath = parser.get("inputPath");
|
||||||
log.info("inputPath: {}", inputPath);
|
log.info("inputPath: {}", inputPath);
|
||||||
|
|
||||||
final String format = parser.get("format");
|
final String shadowFormat = parser.get("shadowFormat");
|
||||||
log.info("format: {}", format);
|
log.info("shadowFormat: {}", shadowFormat);
|
||||||
|
|
||||||
|
final String shadowCollection = ProvisionConstants.getCollectionName(shadowFormat);
|
||||||
|
log.info("shadowCollection: {}", shadowCollection);
|
||||||
|
|
||||||
final Integer batchSize = Optional
|
final Integer batchSize = Optional
|
||||||
.ofNullable(parser.get("batchSize"))
|
.ofNullable(parser.get("batchSize"))
|
||||||
|
@ -84,15 +90,17 @@ public class XmlIndexingJob extends AbstractSolrRecordTransformJob {
|
||||||
final String isLookupUrl = parser.get("isLookupUrl");
|
final String isLookupUrl = parser.get("isLookupUrl");
|
||||||
log.info("isLookupUrl: {}", isLookupUrl);
|
log.info("isLookupUrl: {}", isLookupUrl);
|
||||||
final ISLookupClient isLookup = new ISLookupClient(ISLookupClientFactory.getLookUpService(isLookupUrl));
|
final ISLookupClient isLookup = new ISLookupClient(ISLookupClientFactory.getLookUpService(isLookupUrl));
|
||||||
new XmlIndexingJob(spark, inputPath, format, batchSize)
|
new XmlIndexingJob(spark, inputPath, shadowFormat, shadowCollection, batchSize)
|
||||||
.run(isLookup);
|
.run(isLookup);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public XmlIndexingJob(SparkSession spark, String inputPath, String format, Integer batchSize) {
|
public XmlIndexingJob(SparkSession spark, String inputPath, String format, String shadowCollection,
|
||||||
|
Integer batchSize) {
|
||||||
this.spark = spark;
|
this.spark = spark;
|
||||||
this.inputPath = inputPath;
|
this.inputPath = inputPath;
|
||||||
this.format = format;
|
this.format = format;
|
||||||
|
this.shadowCollection = shadowCollection;
|
||||||
this.batchSize = batchSize;
|
this.batchSize = batchSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,12 +110,6 @@ public class XmlIndexingJob extends AbstractSolrRecordTransformJob {
|
||||||
|
|
||||||
final String xslt = isLookup.getLayoutTransformer();
|
final String xslt = isLookup.getLayoutTransformer();
|
||||||
|
|
||||||
final String dsId = isLookup.getDsId(format);
|
|
||||||
log.info("dsId: {}", dsId);
|
|
||||||
|
|
||||||
final String collection = ProvisionConstants.getCollectionName(format);
|
|
||||||
log.info("collection: {}", collection);
|
|
||||||
|
|
||||||
final String zkHost = isLookup.getZkHost();
|
final String zkHost = isLookup.getZkHost();
|
||||||
log.info("zkHost: {}", zkHost);
|
log.info("zkHost: {}", zkHost);
|
||||||
|
|
||||||
|
@ -129,7 +131,7 @@ public class XmlIndexingJob extends AbstractSolrRecordTransformJob {
|
||||||
.javaRDD()
|
.javaRDD()
|
||||||
.map(
|
.map(
|
||||||
t -> new StreamingInputDocumentFactory().parseDocument(t.getXml(), t.getJson()));
|
t -> new StreamingInputDocumentFactory().parseDocument(t.getXml(), t.getJson()));
|
||||||
SolrSupport.indexDocs(zkHost, collection, batchSize, docs.rdd());
|
DHPSolrSupport.indexDocs(zkHost, shadowCollection, batchSize, docs.rdd());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -213,7 +213,7 @@ public class StreamingInputDocumentFactory implements Serializable {
|
||||||
}
|
}
|
||||||
writer.close();
|
writer.close();
|
||||||
indexDocument.addField(INDEX_RESULT, results.toString());
|
indexDocument.addField(INDEX_RESULT, results.toString());
|
||||||
indexDocument.addField(INDEX_JSON_RESULT, json);
|
//indexDocument.addField(INDEX_JSON_RESULT, json);
|
||||||
} finally {
|
} finally {
|
||||||
outputFactory.remove();
|
outputFactory.remove();
|
||||||
eventFactory.remove();
|
eventFactory.remove();
|
||||||
|
|
|
@ -5,14 +5,11 @@ import static eu.dnetlib.dhp.oa.provision.utils.GraphMappingUtils.removePrefix;
|
||||||
import static eu.dnetlib.dhp.oa.provision.utils.XmlSerializationUtils.escapeXml;
|
import static eu.dnetlib.dhp.oa.provision.utils.XmlSerializationUtils.escapeXml;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.swing.text.html.Option;
|
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.stringtemplate.v4.ST;
|
import org.stringtemplate.v4.ST;
|
||||||
|
|
||||||
|
|
|
@ -170,8 +170,8 @@ public class XmlSerializationUtils {
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
// <measure id="views" count="0" datasource="infrastruct_::f66f1bd369679b5b077dcdf006089556||OpenAIRE" />
|
// <measure views="0" datasource="infrastruct_::f66f1bd369679b5b077dcdf006089556||OpenAIRE" />
|
||||||
// <measure id="downloads" count="0" datasource="infrastruct_::f66f1bd369679b5b077dcdf006089556||OpenAIRE" />
|
// <measure downloads="0" datasource="infrastruct_::f66f1bd369679b5b077dcdf006089556||OpenAIRE" />
|
||||||
public static String usageMeasureAsXmlElement(String name, Measure measure) {
|
public static String usageMeasureAsXmlElement(String name, Measure measure) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (KeyValue kv : measure.getUnit()) {
|
for (KeyValue kv : measure.getUnit()) {
|
||||||
|
@ -179,8 +179,7 @@ public class XmlSerializationUtils {
|
||||||
.append("<")
|
.append("<")
|
||||||
.append(name)
|
.append(name)
|
||||||
.append(" ")
|
.append(" ")
|
||||||
.append(attr("id", measure.getId()))
|
.append(attr(measure.getId(), kv.getValue()))
|
||||||
.append(attr("count", kv.getValue()))
|
|
||||||
.append(attr("datasource", kv.getKey()))
|
.append(attr("datasource", kv.getKey()))
|
||||||
.append(" />");
|
.append(" />");
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,13 +69,13 @@
|
||||||
</configuration>
|
</configuration>
|
||||||
</global>
|
</global>
|
||||||
|
|
||||||
<start to="irish_oaipmh_provision"/>
|
<start to="oaiphm_provision"/>
|
||||||
|
|
||||||
<kill name="Kill">
|
<kill name="Kill">
|
||||||
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
|
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
|
||||||
</kill>
|
</kill>
|
||||||
|
|
||||||
<action name="irish_oaipmh_provision">
|
<action name="irish_oaiphm_provision">
|
||||||
<spark xmlns="uri:oozie:spark-action:0.2">
|
<spark xmlns="uri:oozie:spark-action:0.2">
|
||||||
<master>yarn</master>
|
<master>yarn</master>
|
||||||
<mode>cluster</mode>
|
<mode>cluster</mode>
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"paramName": "f",
|
"paramName": "f",
|
||||||
"paramLongName": "format",
|
"paramLongName": "shadowFormat",
|
||||||
"paramDescription": "MDFormat name found in the IS profile",
|
"paramDescription": "MDFormat name found in the IS profile",
|
||||||
"paramRequired": true
|
"paramRequired": true
|
||||||
},
|
},
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"paramName": "f",
|
"paramName": "f",
|
||||||
"paramLongName": "format",
|
"paramLongName": "shadowFormat",
|
||||||
"paramDescription": "MDFormat name found in the IS profile",
|
"paramDescription": "MDFormat name found in the IS profile bound to the shadow index collection to feed",
|
||||||
"paramRequired": true
|
"paramRequired": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,12 +5,6 @@
|
||||||
"paramDescription": "the URL to the ISLookUp Service",
|
"paramDescription": "the URL to the ISLookUp Service",
|
||||||
"paramRequired": true
|
"paramRequired": true
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"paramName": "f",
|
|
||||||
"paramLongName": "format",
|
|
||||||
"paramDescription": "metadata format profile name",
|
|
||||||
"paramRequired": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"paramName": "a",
|
"paramName": "a",
|
||||||
"paramLongName": "action",
|
"paramLongName": "action",
|
||||||
|
@ -28,5 +22,18 @@
|
||||||
"paramLongName": "commit",
|
"paramLongName": "commit",
|
||||||
"paramDescription": "should the action be followed by a commit?",
|
"paramDescription": "should the action be followed by a commit?",
|
||||||
"paramRequired": false
|
"paramRequired": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"paramName": "pf",
|
||||||
|
"paramLongName": "publicFormat",
|
||||||
|
"paramDescription": "the name of the public metadata format profile - used to create an alias",
|
||||||
|
"paramRequired": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"paramName": "sf",
|
||||||
|
"paramLongName": "shadowFormat",
|
||||||
|
"paramDescription": "the name of the shadow metadata format profile - used to create an alias",
|
||||||
|
"paramRequired": false
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
|
@ -35,9 +35,13 @@
|
||||||
<description>maximum number of relations allowed for a each entity grouping by target</description>
|
<description>maximum number of relations allowed for a each entity grouping by target</description>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>format</name>
|
<name>shadowFormat</name>
|
||||||
<description>metadata format name (DMF|TMF)</description>
|
<description>metadata format name (DMF|TMF)</description>
|
||||||
</property>
|
</property>
|
||||||
|
<property>
|
||||||
|
<name>publicFormat</name>
|
||||||
|
<description>the public metadata format - used to create the public collection alias</description>
|
||||||
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>batchSize</name>
|
<name>batchSize</name>
|
||||||
<description>number of records to be included in each indexing request</description>
|
<description>number of records to be included in each indexing request</description>
|
||||||
|
@ -133,6 +137,7 @@
|
||||||
<case to="create_payloads">${wf:conf('resumeFrom') eq 'create_payloads'}</case>
|
<case to="create_payloads">${wf:conf('resumeFrom') eq 'create_payloads'}</case>
|
||||||
<case to="drop_solr_collection">${wf:conf('resumeFrom') eq 'drop_solr_collection'}</case>
|
<case to="drop_solr_collection">${wf:conf('resumeFrom') eq 'drop_solr_collection'}</case>
|
||||||
<case to="to_solr_index">${wf:conf('resumeFrom') eq 'to_solr_index'}</case>
|
<case to="to_solr_index">${wf:conf('resumeFrom') eq 'to_solr_index'}</case>
|
||||||
|
<case to="update_solr_aliases">${wf:conf('resumeFrom') eq 'update_solr_aliases'}</case>
|
||||||
<default to="prepare_relations"/>
|
<default to="prepare_relations"/>
|
||||||
</switch>
|
</switch>
|
||||||
</decision>
|
</decision>
|
||||||
|
@ -641,8 +646,8 @@
|
||||||
</configuration>
|
</configuration>
|
||||||
<main-class>eu.dnetlib.dhp.oa.provision.SolrAdminApplication</main-class>
|
<main-class>eu.dnetlib.dhp.oa.provision.SolrAdminApplication</main-class>
|
||||||
<arg>--isLookupUrl</arg><arg>${isLookupUrl}</arg>
|
<arg>--isLookupUrl</arg><arg>${isLookupUrl}</arg>
|
||||||
<arg>--format</arg><arg>${format}</arg>
|
|
||||||
<arg>--action</arg><arg>DELETE_BY_QUERY</arg>
|
<arg>--action</arg><arg>DELETE_BY_QUERY</arg>
|
||||||
|
<arg>--shadowFormat</arg><arg>${shadowFormat}</arg>
|
||||||
<arg>--query</arg><arg>${solrDeletionQuery}</arg>
|
<arg>--query</arg><arg>${solrDeletionQuery}</arg>
|
||||||
<arg>--commit</arg><arg>true</arg>
|
<arg>--commit</arg><arg>true</arg>
|
||||||
</java>
|
</java>
|
||||||
|
@ -672,7 +677,7 @@
|
||||||
</spark-opts>
|
</spark-opts>
|
||||||
<arg>--inputPath</arg><arg>${workingDir}/xml_json</arg>
|
<arg>--inputPath</arg><arg>${workingDir}/xml_json</arg>
|
||||||
<arg>--isLookupUrl</arg><arg>${isLookupUrl}</arg>
|
<arg>--isLookupUrl</arg><arg>${isLookupUrl}</arg>
|
||||||
<arg>--format</arg><arg>${format}</arg>
|
<arg>--shadowFormat</arg><arg>${shadowFormat}</arg>
|
||||||
<arg>--batchSize</arg><arg>${batchSize}</arg>
|
<arg>--batchSize</arg><arg>${batchSize}</arg>
|
||||||
</spark>
|
</spark>
|
||||||
<ok to="commit_solr_collection"/>
|
<ok to="commit_solr_collection"/>
|
||||||
|
@ -689,7 +694,7 @@
|
||||||
</configuration>
|
</configuration>
|
||||||
<main-class>eu.dnetlib.dhp.oa.provision.SolrAdminApplication</main-class>
|
<main-class>eu.dnetlib.dhp.oa.provision.SolrAdminApplication</main-class>
|
||||||
<arg>--isLookupUrl</arg><arg>${isLookupUrl}</arg>
|
<arg>--isLookupUrl</arg><arg>${isLookupUrl}</arg>
|
||||||
<arg>--format</arg><arg>${format}</arg>
|
<arg>--shadowFormat</arg><arg>${shadowFormat}</arg>
|
||||||
<arg>--action</arg><arg>COMMIT</arg>
|
<arg>--action</arg><arg>COMMIT</arg>
|
||||||
</java>
|
</java>
|
||||||
<ok to="End"/>
|
<ok to="End"/>
|
||||||
|
@ -714,12 +719,31 @@
|
||||||
</spark-opts>
|
</spark-opts>
|
||||||
<arg>--inputPath</arg><arg>${workingDir}/xml_json</arg>
|
<arg>--inputPath</arg><arg>${workingDir}/xml_json</arg>
|
||||||
<arg>--isLookupUrl</arg><arg>${isLookupUrl}</arg>
|
<arg>--isLookupUrl</arg><arg>${isLookupUrl}</arg>
|
||||||
<arg>--format</arg><arg>${format}</arg>
|
<arg>--shadowFormat</arg><arg>${shadowFormat}</arg>
|
||||||
<arg>--outputPath</arg><arg>${workingDir}/solr_documents</arg>
|
<arg>--outputPath</arg><arg>${workingDir}/solr_documents</arg>
|
||||||
</spark>
|
</spark>
|
||||||
<ok to="End"/>
|
<ok to="End"/>
|
||||||
<error to="Kill"/>
|
<error to="Kill"/>
|
||||||
</action>
|
</action>
|
||||||
|
|
||||||
|
<!-- Action that updates the solr core aliases - out of order execution, only using the 'resume_from' param -->
|
||||||
|
<action name="update_solr_aliases">
|
||||||
|
<java>
|
||||||
|
<configuration>
|
||||||
|
<property>
|
||||||
|
<name>oozie.launcher.mapreduce.user.classpath.first</name>
|
||||||
|
<value>true</value>
|
||||||
|
</property>
|
||||||
|
</configuration>
|
||||||
|
<main-class>eu.dnetlib.dhp.oa.provision.SolrAdminApplication</main-class>
|
||||||
|
<arg>--isLookupUrl</arg><arg>${isLookupUrl}</arg>
|
||||||
|
<arg>--action</arg><arg>UPDATE_ALIASES</arg>
|
||||||
|
<arg>--publicFormat</arg><arg>${publicFormat}</arg>
|
||||||
|
<arg>--shadowFormat</arg><arg>${shadowFormat}</arg>
|
||||||
|
</java>
|
||||||
|
<ok to="End"/>
|
||||||
|
<error to="Kill"/>
|
||||||
|
</action>
|
||||||
|
|
||||||
<end name="End"/>
|
<end name="End"/>
|
||||||
</workflow-app>
|
</workflow-app>
|
|
@ -0,0 +1,12 @@
|
||||||
|
package eu.dnetlib.dhp.sparksolr;
|
||||||
|
|
||||||
|
import com.lucidworks.spark.util.SolrSupport;
|
||||||
|
import org.apache.solr.common.SolrInputDocument;
|
||||||
|
import org.apache.spark.rdd.RDD;
|
||||||
|
|
||||||
|
public class DHPSolrSupport {
|
||||||
|
|
||||||
|
static public void indexDocs(String zkhost, String collection, int batchSize, RDD<SolrInputDocument> docs) {
|
||||||
|
SolrSupport.indexDocs(zkhost, collection, batchSize, docs);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package eu.dnetlib.dhp.sparksolr;
|
||||||
|
|
||||||
|
import com.lucidworks.spark.util.SolrSupport;
|
||||||
|
import org.apache.solr.common.SolrInputDocument;
|
||||||
|
import org.apache.spark.rdd.RDD;
|
||||||
|
|
||||||
|
public class DHPSolrSupport {
|
||||||
|
|
||||||
|
static public void indexDocs(String zkhost, String collection, int batchSize, RDD<SolrInputDocument> docs) {
|
||||||
|
SolrSupport.indexDocs(zkhost, collection, batchSize, com.lucidworks.spark.BatchSizeType.NUM_DOCS, docs);
|
||||||
|
}
|
||||||
|
}
|
|
@ -67,7 +67,7 @@ public class PrepareRelationsJobTest {
|
||||||
@Test
|
@Test
|
||||||
void testRunPrepareRelationsJob(@TempDir Path testPath) throws Exception {
|
void testRunPrepareRelationsJob(@TempDir Path testPath) throws Exception {
|
||||||
|
|
||||||
final int maxRelations = 20;
|
final int maxRelations = 5;
|
||||||
PrepareRelationsJob
|
PrepareRelationsJob
|
||||||
.main(
|
.main(
|
||||||
new String[] {
|
new String[] {
|
||||||
|
@ -86,7 +86,7 @@ public class PrepareRelationsJobTest {
|
||||||
.as(Encoders.bean(Relation.class))
|
.as(Encoders.bean(Relation.class))
|
||||||
.cache();
|
.cache();
|
||||||
|
|
||||||
assertEquals(maxRelations, out.count());
|
assertEquals(44, out.count());
|
||||||
|
|
||||||
Dataset<Row> freq = out
|
Dataset<Row> freq = out
|
||||||
.toDF()
|
.toDF()
|
||||||
|
@ -101,12 +101,8 @@ public class PrepareRelationsJobTest {
|
||||||
long affiliation = getRows(freq, AFFILIATION).get(0).getAs("count");
|
long affiliation = getRows(freq, AFFILIATION).get(0).getAs("count");
|
||||||
|
|
||||||
assertEquals(outcome, participation);
|
assertEquals(outcome, participation);
|
||||||
assertTrue(outcome > affiliation);
|
assertEquals(outcome, affiliation);
|
||||||
assertTrue(participation > affiliation);
|
assertEquals(4, affiliation);
|
||||||
|
|
||||||
assertEquals(7, outcome);
|
|
||||||
assertEquals(7, participation);
|
|
||||||
assertEquals(6, affiliation);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected List<Row> getRows(Dataset<Row> freq, String col) {
|
protected List<Row> getRows(Dataset<Row> freq, String col) {
|
||||||
|
|
|
@ -4,16 +4,20 @@ package eu.dnetlib.dhp.oa.provision;
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
import org.apache.solr.client.solrj.request.SolrPing;
|
||||||
|
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
|
||||||
import org.apache.solr.client.solrj.response.SolrPingResponse;
|
import org.apache.solr.client.solrj.response.SolrPingResponse;
|
||||||
import org.apache.solr.client.solrj.response.UpdateResponse;
|
import org.apache.solr.client.solrj.response.UpdateResponse;
|
||||||
import org.junit.jupiter.api.Assertions;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
class SolrAdminApplicationTest extends SolrTest {
|
class SolrAdminApplicationTest extends SolrTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testPing() throws Exception {
|
void testPing() throws Exception {
|
||||||
SolrPingResponse pingResponse = miniCluster.getSolrClient().ping();
|
final SolrPing ping = new SolrPing();
|
||||||
|
ping.getParams().set("collection", ProvisionConstants.SHADOW_ALIAS_NAME);
|
||||||
|
SolrPingResponse pingResponse = ping.process(miniCluster.getSolrClient());
|
||||||
|
|
||||||
log.info("pingResponse: '{}'", pingResponse.getStatus());
|
log.info("pingResponse: '{}'", pingResponse.getStatus());
|
||||||
assertEquals(0, pingResponse.getStatus());
|
assertEquals(0, pingResponse.getStatus());
|
||||||
}
|
}
|
||||||
|
@ -24,7 +28,7 @@ class SolrAdminApplicationTest extends SolrTest {
|
||||||
SolrAdminApplication admin = new SolrAdminApplication(miniCluster.getSolrClient().getZkHost());
|
SolrAdminApplication admin = new SolrAdminApplication(miniCluster.getSolrClient().getZkHost());
|
||||||
|
|
||||||
UpdateResponse rsp = (UpdateResponse) admin
|
UpdateResponse rsp = (UpdateResponse) admin
|
||||||
.execute(SolrAdminApplication.Action.DELETE_BY_QUERY, DEFAULT_COLLECTION, "*:*", false);
|
.execute(SolrAdminApplication.Action.DELETE_BY_QUERY, "*:*", false, null, SHADOW_COLLECTION);
|
||||||
|
|
||||||
assertEquals(0, rsp.getStatus());
|
assertEquals(0, rsp.getStatus());
|
||||||
}
|
}
|
||||||
|
@ -34,9 +38,30 @@ class SolrAdminApplicationTest extends SolrTest {
|
||||||
|
|
||||||
SolrAdminApplication admin = new SolrAdminApplication(miniCluster.getSolrClient().getZkHost());
|
SolrAdminApplication admin = new SolrAdminApplication(miniCluster.getSolrClient().getZkHost());
|
||||||
|
|
||||||
UpdateResponse rsp = (UpdateResponse) admin.commit(DEFAULT_COLLECTION);
|
UpdateResponse rsp = (UpdateResponse) admin.commit(SHADOW_COLLECTION);
|
||||||
|
|
||||||
assertEquals(0, rsp.getStatus());
|
assertEquals(0, rsp.getStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testAdminApplication_CREATE_ALIAS() throws Exception {
|
||||||
|
|
||||||
|
SolrAdminApplication admin = new SolrAdminApplication(miniCluster.getSolrClient().getZkHost());
|
||||||
|
|
||||||
|
CollectionAdminResponse rsp = (CollectionAdminResponse) admin
|
||||||
|
.createAlias(ProvisionConstants.PUBLIC_ALIAS_NAME, SHADOW_COLLECTION);
|
||||||
|
assertEquals(0, rsp.getStatus());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testAdminApplication_DELETE_ALIAS() throws Exception {
|
||||||
|
|
||||||
|
SolrAdminApplication admin = new SolrAdminApplication(miniCluster.getSolrClient().getZkHost());
|
||||||
|
|
||||||
|
CollectionAdminResponse rsp = (CollectionAdminResponse) admin.deleteAlias(ProvisionConstants.PUBLIC_ALIAS_NAME);
|
||||||
|
assertEquals(0, rsp.getStatus());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,40 @@
|
||||||
|
|
||||||
package eu.dnetlib.dhp.oa.provision;
|
package eu.dnetlib.dhp.oa.provision;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.solr.client.solrj.SolrQuery;
|
import org.apache.solr.client.solrj.SolrQuery;
|
||||||
|
import org.apache.solr.client.solrj.embedded.JettyConfig;
|
||||||
|
import org.apache.solr.client.solrj.impl.CloudSolrClient;
|
||||||
|
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
|
||||||
|
import org.apache.solr.client.solrj.request.ConfigSetAdminRequest;
|
||||||
|
import org.apache.solr.client.solrj.request.QueryRequest;
|
||||||
|
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
|
||||||
import org.apache.solr.client.solrj.response.QueryResponse;
|
import org.apache.solr.client.solrj.response.QueryResponse;
|
||||||
|
import org.apache.solr.cloud.MiniSolrCloudCluster;
|
||||||
import org.apache.solr.common.SolrDocument;
|
import org.apache.solr.common.SolrDocument;
|
||||||
|
import org.apache.solr.common.params.CollectionParams;
|
||||||
import org.apache.solr.common.params.CommonParams;
|
import org.apache.solr.common.params.CommonParams;
|
||||||
|
import org.apache.solr.common.params.CoreAdminParams;
|
||||||
|
import org.apache.solr.common.params.ModifiableSolrParams;
|
||||||
|
import org.apache.solr.common.util.NamedList;
|
||||||
import org.apache.spark.SparkConf;
|
import org.apache.spark.SparkConf;
|
||||||
import org.apache.spark.sql.SparkSession;
|
import org.apache.spark.sql.SparkSession;
|
||||||
import org.junit.jupiter.api.*;
|
import org.junit.jupiter.api.*;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
|
import org.junit.jupiter.api.io.TempDir;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.Mockito;
|
import org.mockito.Mockito;
|
||||||
import org.mockito.junit.jupiter.MockitoExtension;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import eu.dnetlib.dhp.oa.provision.model.SerializableSolrInputDocument;
|
import eu.dnetlib.dhp.oa.provision.model.SerializableSolrInputDocument;
|
||||||
import eu.dnetlib.dhp.oa.provision.utils.ISLookupClient;
|
import eu.dnetlib.dhp.oa.provision.utils.ISLookupClient;
|
||||||
|
@ -23,7 +42,18 @@ import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
|
||||||
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
|
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
|
||||||
|
|
||||||
@ExtendWith(MockitoExtension.class)
|
@ExtendWith(MockitoExtension.class)
|
||||||
public class SolrConfigExploreTest extends SolrExploreTest {
|
public class SolrConfigExploreTest {
|
||||||
|
|
||||||
|
protected static final Logger log = LoggerFactory.getLogger(SolrConfigExploreTest.class);
|
||||||
|
|
||||||
|
protected static final String SHADOW_FORMAT = "c1";
|
||||||
|
protected static final String SHADOW_COLLECTION = SHADOW_FORMAT + "-index-openaire";
|
||||||
|
protected static final String PUBLIC_FORMAT = "c2";
|
||||||
|
protected static final String PUBLIC_COLLECTION = PUBLIC_FORMAT + "-index-openaire";
|
||||||
|
|
||||||
|
protected static final String CONFIG_NAME = "testConfig";
|
||||||
|
|
||||||
|
protected static SolrAdminApplication admin;
|
||||||
|
|
||||||
protected static SparkSession spark;
|
protected static SparkSession spark;
|
||||||
|
|
||||||
|
@ -35,15 +65,17 @@ public class SolrConfigExploreTest extends SolrExploreTest {
|
||||||
@Mock
|
@Mock
|
||||||
private ISLookupClient isLookupClient;
|
private ISLookupClient isLookupClient;
|
||||||
|
|
||||||
|
@TempDir
|
||||||
|
public static Path workingDir;
|
||||||
|
|
||||||
|
protected static MiniSolrCloudCluster miniCluster;
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void prepareMocks() throws ISLookUpException, IOException {
|
public void prepareMocks() throws ISLookUpException, IOException {
|
||||||
isLookupClient.setIsLookup(isLookUpService);
|
isLookupClient.setIsLookup(isLookUpService);
|
||||||
|
|
||||||
int solrPort = URI.create("http://" + miniCluster.getZkClient().getZkServerAddress()).getPort();
|
int solrPort = URI.create("http://" + miniCluster.getZkClient().getZkServerAddress()).getPort();
|
||||||
|
|
||||||
Mockito
|
|
||||||
.when(isLookupClient.getDsId(Mockito.anyString()))
|
|
||||||
.thenReturn("313f0381-23b6-466f-a0b8-c72a9679ac4b_SW5kZXhEU1Jlc291cmNlcy9JbmRleERTUmVzb3VyY2VUeXBl");
|
|
||||||
Mockito.when(isLookupClient.getZkHost()).thenReturn(String.format("127.0.0.1:%s/solr", solrPort));
|
Mockito.when(isLookupClient.getZkHost()).thenReturn(String.format("127.0.0.1:%s/solr", solrPort));
|
||||||
Mockito
|
Mockito
|
||||||
.when(isLookupClient.getLayoutSource(Mockito.anyString()))
|
.when(isLookupClient.getLayoutSource(Mockito.anyString()))
|
||||||
|
@ -54,7 +86,7 @@ public class SolrConfigExploreTest extends SolrExploreTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
public static void before() {
|
public static void setup() throws Exception {
|
||||||
|
|
||||||
SparkConf conf = new SparkConf();
|
SparkConf conf = new SparkConf();
|
||||||
conf.setAppName(XmlIndexingJobTest.class.getSimpleName());
|
conf.setAppName(XmlIndexingJobTest.class.getSimpleName());
|
||||||
|
@ -70,15 +102,75 @@ public class SolrConfigExploreTest extends SolrExploreTest {
|
||||||
|
|
||||||
spark = SparkSession
|
spark = SparkSession
|
||||||
.builder()
|
.builder()
|
||||||
.appName(XmlIndexingJobTest.class.getSimpleName())
|
.appName(SolrConfigExploreTest.class.getSimpleName())
|
||||||
.config(conf)
|
.config(conf)
|
||||||
.getOrCreate();
|
.getOrCreate();
|
||||||
|
|
||||||
|
// random unassigned HTTP port
|
||||||
|
final int jettyPort = 0;
|
||||||
|
final JettyConfig jettyConfig = JettyConfig.builder().setPort(jettyPort).build();
|
||||||
|
|
||||||
|
log.info(String.format("working directory: %s", workingDir.toString()));
|
||||||
|
System.setProperty("solr.log.dir", workingDir.resolve("logs").toString());
|
||||||
|
|
||||||
|
// create a MiniSolrCloudCluster instance
|
||||||
|
miniCluster = new MiniSolrCloudCluster(2, workingDir.resolve("solr"), jettyConfig);
|
||||||
|
|
||||||
|
// Upload Solr configuration directory to ZooKeeper
|
||||||
|
String solrZKConfigDir = "src/test/resources/eu/dnetlib/dhp/oa/provision/solr/conf/exploreTestConfig";
|
||||||
|
File configDir = new File(solrZKConfigDir);
|
||||||
|
|
||||||
|
miniCluster.uploadConfigSet(configDir.toPath(), CONFIG_NAME);
|
||||||
|
|
||||||
|
// override settings in the solrconfig include
|
||||||
|
System.setProperty("solr.tests.maxBufferedDocs", "100000");
|
||||||
|
System.setProperty("solr.tests.maxIndexingThreads", "-1");
|
||||||
|
System.setProperty("solr.tests.ramBufferSizeMB", "100");
|
||||||
|
|
||||||
|
// use non-test classes so RandomizedRunner isn't necessary
|
||||||
|
System.setProperty("solr.tests.mergeScheduler", "org.apache.lucene.index.ConcurrentMergeScheduler");
|
||||||
|
System.setProperty("solr.directoryFactory", "solr.RAMDirectoryFactory");
|
||||||
|
System.setProperty("solr.lock.type", "single");
|
||||||
|
|
||||||
|
log.info(new ConfigSetAdminRequest.List().process(miniCluster.getSolrClient()).toString());
|
||||||
|
log
|
||||||
|
.info(
|
||||||
|
CollectionAdminRequest.ClusterStatus
|
||||||
|
.getClusterStatus()
|
||||||
|
.process(miniCluster.getSolrClient())
|
||||||
|
.toString());
|
||||||
|
|
||||||
|
NamedList<Object> res = createCollection(
|
||||||
|
miniCluster.getSolrClient(), SHADOW_COLLECTION, 4, 2, 20, CONFIG_NAME);
|
||||||
|
res.forEach(o -> log.info(o.toString()));
|
||||||
|
|
||||||
|
// miniCluster.getSolrClient().setDefaultCollection(SHADOW_COLLECTION);
|
||||||
|
|
||||||
|
res = createCollection(
|
||||||
|
miniCluster.getSolrClient(), PUBLIC_COLLECTION, 4, 2, 20, CONFIG_NAME);
|
||||||
|
res.forEach(o -> log.info(o.toString()));
|
||||||
|
|
||||||
|
admin = new SolrAdminApplication(miniCluster.getZkClient().getZkServerAddress());
|
||||||
|
CollectionAdminResponse rsp = (CollectionAdminResponse) admin
|
||||||
|
.createAlias(ProvisionConstants.PUBLIC_ALIAS_NAME, PUBLIC_COLLECTION);
|
||||||
|
assertEquals(0, rsp.getStatus());
|
||||||
|
rsp = (CollectionAdminResponse) admin.createAlias(ProvisionConstants.SHADOW_ALIAS_NAME, SHADOW_COLLECTION);
|
||||||
|
assertEquals(0, rsp.getStatus());
|
||||||
|
|
||||||
|
log
|
||||||
|
.info(
|
||||||
|
CollectionAdminRequest.ClusterStatus
|
||||||
|
.getClusterStatus()
|
||||||
|
.process(miniCluster.getSolrClient())
|
||||||
|
.toString());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterAll
|
@AfterAll
|
||||||
public static void tearDown() {
|
public static void tearDown() throws Exception {
|
||||||
spark.stop();
|
spark.stop();
|
||||||
|
miniCluster.shutdown();
|
||||||
|
FileUtils.deleteDirectory(workingDir.toFile());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -86,8 +178,10 @@ public class SolrConfigExploreTest extends SolrExploreTest {
|
||||||
|
|
||||||
String inputPath = "src/test/resources/eu/dnetlib/dhp/oa/provision/xml";
|
String inputPath = "src/test/resources/eu/dnetlib/dhp/oa/provision/xml";
|
||||||
|
|
||||||
new XmlIndexingJob(spark, inputPath, FORMAT, batchSize).run(isLookupClient);
|
new XmlIndexingJob(spark, inputPath, SHADOW_FORMAT, ProvisionConstants.SHADOW_ALIAS_NAME, batchSize)
|
||||||
Assertions.assertEquals(0, miniCluster.getSolrClient().commit().getStatus());
|
.run(isLookupClient);
|
||||||
|
Assertions
|
||||||
|
.assertEquals(0, miniCluster.getSolrClient().commit(ProvisionConstants.SHADOW_ALIAS_NAME).getStatus());
|
||||||
|
|
||||||
String[] queryStrings = {
|
String[] queryStrings = {
|
||||||
"cancer",
|
"cancer",
|
||||||
|
@ -101,14 +195,14 @@ public class SolrConfigExploreTest extends SolrExploreTest {
|
||||||
query.add(CommonParams.Q, q);
|
query.add(CommonParams.Q, q);
|
||||||
query.set("debugQuery", "on");
|
query.set("debugQuery", "on");
|
||||||
|
|
||||||
log.info("Submit query to Solr with params: {}", query.toString());
|
log.info("Submit query to Solr with params: {}", query);
|
||||||
QueryResponse rsp = miniCluster.getSolrClient().query(query);
|
QueryResponse rsp = miniCluster.getSolrClient().query(ProvisionConstants.SHADOW_ALIAS_NAME, query);
|
||||||
// System.out.println(rsp.getHighlighting());
|
// System.out.println(rsp.getHighlighting());
|
||||||
// System.out.println(rsp.getExplainMap());
|
// System.out.println(rsp.getExplainMap());
|
||||||
|
|
||||||
for (SolrDocument doc : rsp.getResults()) {
|
for (SolrDocument doc : rsp.getResults()) {
|
||||||
System.out
|
log
|
||||||
.println(
|
.info(
|
||||||
doc.get("score") + "\t" +
|
doc.get("score") + "\t" +
|
||||||
doc.get("__indexrecordidentifier") + "\t" +
|
doc.get("__indexrecordidentifier") + "\t" +
|
||||||
doc.get("resultidentifier") + "\t" +
|
doc.get("resultidentifier") + "\t" +
|
||||||
|
@ -122,4 +216,18 @@ public class SolrConfigExploreTest extends SolrExploreTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static NamedList<Object> createCollection(CloudSolrClient client, String name, int numShards,
|
||||||
|
int replicationFactor, int maxShardsPerNode, String configName) throws Exception {
|
||||||
|
ModifiableSolrParams modParams = new ModifiableSolrParams();
|
||||||
|
modParams.set(CoreAdminParams.ACTION, CollectionParams.CollectionAction.CREATE.name());
|
||||||
|
modParams.set("name", name);
|
||||||
|
modParams.set("numShards", numShards);
|
||||||
|
modParams.set("replicationFactor", replicationFactor);
|
||||||
|
modParams.set("collection.configName", configName);
|
||||||
|
modParams.set("maxShardsPerNode", maxShardsPerNode);
|
||||||
|
QueryRequest request = new QueryRequest(modParams);
|
||||||
|
request.setPath("/admin/collections");
|
||||||
|
return client.request(request);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,24 +2,15 @@
|
||||||
package eu.dnetlib.dhp.oa.provision;
|
package eu.dnetlib.dhp.oa.provision;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.StringReader;
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.hadoop.io.Text;
|
|
||||||
import org.apache.solr.client.solrj.SolrQuery;
|
import org.apache.solr.client.solrj.SolrQuery;
|
||||||
import org.apache.solr.client.solrj.response.QueryResponse;
|
import org.apache.solr.client.solrj.response.QueryResponse;
|
||||||
import org.apache.solr.common.SolrDocument;
|
import org.apache.solr.common.SolrDocument;
|
||||||
import org.apache.solr.common.SolrInputField;
|
|
||||||
import org.apache.solr.common.params.CommonParams;
|
import org.apache.solr.common.params.CommonParams;
|
||||||
import org.apache.spark.SparkConf;
|
import org.apache.spark.SparkConf;
|
||||||
import org.apache.spark.api.java.JavaPairRDD;
|
|
||||||
import org.apache.spark.api.java.JavaSparkContext;
|
|
||||||
import org.apache.spark.api.java.function.MapFunction;
|
|
||||||
import org.apache.spark.sql.Dataset;
|
|
||||||
import org.apache.spark.sql.Encoders;
|
|
||||||
import org.apache.spark.sql.SparkSession;
|
import org.apache.spark.sql.SparkSession;
|
||||||
import org.dom4j.io.SAXReader;
|
|
||||||
import org.junit.jupiter.api.*;
|
import org.junit.jupiter.api.*;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
|
@ -50,9 +41,6 @@ public class SolrConfigTest extends SolrTest {
|
||||||
|
|
||||||
int solrPort = URI.create("http://" + miniCluster.getZkClient().getZkServerAddress()).getPort();
|
int solrPort = URI.create("http://" + miniCluster.getZkClient().getZkServerAddress()).getPort();
|
||||||
|
|
||||||
Mockito
|
|
||||||
.when(isLookupClient.getDsId(Mockito.anyString()))
|
|
||||||
.thenReturn("313f0381-23b6-466f-a0b8-c72a9679ac4b_SW5kZXhEU1Jlc291cmNlcy9JbmRleERTUmVzb3VyY2VUeXBl");
|
|
||||||
Mockito.when(isLookupClient.getZkHost()).thenReturn(String.format("127.0.0.1:%s/solr", solrPort));
|
Mockito.when(isLookupClient.getZkHost()).thenReturn(String.format("127.0.0.1:%s/solr", solrPort));
|
||||||
Mockito
|
Mockito
|
||||||
.when(isLookupClient.getLayoutSource(Mockito.anyString()))
|
.when(isLookupClient.getLayoutSource(Mockito.anyString()))
|
||||||
|
@ -95,9 +83,10 @@ public class SolrConfigTest extends SolrTest {
|
||||||
|
|
||||||
String inputPath = "src/test/resources/eu/dnetlib/dhp/oa/provision/xml";
|
String inputPath = "src/test/resources/eu/dnetlib/dhp/oa/provision/xml";
|
||||||
|
|
||||||
new XmlIndexingJob(spark, inputPath, FORMAT, batchSize)
|
new XmlIndexingJob(spark, inputPath, SHADOW_FORMAT, ProvisionConstants.SHADOW_ALIAS_NAME, batchSize)
|
||||||
.run(isLookupClient);
|
.run(isLookupClient);
|
||||||
Assertions.assertEquals(0, miniCluster.getSolrClient().commit().getStatus());
|
Assertions
|
||||||
|
.assertEquals(0, miniCluster.getSolrClient().commit(ProvisionConstants.SHADOW_ALIAS_NAME).getStatus());
|
||||||
|
|
||||||
String[] queryStrings = {
|
String[] queryStrings = {
|
||||||
"cancer",
|
"cancer",
|
||||||
|
@ -109,8 +98,8 @@ public class SolrConfigTest extends SolrTest {
|
||||||
SolrQuery query = new SolrQuery();
|
SolrQuery query = new SolrQuery();
|
||||||
query.add(CommonParams.Q, q);
|
query.add(CommonParams.Q, q);
|
||||||
|
|
||||||
log.info("Submit query to Solr with params: {}", query.toString());
|
log.info("Submit query to Solr with params: {}", query);
|
||||||
QueryResponse rsp = miniCluster.getSolrClient().query(query);
|
QueryResponse rsp = miniCluster.getSolrClient().query(ProvisionConstants.SHADOW_ALIAS_NAME, query);
|
||||||
|
|
||||||
for (SolrDocument doc : rsp.getResults()) {
|
for (SolrDocument doc : rsp.getResults()) {
|
||||||
System.out
|
System.out
|
||||||
|
|
|
@ -34,58 +34,6 @@ public abstract class SolrExploreTest {
|
||||||
@TempDir
|
@TempDir
|
||||||
public static Path workingDir;
|
public static Path workingDir;
|
||||||
|
|
||||||
@BeforeAll
|
|
||||||
public static void setup() throws Exception {
|
|
||||||
|
|
||||||
// random unassigned HTTP port
|
|
||||||
final int jettyPort = 0;
|
|
||||||
final JettyConfig jettyConfig = JettyConfig.builder().setPort(jettyPort).build();
|
|
||||||
|
|
||||||
log.info(String.format("working directory: %s", workingDir.toString()));
|
|
||||||
System.setProperty("solr.log.dir", workingDir.resolve("logs").toString());
|
|
||||||
|
|
||||||
// create a MiniSolrCloudCluster instance
|
|
||||||
miniCluster = new MiniSolrCloudCluster(2, workingDir.resolve("solr"), jettyConfig);
|
|
||||||
|
|
||||||
// Upload Solr configuration directory to ZooKeeper
|
|
||||||
String solrZKConfigDir = "src/test/resources/eu/dnetlib/dhp/oa/provision/solr/conf/exploreTestConfig";
|
|
||||||
File configDir = new File(solrZKConfigDir);
|
|
||||||
|
|
||||||
miniCluster.uploadConfigSet(configDir.toPath(), CONFIG_NAME);
|
|
||||||
|
|
||||||
// override settings in the solrconfig include
|
|
||||||
System.setProperty("solr.tests.maxBufferedDocs", "100000");
|
|
||||||
System.setProperty("solr.tests.maxIndexingThreads", "-1");
|
|
||||||
System.setProperty("solr.tests.ramBufferSizeMB", "100");
|
|
||||||
|
|
||||||
// use non-test classes so RandomizedRunner isn't necessary
|
|
||||||
System.setProperty("solr.tests.mergeScheduler", "org.apache.lucene.index.ConcurrentMergeScheduler");
|
|
||||||
System.setProperty("solr.directoryFactory", "solr.RAMDirectoryFactory");
|
|
||||||
System.setProperty("solr.lock.type", "single");
|
|
||||||
|
|
||||||
log.info(new ConfigSetAdminRequest.List().process(miniCluster.getSolrClient()).toString());
|
|
||||||
log
|
|
||||||
.info(
|
|
||||||
CollectionAdminRequest.ClusterStatus
|
|
||||||
.getClusterStatus()
|
|
||||||
.process(miniCluster.getSolrClient())
|
|
||||||
.toString());
|
|
||||||
|
|
||||||
NamedList<Object> res = createCollection(
|
|
||||||
miniCluster.getSolrClient(), DEFAULT_COLLECTION, 4, 2, 20, CONFIG_NAME);
|
|
||||||
res.forEach(o -> log.info(o.toString()));
|
|
||||||
|
|
||||||
miniCluster.getSolrClient().setDefaultCollection(DEFAULT_COLLECTION);
|
|
||||||
|
|
||||||
log
|
|
||||||
.info(
|
|
||||||
CollectionAdminRequest.ClusterStatus
|
|
||||||
.getClusterStatus()
|
|
||||||
.process(miniCluster.getSolrClient())
|
|
||||||
.toString());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@AfterAll
|
@AfterAll
|
||||||
public static void shutDown() throws Exception {
|
public static void shutDown() throws Exception {
|
||||||
miniCluster.shutdown();
|
miniCluster.shutdown();
|
||||||
|
|
|
@ -91,9 +91,6 @@ class SolrRecordDumpJobTest {
|
||||||
public void prepareMocks() throws ISLookUpException, IOException {
|
public void prepareMocks() throws ISLookUpException, IOException {
|
||||||
isLookupClient.setIsLookup(isLookUpService);
|
isLookupClient.setIsLookup(isLookUpService);
|
||||||
|
|
||||||
Mockito
|
|
||||||
.when(isLookupClient.getDsId(Mockito.anyString()))
|
|
||||||
.thenReturn("313f0381-23b6-466f-a0b8-c72a9679ac4b_SW5kZXhEU1Jlc291cmNlcy9JbmRleERTUmVzb3VyY2VUeXBl");
|
|
||||||
Mockito
|
Mockito
|
||||||
.when(isLookupClient.getLayoutSource(Mockito.anyString()))
|
.when(isLookupClient.getLayoutSource(Mockito.anyString()))
|
||||||
.thenReturn(IOUtils.toString(getClass().getResourceAsStream("fields.xml")));
|
.thenReturn(IOUtils.toString(getClass().getResourceAsStream("fields.xml")));
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
|
||||||
package eu.dnetlib.dhp.oa.provision;
|
package eu.dnetlib.dhp.oa.provision;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
|
||||||
|
@ -10,6 +12,7 @@ import org.apache.solr.client.solrj.impl.CloudSolrClient;
|
||||||
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
|
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
|
||||||
import org.apache.solr.client.solrj.request.ConfigSetAdminRequest;
|
import org.apache.solr.client.solrj.request.ConfigSetAdminRequest;
|
||||||
import org.apache.solr.client.solrj.request.QueryRequest;
|
import org.apache.solr.client.solrj.request.QueryRequest;
|
||||||
|
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
|
||||||
import org.apache.solr.cloud.MiniSolrCloudCluster;
|
import org.apache.solr.cloud.MiniSolrCloudCluster;
|
||||||
import org.apache.solr.common.params.CollectionParams;
|
import org.apache.solr.common.params.CollectionParams;
|
||||||
import org.apache.solr.common.params.CoreAdminParams;
|
import org.apache.solr.common.params.CoreAdminParams;
|
||||||
|
@ -21,14 +24,21 @@ import org.junit.jupiter.api.io.TempDir;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import sun.security.provider.SHA;
|
||||||
|
|
||||||
public abstract class SolrTest {
|
public abstract class SolrTest {
|
||||||
|
|
||||||
protected static final Logger log = LoggerFactory.getLogger(SolrTest.class);
|
protected static final Logger log = LoggerFactory.getLogger(SolrTest.class);
|
||||||
|
|
||||||
protected static final String FORMAT = "test";
|
protected static final String SHADOW_FORMAT = "c1";
|
||||||
protected static final String DEFAULT_COLLECTION = FORMAT + "-index-openaire";
|
protected static final String SHADOW_COLLECTION = SHADOW_FORMAT + "-index-openaire";
|
||||||
|
protected static final String PUBLIC_FORMAT = "c2";
|
||||||
|
protected static final String PUBLIC_COLLECTION = PUBLIC_FORMAT + "-index-openaire";
|
||||||
|
|
||||||
protected static final String CONFIG_NAME = "testConfig";
|
protected static final String CONFIG_NAME = "testConfig";
|
||||||
|
|
||||||
|
protected static SolrAdminApplication admin;
|
||||||
|
|
||||||
protected static MiniSolrCloudCluster miniCluster;
|
protected static MiniSolrCloudCluster miniCluster;
|
||||||
|
|
||||||
@TempDir
|
@TempDir
|
||||||
|
@ -72,10 +82,21 @@ public abstract class SolrTest {
|
||||||
.toString());
|
.toString());
|
||||||
|
|
||||||
NamedList<Object> res = createCollection(
|
NamedList<Object> res = createCollection(
|
||||||
miniCluster.getSolrClient(), DEFAULT_COLLECTION, 4, 2, 20, CONFIG_NAME);
|
miniCluster.getSolrClient(), SHADOW_COLLECTION, 4, 2, 20, CONFIG_NAME);
|
||||||
res.forEach(o -> log.info(o.toString()));
|
res.forEach(o -> log.info(o.toString()));
|
||||||
|
|
||||||
miniCluster.getSolrClient().setDefaultCollection(DEFAULT_COLLECTION);
|
// miniCluster.getSolrClient().setDefaultCollection(SHADOW_COLLECTION);
|
||||||
|
|
||||||
|
res = createCollection(
|
||||||
|
miniCluster.getSolrClient(), PUBLIC_COLLECTION, 4, 2, 20, CONFIG_NAME);
|
||||||
|
res.forEach(o -> log.info(o.toString()));
|
||||||
|
|
||||||
|
admin = new SolrAdminApplication(miniCluster.getZkClient().getZkServerAddress());
|
||||||
|
CollectionAdminResponse rsp = (CollectionAdminResponse) admin
|
||||||
|
.createAlias(ProvisionConstants.PUBLIC_ALIAS_NAME, PUBLIC_COLLECTION);
|
||||||
|
assertEquals(0, rsp.getStatus());
|
||||||
|
rsp = (CollectionAdminResponse) admin.createAlias(ProvisionConstants.SHADOW_ALIAS_NAME, SHADOW_COLLECTION);
|
||||||
|
assertEquals(0, rsp.getStatus());
|
||||||
|
|
||||||
log
|
log
|
||||||
.info(
|
.info(
|
||||||
|
@ -83,12 +104,12 @@ public abstract class SolrTest {
|
||||||
.getClusterStatus()
|
.getClusterStatus()
|
||||||
.process(miniCluster.getSolrClient())
|
.process(miniCluster.getSolrClient())
|
||||||
.toString());
|
.toString());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@AfterAll
|
@AfterAll
|
||||||
public static void shutDown() throws Exception {
|
public static void shutDown() throws Exception {
|
||||||
miniCluster.shutdown();
|
miniCluster.shutdown();
|
||||||
|
admin.close();
|
||||||
FileUtils.deleteDirectory(workingDir.toFile());
|
FileUtils.deleteDirectory(workingDir.toFile());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ import java.util.Optional;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.solr.client.solrj.SolrQuery;
|
import org.apache.solr.client.solrj.SolrQuery;
|
||||||
|
import org.apache.solr.client.solrj.SolrResponse;
|
||||||
import org.apache.solr.client.solrj.response.QueryResponse;
|
import org.apache.solr.client.solrj.response.QueryResponse;
|
||||||
import org.apache.solr.common.params.CommonParams;
|
import org.apache.solr.common.params.CommonParams;
|
||||||
import org.apache.spark.SparkConf;
|
import org.apache.spark.SparkConf;
|
||||||
|
@ -50,9 +51,6 @@ public class XmlIndexingJobTest extends SolrTest {
|
||||||
|
|
||||||
int solrPort = URI.create("http://" + miniCluster.getZkClient().getZkServerAddress()).getPort();
|
int solrPort = URI.create("http://" + miniCluster.getZkClient().getZkServerAddress()).getPort();
|
||||||
|
|
||||||
Mockito
|
|
||||||
.when(isLookupClient.getDsId(Mockito.anyString()))
|
|
||||||
.thenReturn("313f0381-23b6-466f-a0b8-c72a9679ac4b_SW5kZXhEU1Jlc291cmNlcy9JbmRleERTUmVzb3VyY2VUeXBl");
|
|
||||||
Mockito.when(isLookupClient.getZkHost()).thenReturn(String.format("127.0.0.1:%s/solr", solrPort));
|
Mockito.when(isLookupClient.getZkHost()).thenReturn(String.format("127.0.0.1:%s/solr", solrPort));
|
||||||
Mockito
|
Mockito
|
||||||
.when(isLookupClient.getLayoutSource(Mockito.anyString()))
|
.when(isLookupClient.getLayoutSource(Mockito.anyString()))
|
||||||
|
@ -103,37 +101,62 @@ public class XmlIndexingJobTest extends SolrTest {
|
||||||
|
|
||||||
long nRecord = records.count();
|
long nRecord = records.count();
|
||||||
|
|
||||||
new XmlIndexingJob(spark, inputPath, FORMAT, batchSize).run(isLookupClient);
|
new XmlIndexingJob(spark, inputPath, SHADOW_FORMAT, ProvisionConstants.SHADOW_ALIAS_NAME, batchSize)
|
||||||
|
.run(isLookupClient);
|
||||||
|
|
||||||
assertEquals(0, miniCluster.getSolrClient().commit().getStatus());
|
assertEquals(0, miniCluster.getSolrClient().commit(SHADOW_COLLECTION).getStatus());
|
||||||
|
|
||||||
QueryResponse rsp = miniCluster.getSolrClient().query(new SolrQuery().add(CommonParams.Q, "*:*"));
|
QueryResponse rsp = miniCluster
|
||||||
|
.getSolrClient()
|
||||||
|
.query(
|
||||||
|
ProvisionConstants.SHADOW_ALIAS_NAME,
|
||||||
|
new SolrQuery().add(CommonParams.Q, "*:*"));
|
||||||
|
|
||||||
assertEquals(
|
assertEquals(
|
||||||
nRecord, rsp.getResults().getNumFound(),
|
nRecord, rsp.getResults().getNumFound(),
|
||||||
"the number of indexed records should be equal to the number of input records");
|
"the number of indexed records should be equal to the number of input records");
|
||||||
|
|
||||||
rsp = miniCluster.getSolrClient().query(new SolrQuery().add(CommonParams.Q, "isgreen:true"));
|
rsp = miniCluster
|
||||||
|
.getSolrClient()
|
||||||
|
.query(
|
||||||
|
ProvisionConstants.SHADOW_ALIAS_NAME,
|
||||||
|
new SolrQuery().add(CommonParams.Q, "isgreen:true"));
|
||||||
assertEquals(
|
assertEquals(
|
||||||
4, rsp.getResults().getNumFound(),
|
4, rsp.getResults().getNumFound(),
|
||||||
"the number of indexed records having isgreen = true");
|
"the number of indexed records having isgreen = true");
|
||||||
|
|
||||||
rsp = miniCluster.getSolrClient().query(new SolrQuery().add(CommonParams.Q, "openaccesscolor:bronze"));
|
rsp = miniCluster
|
||||||
|
.getSolrClient()
|
||||||
|
.query(
|
||||||
|
ProvisionConstants.SHADOW_ALIAS_NAME,
|
||||||
|
new SolrQuery().add(CommonParams.Q, "openaccesscolor:bronze"));
|
||||||
assertEquals(
|
assertEquals(
|
||||||
2, rsp.getResults().getNumFound(),
|
2, rsp.getResults().getNumFound(),
|
||||||
"the number of indexed records having openaccesscolor = bronze");
|
"the number of indexed records having openaccesscolor = bronze");
|
||||||
|
|
||||||
rsp = miniCluster.getSolrClient().query(new SolrQuery().add(CommonParams.Q, "isindiamondjournal:true"));
|
rsp = miniCluster
|
||||||
|
.getSolrClient()
|
||||||
|
.query(
|
||||||
|
ProvisionConstants.SHADOW_ALIAS_NAME,
|
||||||
|
new SolrQuery().add(CommonParams.Q, "isindiamondjournal:true"));
|
||||||
assertEquals(
|
assertEquals(
|
||||||
0, rsp.getResults().getNumFound(),
|
0, rsp.getResults().getNumFound(),
|
||||||
"the number of indexed records having isindiamondjournal = true");
|
"the number of indexed records having isindiamondjournal = true");
|
||||||
|
|
||||||
rsp = miniCluster.getSolrClient().query(new SolrQuery().add(CommonParams.Q, "publiclyfunded:true"));
|
rsp = miniCluster
|
||||||
|
.getSolrClient()
|
||||||
|
.query(
|
||||||
|
ProvisionConstants.SHADOW_ALIAS_NAME,
|
||||||
|
new SolrQuery().add(CommonParams.Q, "publiclyfunded:true"));
|
||||||
assertEquals(
|
assertEquals(
|
||||||
0, rsp.getResults().getNumFound(),
|
0, rsp.getResults().getNumFound(),
|
||||||
"the number of indexed records having publiclyfunded = true");
|
"the number of indexed records having publiclyfunded = true");
|
||||||
|
|
||||||
rsp = miniCluster.getSolrClient().query(new SolrQuery().add(CommonParams.Q, "peerreviewed:true"));
|
rsp = miniCluster
|
||||||
|
.getSolrClient()
|
||||||
|
.query(
|
||||||
|
ProvisionConstants.SHADOW_ALIAS_NAME,
|
||||||
|
new SolrQuery().add(CommonParams.Q, "peerreviewed:true"));
|
||||||
assertEquals(
|
assertEquals(
|
||||||
35, rsp.getResults().getNumFound(),
|
35, rsp.getResults().getNumFound(),
|
||||||
"the number of indexed records having peerreviewed = true");
|
"the number of indexed records having peerreviewed = true");
|
||||||
|
@ -141,6 +164,7 @@ public class XmlIndexingJobTest extends SolrTest {
|
||||||
rsp = miniCluster
|
rsp = miniCluster
|
||||||
.getSolrClient()
|
.getSolrClient()
|
||||||
.query(
|
.query(
|
||||||
|
ProvisionConstants.SHADOW_ALIAS_NAME,
|
||||||
new SolrQuery()
|
new SolrQuery()
|
||||||
.add(CommonParams.Q, "objidentifier:\"57a035e5b1ae::236d6d8c1e03368b5ae72acfeeb11bbc\"")
|
.add(CommonParams.Q, "objidentifier:\"57a035e5b1ae::236d6d8c1e03368b5ae72acfeeb11bbc\"")
|
||||||
.add(CommonParams.FL, "__json"));
|
.add(CommonParams.FL, "__json"));
|
||||||
|
@ -158,6 +182,22 @@ public class XmlIndexingJobTest extends SolrTest {
|
||||||
|
|
||||||
log.info((String) json.get());
|
log.info((String) json.get());
|
||||||
|
|
||||||
|
admin
|
||||||
|
.execute(
|
||||||
|
SolrAdminApplication.Action.UPDATE_ALIASES, null, false,
|
||||||
|
SHADOW_COLLECTION, PUBLIC_COLLECTION);
|
||||||
|
|
||||||
|
rsp = miniCluster
|
||||||
|
.getSolrClient()
|
||||||
|
.query(
|
||||||
|
ProvisionConstants.PUBLIC_ALIAS_NAME,
|
||||||
|
new SolrQuery()
|
||||||
|
.add(CommonParams.Q, "objidentifier:\"57a035e5b1ae::236d6d8c1e03368b5ae72acfeeb11bbc\"")
|
||||||
|
.add(CommonParams.FL, "__json"));
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
1, rsp.getResults().getNumFound(),
|
||||||
|
"the number of indexed records having the given identifier, found in the public collection");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,6 @@ import java.io.StringReader;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.commons.math3.optim.AbstractOptimizationProblem;
|
|
||||||
import org.dom4j.Document;
|
import org.dom4j.Document;
|
||||||
import org.dom4j.DocumentException;
|
import org.dom4j.DocumentException;
|
||||||
import org.dom4j.Element;
|
import org.dom4j.Element;
|
||||||
|
@ -52,12 +51,7 @@ public class XmlRecordFactoryTest {
|
||||||
|
|
||||||
assertNotNull(doc);
|
assertNotNull(doc);
|
||||||
|
|
||||||
System.out.println(doc.asXML());
|
// System.out.println(doc.asXML());
|
||||||
|
|
||||||
assertEquals("10", doc.valueOf("//measure[@id = 'downloads']/@count"));
|
|
||||||
assertEquals("fakeds", doc.valueOf("//measure[@id = 'downloads']/@datasource"));
|
|
||||||
|
|
||||||
assertEquals(0, doc.selectNodes("//measure[@id = 'views']").size());
|
|
||||||
|
|
||||||
assertEquals("0000-0001-9613-6638", doc.valueOf("//creator[@rank = '1']/@orcid"));
|
assertEquals("0000-0001-9613-6638", doc.valueOf("//creator[@rank = '1']/@orcid"));
|
||||||
assertEquals("0000-0001-9613-6639", doc.valueOf("//creator[@rank = '1']/@orcid_pending"));
|
assertEquals("0000-0001-9613-6639", doc.valueOf("//creator[@rank = '1']/@orcid_pending"));
|
||||||
|
|
|
@ -1,586 +0,0 @@
|
||||||
<record>
|
|
||||||
<result xmlns:dri="http://www.driver-repository.eu/namespace/dri"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<header>
|
|
||||||
<dri:objIdentifier>doi_dedup___::e225555a08a082ad8f53f179bc59c5d0</dri:objIdentifier>
|
|
||||||
<dri:dateOfCollection>2023-01-27T05:32:10Z</dri:dateOfCollection>
|
|
||||||
</header>
|
|
||||||
<metadata>
|
|
||||||
<oaf:entity xmlns:oaf="http://namespace.openaire.eu/oaf"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://namespace.openaire.eu/oaf http://namespace.openaire.eu/oaf http://www.openaire.eu/schema/0.2/oaf-0.2.xsd">
|
|
||||||
|
|
||||||
<oaf:result>
|
|
||||||
<collectedfrom name="Crossref" id="openaire____::081b82f96300b6a6e3d282bad31cb6e2"/>
|
|
||||||
<collectedfrom name="UnpayWall" id="openaire____::8ac8380272269217cb09a928c8caa993"/>
|
|
||||||
<collectedfrom name="ORCID" id="openaire____::806360c771262b4d6770e7cdf04b5c5a"/>
|
|
||||||
<collectedfrom name="Microsoft Academic Graph" id="openaire____::5f532a3fc4f1ea403f37070f59a7a53a"/>
|
|
||||||
<collectedfrom name="Oxford University Research Archive"
|
|
||||||
id="opendoar____::2290a7385ed77cc5592dc2153229f082"/>
|
|
||||||
<collectedfrom name="PubMed Central" id="opendoar____::eda80a3d5b344bc40f3bc04f65b7a357"/>
|
|
||||||
<collectedfrom name="Europe PubMed Central" id="opendoar____::8b6dd7db9af49e67306feb59a8bdc52c"/>
|
|
||||||
<originalId>10.1098/rsta.2020.0257</originalId>
|
|
||||||
<originalId>50|doiboost____::e225555a08a082ad8f53f179bc59c5d0</originalId>
|
|
||||||
<originalId>3211056089</originalId>
|
|
||||||
<originalId>50|od______1064::83eb0f76b60445d72bb7428a1b68ef1a</originalId>
|
|
||||||
<originalId>oai:ora.ox.ac.uk:uuid:9fc4563a-07e1-41d1-8b99-31ce2f8ac027</originalId>
|
|
||||||
<originalId>50|od_______267::6d978e42c57dfc79d61a84ab5be28cb8</originalId>
|
|
||||||
<originalId>oai:pubmedcentral.nih.gov:8543046</originalId>
|
|
||||||
<originalId>od_______267::6d978e42c57dfc79d61a84ab5be28cb8</originalId>
|
|
||||||
<originalId>34689630</originalId>
|
|
||||||
<originalId>PMC8543046</originalId>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types">10.1098/rsta.2020.0257
|
|
||||||
</pid>
|
|
||||||
<pid classid="pmc" classname="PubMed Central ID" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:crosswalk:repository"
|
|
||||||
trust="0.9">PMC8543046
|
|
||||||
</pid>
|
|
||||||
<pid classid="pmid" classname="PubMed ID" schemeid="dnet:pid_types" schemename="dnet:pid_types"
|
|
||||||
inferred="false" provenanceaction="sysimport:crosswalk:repository" trust="0.9">34689630
|
|
||||||
</pid>
|
|
||||||
<measure id="influence" score="5.534974E-9" class="C"/>
|
|
||||||
<measure id="popularity" score="2.0811036E-8" class="C"/>
|
|
||||||
<measure id="influence_alt" score="8" class="C"/>
|
|
||||||
<measure id="popularity_alt" score="2.736" class="C"/>
|
|
||||||
<measure id="impulse" score="8" class="C"/>
|
|
||||||
<measure id="downloads" count="1"/>
|
|
||||||
<measure id="views" count="4"/>
|
|
||||||
<title classid="alternative title" classname="alternative title" schemeid="dnet:dataCite_title"
|
|
||||||
schemename="dnet:dataCite_title">A completely automated pipeline for 3D reconstruction of
|
|
||||||
human heart from 2D cine magnetic resonance slices.
|
|
||||||
</title>
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title"
|
|
||||||
schemename="dnet:dataCite_title">A completely automated pipeline for 3D reconstruction of
|
|
||||||
human heart from 2D cine magnetic resonance slices
|
|
||||||
</title>
|
|
||||||
<bestaccessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes"
|
|
||||||
schemename="dnet:access_modes"/>
|
|
||||||
<creator rank="8" URL="https://academic.microsoft.com/#/detail/2103042895">Vicente Grau</creator>
|
|
||||||
<creator rank="1" orcid="0000-0001-8198-5128"
|
|
||||||
URL="https://academic.microsoft.com/#/detail/2693349397">Abhirup Banerjee
|
|
||||||
</creator>
|
|
||||||
<creator rank="3" URL="https://academic.microsoft.com/#/detail/1425738153">Ernesto Zacur</creator>
|
|
||||||
<creator rank="6" URL="https://academic.microsoft.com/#/detail/2043191934">Robin P. Choudhury
|
|
||||||
</creator>
|
|
||||||
<creator rank="7" URL="https://academic.microsoft.com/#/detail/2166186014">Blanca Rodriguez
|
|
||||||
</creator>
|
|
||||||
<creator rank="2" URL="https://academic.microsoft.com/#/detail/2889449215">Julia Camps</creator>
|
|
||||||
<creator rank="5" URL="https://academic.microsoft.com/#/detail/264390263">Yoram Rudy</creator>
|
|
||||||
<creator rank="4" URL="https://academic.microsoft.com/#/detail/2713879776">Christopher M. Andrews
|
|
||||||
</creator>
|
|
||||||
<country classid="GB" classname="United Kingdom" schemeid="dnet:countries"
|
|
||||||
schemename="dnet:countries"/>
|
|
||||||
<dateofacceptance>2021-10-01</dateofacceptance>
|
|
||||||
<description>Cardiac magnetic resonance (CMR) imaging is a valuable modality in the diagnosis and
|
|
||||||
characterization of cardiovascular diseases, since it can identify abnormalities in structure
|
|
||||||
and function of the myocardium non-invasively and without the need for ionizing radiation.
|
|
||||||
However, in clinical practice, it is commonly acquired as a collection of separated and
|
|
||||||
independent 2D image planes, which limits its accuracy in 3D analysis. This paper presents a
|
|
||||||
completely automated pipeline for generating patient-specific 3D biventricular heart models from
|
|
||||||
cine magnetic resonance (MR) slices. Our pipeline automatically selects the relevant cine MR
|
|
||||||
images, segments them using a deep learning-based method to extract the heart contours, and
|
|
||||||
aligns the contours in 3D space correcting possible misalignments due to breathing or subject
|
|
||||||
motion first using the intensity and contours information from the cine data and next with the
|
|
||||||
help of a statistical shape model. Finally, the sparse 3D representation of the contours is used
|
|
||||||
to generate a smooth 3D biventricular mesh. The computational pipeline is applied and evaluated
|
|
||||||
in a CMR dataset of 20 healthy subjects. Our results show an average reduction of misalignment
|
|
||||||
artefacts from 1.82 ± 1.60 mm to 0.72 ± 0.73 mm over 20 subjects, in terms of distance from the
|
|
||||||
final reconstructed mesh. The high-resolution 3D biventricular meshes obtained with our
|
|
||||||
computational pipeline are used for simulations of electrical activation patterns, showing
|
|
||||||
agreement with non-invasive electrocardiographic imaging. The automatic methodologies presented
|
|
||||||
here for patient-specific MR imaging-based 3D biventricular representations contribute to the
|
|
||||||
efficient realization of precision medicine, enabling the enhanced interpretability of clinical
|
|
||||||
data, the digital twin vision through patient-specific image-based modelling and simulation, and
|
|
||||||
augmented reality applications.
|
|
||||||
This article is part of the theme issue ‘Advanced computation in cardiovascular physiology: new
|
|
||||||
challenges and opportunities’.
|
|
||||||
</description>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">General Physics and Astronomy
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">General Engineering
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">General Mathematics
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Pipeline (computing)
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Cine mri
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Structure and function
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Cardiac magnetic resonance
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Magnetic resonance imaging
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.5338496">medicine.diagnostic_test
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.5338496">medicine
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Human heart
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Modality (human–computer interaction)
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">3D reconstruction
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Computer science
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Nuclear magnetic resonance
|
|
||||||
</subject>
|
|
||||||
<subject classid="SDG" classname="Sustainable Development Goals"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:sdg">3. Good health
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">03 medical and health sciences
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">0302 clinical medicine
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">030218 Nuclear Medicine &
|
|
||||||
Medical Imaging
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">03021801 Radiology/Image
|
|
||||||
segmentation
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">03021801 Radiology/Image
|
|
||||||
segmentation - deep learning/datum
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">030204 Cardiovascular System
|
|
||||||
& Hematology
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">03020401 Aging-associated
|
|
||||||
diseases/Heart diseases
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">030217 Neurology &
|
|
||||||
Neurosurgery
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">03021701 Brain/Neural circuits
|
|
||||||
</subject>
|
|
||||||
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">Articles
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">Research Articles
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">cardiac mesh reconstruction
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">cine MRI
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">misalignment correction
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">electrophysiological
|
|
||||||
simulation
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">ECGI
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.9">Heart
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.9">Humans
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.9">Imaging, Three-Dimensional
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.9">Magnetic Resonance Imaging
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.9">Magnetic Resonance Imaging, Cine
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.9">Magnetic Resonance Spectroscopy
|
|
||||||
</subject>
|
|
||||||
<language classid="und" classname="Undetermined" schemeid="dnet:languages"
|
|
||||||
schemename="dnet:languages"/>
|
|
||||||
<relevantdate classid="created" classname="created" schemeid="dnet:dataCite_date"
|
|
||||||
schemename="dnet:dataCite_date">2021-10-25
|
|
||||||
</relevantdate>
|
|
||||||
<relevantdate classid="published-online" classname="published-online" schemeid="dnet:dataCite_date"
|
|
||||||
schemename="dnet:dataCite_date">2021-10-25
|
|
||||||
</relevantdate>
|
|
||||||
<relevantdate classid="published-print" classname="published-print" schemeid="dnet:dataCite_date"
|
|
||||||
schemename="dnet:dataCite_date">2021-12-13
|
|
||||||
</relevantdate>
|
|
||||||
<relevantdate classid="UNKNOWN" classname="UNKNOWN" schemeid="dnet:dataCite_date"
|
|
||||||
schemename="dnet:dataCite_date" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">2021-01-01
|
|
||||||
</relevantdate>
|
|
||||||
<relevantdate classid="available" classname="available" schemeid="dnet:dataCite_date"
|
|
||||||
schemename="dnet:dataCite_date" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">2023-01-05
|
|
||||||
</relevantdate>
|
|
||||||
<relevantdate classid="Accepted" classname="Accepted" schemeid="dnet:dataCite_date"
|
|
||||||
schemename="dnet:dataCite_date" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">2021-05-28
|
|
||||||
</relevantdate>
|
|
||||||
<relevantdate classid="issued" classname="issued" schemeid="dnet:dataCite_date"
|
|
||||||
schemename="dnet:dataCite_date" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">2023-01-05
|
|
||||||
</relevantdate>
|
|
||||||
<publisher>The Royal Society</publisher>
|
|
||||||
<source>Crossref</source>
|
|
||||||
<source/>
|
|
||||||
<source>Philosophical transactions. Series A, Mathematical, physical, and engineering sciences
|
|
||||||
</source>
|
|
||||||
<resulttype classid="publication" classname="publication" schemeid="dnet:result_typologies"
|
|
||||||
schemename="dnet:result_typologies"/>
|
|
||||||
<resourcetype classid="UNKNOWN" classname="UNKNOWN" schemeid="dnet:dataCite_resource"
|
|
||||||
schemename="dnet:dataCite_resource"/>
|
|
||||||
<journal issn="1364-503X" eissn="1471-2962" vol="379">Philosophical Transactions of the Royal
|
|
||||||
Society A: Mathematical, Physical and Engineering Sciences
|
|
||||||
</journal>
|
|
||||||
<context id="dth" label="Digital Twins in Health" type="community"></context>
|
|
||||||
<context id="EC" label="European Commission" type="funding">
|
|
||||||
<category id="EC::H2020" label="Horizon 2020 Framework Programme">
|
|
||||||
<concept id="EC::H2020::RIA" label="Research and Innovation action"/>
|
|
||||||
</category>
|
|
||||||
</context>
|
|
||||||
<datainfo>
|
|
||||||
<inferred>true</inferred>
|
|
||||||
<deletedbyinference>false</deletedbyinference>
|
|
||||||
<trust>0.8</trust>
|
|
||||||
<inferenceprovenance>dedup-result-decisiontree-v3</inferenceprovenance>
|
|
||||||
<provenanceaction classid="sysimport:dedup" classname="Inferred by OpenAIRE"
|
|
||||||
schemeid="dnet:provenanceActions" schemename="dnet:provenanceActions"/>
|
|
||||||
</datainfo>
|
|
||||||
<rels>
|
|
||||||
<rel inferred="false" trust="0.9" inferenceprovenance="" provenanceaction="sysimport:actionset">
|
|
||||||
<to class="hasAuthorInstitution" scheme="dnet:result_organization_relations"
|
|
||||||
type="organization">openorgs____::6a7b1b4c40a067a1f209de6867fe094d
|
|
||||||
</to>
|
|
||||||
<country classid="GB" classname="United Kingdom" schemeid="dnet:countries"
|
|
||||||
schemename="dnet:countries"/>
|
|
||||||
<legalname>University of Oxford</legalname>
|
|
||||||
<legalshortname>University of Oxford</legalshortname>
|
|
||||||
</rel>
|
|
||||||
<rel inferred="false" trust="0.9" inferenceprovenance="" provenanceaction="sysimport:actionset">
|
|
||||||
<to class="IsSupplementedBy" scheme="dnet:result_result_relations" type="publication">
|
|
||||||
doi_dedup___::015b27b0b7c55649236bf23a5c75f817
|
|
||||||
</to>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset"
|
|
||||||
trust="0.9">10.6084/m9.figshare.15656924.v2
|
|
||||||
</pid>
|
|
||||||
<dateofacceptance>2021-01-01</dateofacceptance>
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title"
|
|
||||||
schemename="dnet:dataCite_title">Implementation Details of the Reconstruction
|
|
||||||
Pipeline and Electrophysiological Inference Results from A completely automated pipeline
|
|
||||||
for 3D reconstruction of human heart from 2D cine magnetic resonance slices
|
|
||||||
</title>
|
|
||||||
<publisher>The Royal Society</publisher>
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254"/>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset"
|
|
||||||
trust="0.9">10.6084/m9.figshare.15656924
|
|
||||||
</pid>
|
|
||||||
</rel>
|
|
||||||
<rel inferred="false" trust="0.9" inferenceprovenance="" provenanceaction="sysimport:actionset">
|
|
||||||
<to class="isProducedBy" scheme="dnet:result_project_relations" type="project">
|
|
||||||
corda__h2020::27f89b49dee12d828cc0f90f51727204
|
|
||||||
</to>
|
|
||||||
<code>823712</code>
|
|
||||||
<funding>
|
|
||||||
<funder id="ec__________::EC" shortname="EC" name="European Commission"
|
|
||||||
jurisdiction="EU"/>
|
|
||||||
<funding_level_0 name="H2020">ec__________::EC::H2020</funding_level_0>
|
|
||||||
<funding_level_1 name="RIA">ec__________::EC::H2020::RIA</funding_level_1>
|
|
||||||
</funding>
|
|
||||||
<acronym>CompBioMed2</acronym>
|
|
||||||
<title>A Centre of Excellence in Computational Biomedicine</title>
|
|
||||||
</rel>
|
|
||||||
<rel inferred="false" trust="0.9" inferenceprovenance="" provenanceaction="sysimport:actionset">
|
|
||||||
<to class="IsSupplementedBy" scheme="dnet:result_result_relations" type="dataset">
|
|
||||||
doi_dedup___::be1ef3b30a8d7aa7e4dfe1570d5febf7
|
|
||||||
</to>
|
|
||||||
<dateofacceptance>2021-01-01</dateofacceptance>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset"
|
|
||||||
trust="0.9">10.6084/m9.figshare.15656927
|
|
||||||
</pid>
|
|
||||||
<publisher>The Royal Society</publisher>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset"
|
|
||||||
trust="0.9">10.6084/m9.figshare.15656927.v1
|
|
||||||
</pid>
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254"/>
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title"
|
|
||||||
schemename="dnet:dataCite_title">Montage Video of the Stepwise Performance of 3D
|
|
||||||
Reconstruction Pipeline on All 20 Patients from A completely automated pipeline for 3D
|
|
||||||
reconstruction of human heart from 2D cine magnetic resonance slices
|
|
||||||
</title>
|
|
||||||
</rel>
|
|
||||||
<rel inferred="false" trust="0.9" inferenceprovenance="" provenanceaction="sysimport:actionset">
|
|
||||||
<to class="IsSupplementedBy" scheme="dnet:result_result_relations" type="dataset">
|
|
||||||
doi_________::9f9f2328e11d379b14cb888209e33088
|
|
||||||
</to>
|
|
||||||
<dateofacceptance>2021-01-01</dateofacceptance>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset"
|
|
||||||
trust="0.9">10.6084/m9.figshare.15656924.v1
|
|
||||||
</pid>
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title"
|
|
||||||
schemename="dnet:dataCite_title">Implementation Details of the Reconstruction
|
|
||||||
Pipeline and Electrophysiological Inference Results from A completely automated pipeline
|
|
||||||
for 3D reconstruction of human heart from 2D cine magnetic resonance slices
|
|
||||||
</title>
|
|
||||||
<publisher>The Royal Society</publisher>
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254"/>
|
|
||||||
</rel>
|
|
||||||
</rels>
|
|
||||||
<children>
|
|
||||||
<result objidentifier="pmid________::9c855c9c4a8018df23f9d51f879b62b1">
|
|
||||||
<dateofacceptance>2021-10-01</dateofacceptance>
|
|
||||||
<pid classid="pmid" classname="PubMed ID" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">34689630
|
|
||||||
</pid>
|
|
||||||
<collectedfrom name="PubMed Central" id="opendoar____::eda80a3d5b344bc40f3bc04f65b7a357"/>
|
|
||||||
<pid classid="pmid" classname="PubMed ID" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset"
|
|
||||||
trust="0.9">34689630
|
|
||||||
</pid>
|
|
||||||
<publisher>The Royal Society</publisher>
|
|
||||||
<collectedfrom name="Europe PubMed Central"
|
|
||||||
id="opendoar____::8b6dd7db9af49e67306feb59a8bdc52c"/>
|
|
||||||
<pid classid="pmc" classname="PubMed Central ID" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">PMC8543046
|
|
||||||
</pid>
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title"
|
|
||||||
schemename="dnet:dataCite_title" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">A completely automated
|
|
||||||
pipeline for 3D reconstruction of human heart from 2D cine magnetic resonance slices
|
|
||||||
</title>
|
|
||||||
<pid classid="pmc" classname="PubMed Central ID" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset"
|
|
||||||
trust="0.9">PMC8543046
|
|
||||||
</pid>
|
|
||||||
</result>
|
|
||||||
<result objidentifier="od______1064::83eb0f76b60445d72bb7428a1b68ef1a">
|
|
||||||
<dateofacceptance>2023-01-05</dateofacceptance>
|
|
||||||
<publisher>Royal Society</publisher>
|
|
||||||
<collectedfrom name="Oxford University Research Archive"
|
|
||||||
id="opendoar____::2290a7385ed77cc5592dc2153229f082"/>
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title"
|
|
||||||
schemename="dnet:dataCite_title" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">A completely automated
|
|
||||||
pipeline for 3D reconstruction of human heart from 2D cine magnetic resonance slices
|
|
||||||
</title>
|
|
||||||
</result>
|
|
||||||
<result objidentifier="doi_________::e225555a08a082ad8f53f179bc59c5d0">
|
|
||||||
<dateofacceptance>2021-10-25</dateofacceptance>
|
|
||||||
<publisher>The Royal Society</publisher>
|
|
||||||
<collectedfrom name="Crossref" id="openaire____::081b82f96300b6a6e3d282bad31cb6e2"/>
|
|
||||||
<title classid="alternative title" classname="alternative title"
|
|
||||||
schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title">A completely
|
|
||||||
automated pipeline for 3D reconstruction of human heart from 2D cine magnetic resonance
|
|
||||||
slices.
|
|
||||||
</title>
|
|
||||||
<collectedfrom name="UnpayWall" id="openaire____::8ac8380272269217cb09a928c8caa993"/>
|
|
||||||
<collectedfrom name="ORCID" id="openaire____::806360c771262b4d6770e7cdf04b5c5a"/>
|
|
||||||
<collectedfrom name="Microsoft Academic Graph"
|
|
||||||
id="openaire____::5f532a3fc4f1ea403f37070f59a7a53a"/>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types">10.1098/rsta.2020.0257
|
|
||||||
</pid>
|
|
||||||
</result>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes"
|
|
||||||
schemename="dnet:access_modes"/>
|
|
||||||
<collectedfrom name="Oxford University Research Archive"
|
|
||||||
id="opendoar____::2290a7385ed77cc5592dc2153229f082"/>
|
|
||||||
<hostedby name="Oxford University Research Archive"
|
|
||||||
id="opendoar____::2290a7385ed77cc5592dc2153229f082"/>
|
|
||||||
<dateofacceptance>2023-01-05</dateofacceptance>
|
|
||||||
<instancetype classid="0038" classname="Other literature type"
|
|
||||||
schemeid="dnet:publication_resource" schemename="dnet:publication_resource"/>
|
|
||||||
<alternateidentifier classid="pmid" classname="PubMed ID" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">34689630
|
|
||||||
</alternateidentifier>
|
|
||||||
<alternateidentifier classid="doi" classname="Digital Object Identifier"
|
|
||||||
schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">
|
|
||||||
10.1098/rsta.2020.0257
|
|
||||||
</alternateidentifier>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels"
|
|
||||||
schemename="dnet:review_levels"/>
|
|
||||||
<license>http://creativecommons.org/licenses/by/4.0/</license>
|
|
||||||
<webresource>
|
|
||||||
<url>https://ora.ox.ac.uk/objects/uuid:9fc4563a-07e1-41d1-8b99-31ce2f8ac027</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes"
|
|
||||||
schemename="dnet:access_modes"/>
|
|
||||||
<collectedfrom name="UnpayWall" id="openaire____::8ac8380272269217cb09a928c8caa993"/>
|
|
||||||
<hostedby
|
|
||||||
name="Philosophical Transactions of the Royal Society A Mathematical Physical and Engineering Sciences"
|
|
||||||
id="issn___print::c72e72d9860ed6d9ec013e20c9421ba0"/>
|
|
||||||
<instancetype classid="0001" classname="Article" schemeid="dnet:publication_resource"
|
|
||||||
schemename="dnet:publication_resource"/>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types">10.1098/rsta.2020.0257
|
|
||||||
</pid>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels"
|
|
||||||
schemename="dnet:review_levels"/>
|
|
||||||
<webresource>
|
|
||||||
<url>https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8543046</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="CLOSED" classname="Closed Access" schemeid="dnet:access_modes"
|
|
||||||
schemename="dnet:access_modes"/>
|
|
||||||
<collectedfrom name="Crossref" id="openaire____::081b82f96300b6a6e3d282bad31cb6e2"/>
|
|
||||||
<hostedby
|
|
||||||
name="Philosophical Transactions of the Royal Society A Mathematical Physical and Engineering Sciences"
|
|
||||||
id="issn___print::c72e72d9860ed6d9ec013e20c9421ba0"/>
|
|
||||||
<dateofacceptance>2021-10-25</dateofacceptance>
|
|
||||||
<instancetype classid="0001" classname="Article" schemeid="dnet:publication_resource"
|
|
||||||
schemename="dnet:publication_resource"/>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types">10.1098/rsta.2020.0257
|
|
||||||
</pid>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels"
|
|
||||||
schemename="dnet:review_levels"/>
|
|
||||||
<license>https://royalsociety.org/journals/ethics-policies/data-sharing-mining/</license>
|
|
||||||
<webresource>
|
|
||||||
<url>https://doi.org/10.1098/rsta.2020.0257</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="UNKNOWN" classname="not available" schemeid="dnet:access_modes"
|
|
||||||
schemename="dnet:access_modes"/>
|
|
||||||
<collectedfrom name="Europe PubMed Central"
|
|
||||||
id="opendoar____::8b6dd7db9af49e67306feb59a8bdc52c"/>
|
|
||||||
<hostedby name="Unknown Repository" id="openaire____::55045bd2a65019fd8e6741a755395c8c"/>
|
|
||||||
<dateofacceptance>2021-10-25</dateofacceptance>
|
|
||||||
<instancetype classid="0001" classname="Article" schemeid="dnet:publication_resource"
|
|
||||||
schemename="dnet:publication_resource"/>
|
|
||||||
<pid classid="pmid" classname="PubMed ID" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset"
|
|
||||||
trust="0.9">34689630
|
|
||||||
</pid>
|
|
||||||
<pid classid="pmc" classname="PubMed Central ID" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset"
|
|
||||||
trust="0.9">PMC8543046
|
|
||||||
</pid>
|
|
||||||
<alternateidentifier classid="doi" classname="Digital Object Identifier"
|
|
||||||
schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.9">
|
|
||||||
10.1098/rsta.2020.0257
|
|
||||||
</alternateidentifier>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels"
|
|
||||||
schemename="dnet:review_levels"/>
|
|
||||||
<webresource>
|
|
||||||
<url>https://pubmed.ncbi.nlm.nih.gov/34689630</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes"
|
|
||||||
schemename="dnet:access_modes"/>
|
|
||||||
<collectedfrom name="PubMed Central" id="opendoar____::eda80a3d5b344bc40f3bc04f65b7a357"/>
|
|
||||||
<hostedby name="Europe PubMed Central" id="opendoar____::8b6dd7db9af49e67306feb59a8bdc52c"/>
|
|
||||||
<dateofacceptance>2021-10-01</dateofacceptance>
|
|
||||||
<instancetype classid="0001" classname="Article" schemeid="dnet:publication_resource"
|
|
||||||
schemename="dnet:publication_resource"/>
|
|
||||||
<pid classid="pmid" classname="PubMed ID" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">34689630
|
|
||||||
</pid>
|
|
||||||
<pid classid="pmc" classname="PubMed Central ID" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">PMC8543046
|
|
||||||
</pid>
|
|
||||||
<alternateidentifier classid="doi" classname="Digital Object Identifier"
|
|
||||||
schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:repository" trust="0.9">
|
|
||||||
10.1098/rsta.2020.0257
|
|
||||||
</alternateidentifier>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels"
|
|
||||||
schemename="dnet:review_levels"/>
|
|
||||||
<webresource>
|
|
||||||
<url>http://europepmc.org/articles/PMC8543046</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
</children>
|
|
||||||
</oaf:result>
|
|
||||||
</oaf:entity>
|
|
||||||
</metadata>
|
|
||||||
</result>
|
|
||||||
</record>
|
|
|
@ -1,238 +0,0 @@
|
||||||
<record>
|
|
||||||
<result xmlns:dri="http://www.driver-repository.eu/namespace/dri"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<header>
|
|
||||||
<dri:objIdentifier>doi_dedup___::88a9861b26cdda1c3dd162d11f0bedbe</dri:objIdentifier>
|
|
||||||
<dri:dateOfCollection>2023-03-13T00:12:27+0000</dri:dateOfCollection>
|
|
||||||
<dri:dateOfTransformation>2023-03-13T04:39:52.807Z</dri:dateOfTransformation>
|
|
||||||
</header>
|
|
||||||
<metadata>
|
|
||||||
<oaf:entity xmlns:oaf="http://namespace.openaire.eu/oaf"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://namespace.openaire.eu/oaf http://namespace.openaire.eu/oaf http://www.openaire.eu/schema/0.2/oaf-0.2.xsd">
|
|
||||||
|
|
||||||
<oaf:result>
|
|
||||||
<collectedfrom name="NARCIS" id="openaire____::fdb035c8b3e0540a8d9a561a6c44f4de" />
|
|
||||||
<collectedfrom name="Crossref" id="openaire____::081b82f96300b6a6e3d282bad31cb6e2" />
|
|
||||||
<collectedfrom name="UnpayWall" id="openaire____::8ac8380272269217cb09a928c8caa993" />
|
|
||||||
<collectedfrom name="ORCID" id="openaire____::806360c771262b4d6770e7cdf04b5c5a" />
|
|
||||||
<collectedfrom name="Microsoft Academic Graph" id="openaire____::5f532a3fc4f1ea403f37070f59a7a53a" />
|
|
||||||
<collectedfrom name="Europe PubMed Central" id="opendoar____::8b6dd7db9af49e67306feb59a8bdc52c" />
|
|
||||||
<collectedfrom name="NARCIS" id="eurocrisdris::fe4903425d9040f680d8610d9079ea14" />
|
|
||||||
<originalId>oai:pure.eur.nl:publications/70bf9bd0-5ea6-45fd-bb62-8d79b48cd69f</originalId>
|
|
||||||
<originalId>50|narcis______::3df5b8b060b819af0d439dd6751c8a77</originalId>
|
|
||||||
<originalId>10.2196/33081</originalId>
|
|
||||||
<originalId>50|doiboost____::88a9861b26cdda1c3dd162d11f0bedbe</originalId>
|
|
||||||
<originalId>3212148341</originalId>
|
|
||||||
<originalId>od_______267::276eb3ebee07cf1f3e8bfc43926fd0c2</originalId>
|
|
||||||
<originalId>35099399</originalId>
|
|
||||||
<originalId>PMC8844982</originalId>
|
|
||||||
<originalId>oai:services.nod.dans.knaw.nl:Publications/eur:oai:pure.eur.nl:publications/70bf9bd0-5ea6-45fd-bb62-8d79b48cd69f</originalId>
|
|
||||||
<originalId>50|dris___00893::107e97e645cbb06fb7b454ce2569d6c2</originalId>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types">10.2196/33081</pid>
|
|
||||||
<pid classid="pmid" classname="PubMed ID" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">35099399</pid>
|
|
||||||
<pid classid="pmc" classname="PubMed Central ID" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">PMC8844982</pid>
|
|
||||||
<measure id="influence" score="4.9560573E-9" class="C" />
|
|
||||||
<measure id="popularity" score="1.6705286E-8" class="C" />
|
|
||||||
<measure id="influence_alt" score="6" class="C" />
|
|
||||||
<measure id="popularity_alt" score="2.16" class="C" />
|
|
||||||
<measure id="impulse" score="6" class="C" />
|
|
||||||
<title classid="alternative title" classname="alternative title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title">Mapping the Ethical Issues of Digital Twins for Personalised Healthcare Service (Preprint)</title>
|
|
||||||
<title classid="subtitle" classname="subtitle" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title" inferred="false" provenanceaction="sysimport:crosswalk:datasetarchive" trust="0.9">Preliminary Mapping Study</title>
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title" inferred="false" provenanceaction="sysimport:crosswalk:repository" trust="0.9">Ethical Issues of Digital Twins for Personalized Health Care Service: Preliminary Mapping Study</title>
|
|
||||||
<bestaccessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" />
|
|
||||||
<creator rank="2" URL="https://academic.microsoft.com/#/detail/3211925536" orcid="0000-0001-9882-0389">Ki-hun Kim</creator>
|
|
||||||
<creator rank="1" URL="https://academic.microsoft.com/#/detail/3214669734" orcid="0000-0001-5334-8615">Pei-hua Huang</creator>
|
|
||||||
<creator rank="3" URL="https://academic.microsoft.com/#/detail/3214611946" orcid="0000-0003-4283-9659">Maartje Schermer</creator>
|
|
||||||
<contributor>Public Health</contributor>
|
|
||||||
<country classid="NL" classname="Netherlands" schemeid="dnet:countries" schemename="dnet:countries" />
|
|
||||||
<dateofacceptance>2022-01-01</dateofacceptance>
|
|
||||||
<description>Background: The concept of digital twins has great potential for transforming the existing health care system by making it more personalized. As a convergence of health care, artificial intelligence, and information and communication technologies, personalized health care services that are developed under the concept of digital twins raise a myriad of ethical issues. Although some of the ethical issues are known to researchers working on digital health and personalized medicine, currently, there is no comprehensive review that maps the major ethical risks of digital twins for personalized health care services. Objective This study aims to fill the research gap by identifying the major ethical risks of digital twins for personalized health care services. We first propose a working definition for digital twins for personalized health care services to facilitate future discussions on the ethical issues related to these emerging digital health services. We then develop a process-oriented ethical map to identify the major ethical risks in each of the different data processing phases. MethodsWe resorted to the literature on eHealth, personalized medicine, precision medicine, and information engineering to identify potential issues and developed a process-oriented ethical map to structure the inquiry in a more systematic way. The ethical map allows us to see how each of the major ethical concerns emerges during the process of transforming raw data into valuable information. Developers of a digital twin for personalized health care service may use this map to identify ethical risks during the development stage in a more systematic way and can proactively address them. ResultsThis paper provides a working definition of digital twins for personalized health care services by identifying 3 features that distinguish the new application from other eHealth services. On the basis of the working definition, this paper further layouts 10 major operational problems and the corresponding ethical risks. ConclusionsIt is challenging to address all the major ethical risks that a digital twin for a personalized health care service might encounter proactively without a conceptual map at hand. The process-oriented ethical map we propose here can assist the developers of digital twins for personalized health care services in analyzing ethical risks in a more systematic manner. </description>
|
|
||||||
<subject classid="mesh" classname="Medical Subject Headings" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies" inferred="true" inferenceprovenance="iis::document_classes" provenanceaction="iis" trust="0.891">education</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies">Health Informatics</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies">Ethical issues</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies">Healthcare service</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies">Psychology</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies">Internet privacy</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies" inferred="false" provenanceaction="sysimport:actionset" trust="0.4395309">business.industry</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies" inferred="false" provenanceaction="sysimport:actionset" trust="0.4395309">business</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies">Preprint</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">Artificial Intelligence</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">Delivery of Health Care</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">Health Services</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">Humans</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">Precision Medicine</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">Telemedicine</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">03 medical and health sciences</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">0302 clinical medicine
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">030212 General & Internal Medicine
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">03021201 Health care/Health care quality - datum/health care
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">03021201 Health care/Health care quality - datum/electronic health
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">0301 basic medicine
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">030104 Developmental Biology
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">0303 health sciences
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">030304 Developmental Biology
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">030304 Developmental Biology - datum/datum management/ethical
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">06 humanities and the arts</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">0603 philosophy, ethics and religion
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">060301 Applied Ethics
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">06030101 Bioethics/Coordinates on Wikidata - intelligence/artificial intelligence/ethical
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">06030101 Bioethics/Coordinates on Wikidata - datum/ethical
|
|
||||||
</subject>
|
|
||||||
|
|
||||||
<language classid="eng" classname="English" schemeid="dnet:languages" schemename="dnet:languages" />
|
|
||||||
<relevantdate classid="created" classname="created" schemeid="dnet:dataCite_date" schemename="dnet:dataCite_date">2021-11-17</relevantdate>
|
|
||||||
<relevantdate classid="published-online" classname="published-online" schemeid="dnet:dataCite_date" schemename="dnet:dataCite_date">2022-01-31</relevantdate>
|
|
||||||
<relevantdate classid="issued" classname="issued" schemeid="dnet:dataCite_date" schemename="dnet:dataCite_date" inferred="false" provenanceaction="sysimport:crosswalk:datasetarchive" trust="0.9">2022-01-01</relevantdate>
|
|
||||||
<source>Crossref</source>
|
|
||||||
<source />
|
|
||||||
<source>Journal of Medical Internet Research, 24(1):e33081. Journal of medical Internet Research</source>
|
|
||||||
<source>urn:issn:1439-4456</source>
|
|
||||||
<source>VOLUME=24;ISSUE=1;ISSN=1439-4456;TITLE=Journal of Medical Internet Research</source>
|
|
||||||
<format>application/pdf</format>
|
|
||||||
<resulttype classid="publication" classname="publication" schemeid="dnet:result_typologies" schemename="dnet:result_typologies" />
|
|
||||||
<resourcetype classid="0001" classname="0001" schemeid="dnet:dataCite_resource" schemename="dnet:dataCite_resource" />
|
|
||||||
<context id="knowmad" label="Knowmad Institut" type="community" />
|
|
||||||
<context id="dth" label="Digital Twins in Health" type="community"/>
|
|
||||||
<datainfo>
|
|
||||||
<inferred>true</inferred>
|
|
||||||
<deletedbyinference>false</deletedbyinference>
|
|
||||||
<trust>0.8</trust>
|
|
||||||
<inferenceprovenance>dedup-result-decisiontree-v3</inferenceprovenance>
|
|
||||||
<provenanceaction classid="sysimport:dedup" classname="Inferred by OpenAIRE" schemeid="dnet:provenanceActions" schemename="dnet:provenanceActions" />
|
|
||||||
</datainfo>
|
|
||||||
<rels />
|
|
||||||
<children>
|
|
||||||
<result objidentifier="narcis______::3df5b8b060b819af0d439dd6751c8a77">
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title" inferred="false" provenanceaction="sysimport:crosswalk:repository" trust="0.9">Ethical Issues of Digital Twins for Personalized Health Care Service: Preliminary Mapping Study</title>
|
|
||||||
<collectedfrom name="NARCIS" id="openaire____::fdb035c8b3e0540a8d9a561a6c44f4de" />
|
|
||||||
<dateofacceptance>2022-01-01</dateofacceptance>
|
|
||||||
</result>
|
|
||||||
<result objidentifier="pmid________::70f4213809e44f787bf9f6ffa50ff98f">
|
|
||||||
<pid classid="pmc" classname="PubMed Central ID" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">PMC8844982</pid>
|
|
||||||
<collectedfrom name="Europe PubMed Central" id="opendoar____::8b6dd7db9af49e67306feb59a8bdc52c" />
|
|
||||||
<dateofacceptance>2021-08-23</dateofacceptance>
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">Ethical Issues of Digital Twins for Personalized Health Care Service: Preliminary Mapping Study.</title>
|
|
||||||
<pid classid="pmid" classname="PubMed ID" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">35099399</pid>
|
|
||||||
</result>
|
|
||||||
<result objidentifier="dris___00893::107e97e645cbb06fb7b454ce2569d6c2">
|
|
||||||
<title classid="subtitle" classname="subtitle" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title" inferred="false" provenanceaction="sysimport:crosswalk:datasetarchive" trust="0.9">Preliminary Mapping Study</title>
|
|
||||||
<dateofacceptance>2022-01-01</dateofacceptance>
|
|
||||||
<collectedfrom name="NARCIS" id="eurocrisdris::fe4903425d9040f680d8610d9079ea14" />
|
|
||||||
</result>
|
|
||||||
<result objidentifier="doi_________::88a9861b26cdda1c3dd162d11f0bedbe">
|
|
||||||
<dateofacceptance>2022-01-31</dateofacceptance>
|
|
||||||
<title classid="alternative title" classname="alternative title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title">Mapping the Ethical Issues of Digital Twins for Personalised Healthcare Service (Preprint)</title>
|
|
||||||
<collectedfrom name="Crossref" id="openaire____::081b82f96300b6a6e3d282bad31cb6e2" />
|
|
||||||
<collectedfrom name="UnpayWall" id="openaire____::8ac8380272269217cb09a928c8caa993" />
|
|
||||||
<collectedfrom name="ORCID" id="openaire____::806360c771262b4d6770e7cdf04b5c5a" />
|
|
||||||
<collectedfrom name="Microsoft Academic Graph" id="openaire____::5f532a3fc4f1ea403f37070f59a7a53a" />
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types">10.2196/33081</pid>
|
|
||||||
<publisher>JMIR Publications Inc.</publisher>
|
|
||||||
</result>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" />
|
|
||||||
<collectedfrom name="Europe PubMed Central" id="opendoar____::8b6dd7db9af49e67306feb59a8bdc52c" />
|
|
||||||
<hostedby name="Journal of Medical Internet Research" id="doajarticles::972bc6f95b43b5ad42f75695b1d8e948" />
|
|
||||||
<dateofacceptance>2021-08-23</dateofacceptance>
|
|
||||||
<instancetype classid="0001" classname="Article" schemeid="dnet:publication_resource" schemename="dnet:publication_resource" />
|
|
||||||
<pid classid="pmid" classname="PubMed ID" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">35099399</pid>
|
|
||||||
<pid classid="pmc" classname="PubMed Central ID" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">PMC8844982</pid>
|
|
||||||
<alternateidentifier classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.2196/33081</alternateidentifier>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels" schemename="dnet:review_levels" />
|
|
||||||
<webresource>
|
|
||||||
<url>https://pubmed.ncbi.nlm.nih.gov/35099399</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" />
|
|
||||||
<collectedfrom name="Crossref" id="openaire____::081b82f96300b6a6e3d282bad31cb6e2" />
|
|
||||||
<collectedfrom name="NARCIS" id="eurocrisdris::fe4903425d9040f680d8610d9079ea14" />
|
|
||||||
<hostedby name="Journal of Medical Internet Research" id="doajarticles::972bc6f95b43b5ad42f75695b1d8e948" />
|
|
||||||
<dateofacceptance>2022-01-01</dateofacceptance>
|
|
||||||
<dateofacceptance>2022-01-31</dateofacceptance>
|
|
||||||
<instancetype classid="0001" classname="Article" schemeid="dnet:publication_resource" schemename="dnet:publication_resource" />
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types">10.2196/33081</pid>
|
|
||||||
<alternateidentifier classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:crosswalk:datasetarchive" trust="0.9">10.2196/33081</alternateidentifier>
|
|
||||||
<alternateidentifier classid="urn" classname="urn" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:crosswalk:datasetarchive" trust="0.9">urn:nbn:nl:ui:15-70bf9bd0-5ea6-45fd-bb62-8d79b48cd69f</alternateidentifier>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels" schemename="dnet:review_levels" />
|
|
||||||
<webresource>
|
|
||||||
<url>https://doi.org/10.2196/33081</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" />
|
|
||||||
<collectedfrom name="NARCIS" id="openaire____::fdb035c8b3e0540a8d9a561a6c44f4de" />
|
|
||||||
<hostedby name="NARCIS" id="openaire____::fdb035c8b3e0540a8d9a561a6c44f4de" />
|
|
||||||
<dateofacceptance>2022-01-01</dateofacceptance>
|
|
||||||
<instancetype classid="0001" classname="Article" schemeid="dnet:publication_resource" schemename="dnet:publication_resource" />
|
|
||||||
<alternateidentifier classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:crosswalk:repository" trust="0.9">10.2196/33081</alternateidentifier>
|
|
||||||
<alternateidentifier classid="urn" classname="urn" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:crosswalk:repository" trust="0.9">urn:nbn:nl:ui:15-70bf9bd0-5ea6-45fd-bb62-8d79b48cd69f</alternateidentifier>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels" schemename="dnet:review_levels" />
|
|
||||||
<webresource>
|
|
||||||
<url>https://pure.eur.nl/en/publications/70bf9bd0-5ea6-45fd-bb62-8d79b48cd69f</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
</children>
|
|
||||||
</oaf:result>
|
|
||||||
</oaf:entity>
|
|
||||||
</metadata>
|
|
||||||
</result>
|
|
||||||
</record>
|
|
|
@ -1,223 +0,0 @@
|
||||||
<record>
|
|
||||||
<result xmlns:dri="http://www.driver-repository.eu/namespace/dri"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<header>
|
|
||||||
<dri:objIdentifier>doi_________::c166d06aeaed817937a79a400906a4b9</dri:objIdentifier>
|
|
||||||
<dri:dateOfCollection>2023-03-09T00:12:02.045Z</dri:dateOfCollection>
|
|
||||||
<dri:dateOfTransformation>2023-03-09T00:24:00.8Z</dri:dateOfTransformation>
|
|
||||||
</header>
|
|
||||||
<metadata>
|
|
||||||
<oaf:entity xmlns:oaf="http://namespace.openaire.eu/oaf"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://namespace.openaire.eu/oaf http://namespace.openaire.eu/oaf http://www.openaire.eu/schema/0.2/oaf-0.2.xsd">
|
|
||||||
<oaf:result>
|
|
||||||
<collectedfrom name="OpenAPC Global Initiative"
|
|
||||||
id="apc_________::e2b1600b229fc30663c8a1f662debddf"/>
|
|
||||||
<collectedfrom name="Crossref" id="openaire____::081b82f96300b6a6e3d282bad31cb6e2"/>
|
|
||||||
<collectedfrom name="UnpayWall" id="openaire____::8ac8380272269217cb09a928c8caa993"/>
|
|
||||||
<collectedfrom name="ORCID" id="openaire____::806360c771262b4d6770e7cdf04b5c5a"/>
|
|
||||||
<collectedfrom name="Microsoft Academic Graph" id="openaire____::5f532a3fc4f1ea403f37070f59a7a53a"/>
|
|
||||||
<originalId>50|openapc_____::c166d06aeaed817937a79a400906a4b9</originalId>
|
|
||||||
<originalId>10.3390/pr9111967</originalId>
|
|
||||||
<originalId>pr9111967</originalId>
|
|
||||||
<originalId>50|doiboost____::c166d06aeaed817937a79a400906a4b9</originalId>
|
|
||||||
<originalId>3209532762</originalId>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types" inferred="false"
|
|
||||||
provenanceaction="sysimport:crosswalk:datasetarchive" trust="0.9">10.3390/pr9111967
|
|
||||||
</pid>
|
|
||||||
<measure id="influence" score="5.187591E-9" class="C"/>
|
|
||||||
<measure id="popularity" score="2.4479982E-8" class="C"/>
|
|
||||||
<measure id="influence_alt" score="10" class="C"/>
|
|
||||||
<measure id="popularity_alt" score="3.6" class="C"/>
|
|
||||||
<measure id="impulse" score="10" class="C"/>
|
|
||||||
<title classid="alternative title" classname="alternative title" schemeid="dnet:dataCite_title"
|
|
||||||
schemename="dnet:dataCite_title">Digital Twins for Continuous mRNA Production
|
|
||||||
</title>
|
|
||||||
<bestaccessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes"
|
|
||||||
schemename="dnet:access_modes"/>
|
|
||||||
<dateofacceptance>2021-11-04</dateofacceptance>
|
|
||||||
<description>The global coronavirus pandemic continues to restrict public life worldwide. An
|
|
||||||
effective means of limiting the pandemic is vaccination. Messenger ribonucleic acid (mRNA)
|
|
||||||
vaccines currently available on the market have proven to be a well-tolerated and effective
|
|
||||||
class of vaccine against coronavirus type 2 (CoV2). Accordingly, demand is presently
|
|
||||||
outstripping mRNA vaccine production. One way to increase productivity is to switch from the
|
|
||||||
currently performed batch to continuous in vitro transcription, which has proven to be a crucial
|
|
||||||
material-consuming step. In this article, a physico-chemical model of in vitro mRNA
|
|
||||||
transcription in a tubular reactor is presented and compared to classical batch and continuous
|
|
||||||
in vitro transcription in a stirred tank. The three models are validated based on a distinct and
|
|
||||||
quantitative validation workflow. Statistically significant parameters are identified as part of
|
|
||||||
the parameter determination concept. Monte Carlo simulations showed that the model is precise,
|
|
||||||
with a deviation of less than 1%. The advantages of continuous production are pointed out
|
|
||||||
compared to batchwise in vitro transcription by optimization of the space–time yield.
|
|
||||||
Improvements of a factor of 56 (0.011 µM/min) in the case of the continuously stirred tank
|
|
||||||
reactor (CSTR) and 68 (0.013 µM/min) in the case of the plug flow reactor (PFR) were found.
|
|
||||||
</description>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Process Chemistry and Technology
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Chemical Engineering (miscellaneous)
|
|
||||||
</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Bioengineering
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Coronavirus
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.4019353">medicine.disease_cause
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="false"
|
|
||||||
provenanceaction="sysimport:actionset" trust="0.4019353">medicine
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Continuous production
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Messenger RNA
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Continuous stirred-tank reactor
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Plug flow reactor model
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Mathematics
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">In vitro transcription
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Biological system
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Yield (chemistry)
|
|
||||||
</subject>
|
|
||||||
<subject classid="MAG" classname="Microsoft Academic Graph classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies">Public life
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">03 medical and health sciences
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">0301 basic medicine
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">030104 Developmental Biology
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">0303 health sciences
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">030304 Developmental Biology
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">02 engineering and technology
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">0210 nano-technology
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">021001 Nanoscience &
|
|
||||||
Nanotechnology
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">01 natural sciences
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">0104 chemical sciences
|
|
||||||
</subject>
|
|
||||||
<subject classid="FOS" classname="Fields of Science and Technology classification"
|
|
||||||
schemeid="dnet:subject_classification_typologies"
|
|
||||||
schemename="dnet:subject_classification_typologies" inferred="true"
|
|
||||||
inferenceprovenance="update" provenanceaction="subject:fos">010405 Organic Chemistry
|
|
||||||
</subject>
|
|
||||||
<language classid="UNKNOWN" classname="UNKNOWN" schemeid="dnet:languages"
|
|
||||||
schemename="dnet:languages"/>
|
|
||||||
<relevantdate classid="created" classname="created" schemeid="dnet:dataCite_date"
|
|
||||||
schemename="dnet:dataCite_date">2021-11-05
|
|
||||||
</relevantdate>
|
|
||||||
<relevantdate classid="published-online" classname="published-online" schemeid="dnet:dataCite_date"
|
|
||||||
schemename="dnet:dataCite_date">2021-11-04
|
|
||||||
</relevantdate>
|
|
||||||
<source>Crossref</source>
|
|
||||||
<source/>
|
|
||||||
<resulttype classid="publication" classname="publication" schemeid="dnet:result_typologies"
|
|
||||||
schemename="dnet:result_typologies"/>
|
|
||||||
<resourcetype classid="0001" classname="Article" schemeid="dnet:publication_resource"
|
|
||||||
schemename="dnet:publication_resource"/>
|
|
||||||
<processingchargeamount>2146.08</processingchargeamount>
|
|
||||||
<processingchargecurrency>EUR</processingchargecurrency>
|
|
||||||
<journal issn="2227-9717">Processes</journal>
|
|
||||||
<context id="covid-19" label="COVID-19" type="community"/>
|
|
||||||
<context id="dth" label="Digital Twins in Health" type="community"/>
|
|
||||||
<datainfo>
|
|
||||||
<inferred>false</inferred>
|
|
||||||
<deletedbyinference>false</deletedbyinference>
|
|
||||||
<trust>0.9</trust>
|
|
||||||
<inferenceprovenance>null</inferenceprovenance>
|
|
||||||
<provenanceaction classid="sysimport:actionset" classname="Harvested"
|
|
||||||
schemeid="dnet:provenanceActions" schemename="dnet:provenanceActions"/>
|
|
||||||
</datainfo>
|
|
||||||
<rels/>
|
|
||||||
<children>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes"
|
|
||||||
schemename="dnet:access_modes"/>
|
|
||||||
<collectedfrom name="Crossref" id="openaire____::081b82f96300b6a6e3d282bad31cb6e2"/>
|
|
||||||
<hostedby name="Processes" id="doajarticles::9c4841602dcae937ac9c86cfb03c5ee1"/>
|
|
||||||
<dateofacceptance>2021-11-04</dateofacceptance>
|
|
||||||
<instancetype classid="0001" classname="Article" schemeid="dnet:publication_resource"
|
|
||||||
schemename="dnet:publication_resource"/>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types"
|
|
||||||
schemename="dnet:pid_types">10.3390/pr9111967
|
|
||||||
</pid>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels"
|
|
||||||
schemename="dnet:review_levels"/>
|
|
||||||
<license>https://creativecommons.org/licenses/by/4.0/</license>
|
|
||||||
<webresource>
|
|
||||||
<url>https://doi.org/10.3390/pr9111967</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
</children>
|
|
||||||
</oaf:result>
|
|
||||||
</oaf:entity>
|
|
||||||
</metadata>
|
|
||||||
</result>
|
|
||||||
</record>
|
|
|
@ -1,138 +0,0 @@
|
||||||
<record>
|
|
||||||
<result xmlns:dri="http://www.driver-repository.eu/namespace/dri"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<header>
|
|
||||||
<dri:objIdentifier>doi_dedup___::10a910f4a66b7f4bce8407d7a486a80a</dri:objIdentifier>
|
|
||||||
<dri:dateOfCollection>2023-04-05T00:36:27+0000</dri:dateOfCollection>
|
|
||||||
<dri:dateOfTransformation>2023-04-05T07:33:52.185Z</dri:dateOfTransformation>
|
|
||||||
</header>
|
|
||||||
<metadata>
|
|
||||||
<oaf:entity xmlns:oaf="http://namespace.openaire.eu/oaf"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://namespace.openaire.eu/oaf http://namespace.openaire.eu/oaf http://www.openaire.eu/schema/0.2/oaf-0.2.xsd">
|
|
||||||
|
|
||||||
<oaf:result>
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254" />
|
|
||||||
<originalId>50|datacite____::10a910f4a66b7f4bce8407d7a486a80a</originalId>
|
|
||||||
<originalId>10.5281/zenodo.6967373</originalId>
|
|
||||||
<originalId>50|datacite____::172969c66c312a9656fc745f0ec62ce5</originalId>
|
|
||||||
<originalId>10.5281/zenodo.6969999</originalId>
|
|
||||||
<originalId>50|datacite____::4fa8f1c89ff11e8e99f9ded870ade80d</originalId>
|
|
||||||
<originalId>10.5281/zenodo.6967372</originalId>
|
|
||||||
<originalId>50|datacite____::a466b6173773d742b7a5881682748a8c</originalId>
|
|
||||||
<originalId>10.5281/zenodo.6970067</originalId>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6967373</pid>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6969999</pid>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6967372</pid>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6970067</pid>
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title">Sentinel-3 NDVI ARD and Long Term Statistics (1999-2019) from the Copernicus Global Land Service over Lombardia</title>
|
|
||||||
<bestaccessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" />
|
|
||||||
<creator rank="1">Marasco Pier Lorenzo</creator>
|
|
||||||
<dateofacceptance>2022-08-05</dateofacceptance>
|
|
||||||
<description>Sentinel-3 NDVI Analysis Ready Data (ARD) (C_GLS_NDVI_20220101_20220701_Lombardia_S3_2.nc) product provided by the Copernicus Global Land Service [3]. The file C_GLS_NDVI_20220101_20220701_Lombardia_S3_2_masked.nc is derived from C_GLS_NDVI_20220101_20220701_Lombardia_S3_2.nc but values have been scaled (raw_value * ( 1/250) - 0.08) and values lower then -0.08 and greater than 0.92 have been removed (set to missing values). The original dataset can also be discovered through the OpenEO API[5] from the CGLS distributor VITO [4]. Access is free of charge but an EGI registration is needed. The file called Italy.geojson has been created using the Global Administrative Unit Layers GAUL G2015_2014 provided by FAO-UN (see Documentation). It only contains information related to Italy. Further info about drought indexes can be found in the Integrated Drought Management Programme [5] [1] Application of vegetation index and brightness temperature for drought detection [2] NDVI [3] Copernicus Global Land Service [4] Vito [5] OpenEO [5] Integrated Drought Management</description>
|
|
||||||
<description>These datasets are used for training purposes. See https://pangeo-data.github.io/foss4g-2022/intro.html</description>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies">NDVI</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies">vegetaion</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies">Copernicus Global Land Service</subject>
|
|
||||||
<subject classid="keyword" classname="keyword" schemeid="dnet:subject_classification_typologies" schemename="dnet:subject_classification_typologies">pangeo</subject>
|
|
||||||
<language classid="eng" classname="English" schemeid="dnet:languages" schemename="dnet:languages" />
|
|
||||||
<relevantdate classid="issued" classname="issued" schemeid="dnet:dataCite_date" schemename="dnet:dataCite_date">2022-08-05</relevantdate>
|
|
||||||
<publisher>Zenodo</publisher>
|
|
||||||
<resulttype classid="dataset" classname="dataset" schemeid="dnet:result_typologies" schemename="dnet:result_typologies" />
|
|
||||||
<resourcetype classid="UNKNOWN" classname="Unknown" schemeid="dnet:dataCite_resource" schemename="dnet:dataCite_resource" />
|
|
||||||
<eoscifguidelines code="EOSC::Jupyter Notebook" label="EOSC::Jupyter Notebook" semanticrelation="compliesWith" />
|
|
||||||
<datainfo>
|
|
||||||
<inferred>true</inferred>
|
|
||||||
<deletedbyinference>false</deletedbyinference>
|
|
||||||
<trust>0.8</trust>
|
|
||||||
<inferenceprovenance>dedup-result-decisiontree-v3</inferenceprovenance>
|
|
||||||
<provenanceaction classid="sysimport:dedup" classname="Inferred by OpenAIRE" schemeid="dnet:provenanceActions" schemename="dnet:provenanceActions" />
|
|
||||||
</datainfo>
|
|
||||||
<rels></rels>
|
|
||||||
<children>
|
|
||||||
<result objidentifier="doi_________::4fa8f1c89ff11e8e99f9ded870ade80d">
|
|
||||||
<publisher>Zenodo</publisher>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6967372</pid>
|
|
||||||
<dateofacceptance>2022-08-05</dateofacceptance>
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254" />
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title">Sentinel-3 NDVI ARD and Long Term Statistics (1999-2019) from the Copernicus Global Land Service over Lombardia</title>
|
|
||||||
</result>
|
|
||||||
<result objidentifier="doi_________::a466b6173773d742b7a5881682748a8c">
|
|
||||||
<publisher>Zenodo</publisher>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6970067</pid>
|
|
||||||
<dateofacceptance>2022-08-05</dateofacceptance>
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254" />
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title">Sentinel-3 NDVI ARD and Long Term Statistics (1999-2019) from the Copernicus Global Land Service over Lombardia</title>
|
|
||||||
</result>
|
|
||||||
<result objidentifier="doi_________::172969c66c312a9656fc745f0ec62ce5">
|
|
||||||
<publisher>Zenodo</publisher>
|
|
||||||
<dateofacceptance>2022-08-05</dateofacceptance>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6969999</pid>
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254" />
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title">Sentinel-3 NDVI ARD and Long Term Statistics (1999-2019) from the Copernicus Global Land Service over Lombardia</title>
|
|
||||||
</result>
|
|
||||||
<result objidentifier="doi_________::10a910f4a66b7f4bce8407d7a486a80a">
|
|
||||||
<publisher>Zenodo</publisher>
|
|
||||||
<dateofacceptance>2022-08-05</dateofacceptance>
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254" />
|
|
||||||
<title classid="main title" classname="main title" schemeid="dnet:dataCite_title" schemename="dnet:dataCite_title">Sentinel-3 NDVI ARD and Long Term Statistics (1999-2019) from the Copernicus Global Land Service over Lombardia</title>
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6967373</pid>
|
|
||||||
</result>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" />
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254" />
|
|
||||||
<hostedby name="ZENODO" id="opendoar____::358aee4cc897452c00244351e4d91f69" />
|
|
||||||
<dateofacceptance>2022-08-05</dateofacceptance>
|
|
||||||
<instancetype classid="0021" classname="Dataset" schemeid="dnet:publication_resource" schemename="dnet:publication_resource" />
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6967373</pid>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels" schemename="dnet:review_levels" />
|
|
||||||
<license>https://creativecommons.org/licenses/by/4.0/legalcode</license>
|
|
||||||
<webresource>
|
|
||||||
<url>https://doi.org/10.5281/zenodo.6967373</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" />
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254" />
|
|
||||||
<hostedby name="ZENODO" id="opendoar____::358aee4cc897452c00244351e4d91f69" />
|
|
||||||
<dateofacceptance>2022-08-05</dateofacceptance>
|
|
||||||
<instancetype classid="0021" classname="Dataset" schemeid="dnet:publication_resource" schemename="dnet:publication_resource" />
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6970067</pid>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels" schemename="dnet:review_levels" />
|
|
||||||
<license>https://creativecommons.org/licenses/by/4.0/legalcode</license>
|
|
||||||
<webresource>
|
|
||||||
<url>https://doi.org/10.5281/zenodo.6970067</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" />
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254" />
|
|
||||||
<hostedby name="ZENODO" id="opendoar____::358aee4cc897452c00244351e4d91f69" />
|
|
||||||
<dateofacceptance>2022-08-05</dateofacceptance>
|
|
||||||
<instancetype classid="0021" classname="Dataset" schemeid="dnet:publication_resource" schemename="dnet:publication_resource" />
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6969999</pid>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels" schemename="dnet:review_levels" />
|
|
||||||
<license>https://creativecommons.org/licenses/by/4.0/legalcode</license>
|
|
||||||
<webresource>
|
|
||||||
<url>https://doi.org/10.5281/zenodo.6969999</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
<instance>
|
|
||||||
<accessright classid="OPEN" classname="Open Access" schemeid="dnet:access_modes" schemename="dnet:access_modes" />
|
|
||||||
<collectedfrom name="Datacite" id="openaire____::9e3be59865b2c1c335d32dae2fe7b254" />
|
|
||||||
<hostedby name="ZENODO" id="opendoar____::358aee4cc897452c00244351e4d91f69" />
|
|
||||||
<dateofacceptance>2022-08-05</dateofacceptance>
|
|
||||||
<instancetype classid="0021" classname="Dataset" schemeid="dnet:publication_resource" schemename="dnet:publication_resource" />
|
|
||||||
<pid classid="doi" classname="Digital Object Identifier" schemeid="dnet:pid_types" schemename="dnet:pid_types" inferred="false" provenanceaction="sysimport:actionset" trust="0.9">10.5281/zenodo.6967372</pid>
|
|
||||||
<refereed classid="0000" classname="UNKNOWN" schemeid="dnet:review_levels" schemename="dnet:review_levels" />
|
|
||||||
<license>https://creativecommons.org/licenses/by/4.0/legalcode</license>
|
|
||||||
<webresource>
|
|
||||||
<url>https://doi.org/10.5281/zenodo.6967372</url>
|
|
||||||
</webresource>
|
|
||||||
</instance>
|
|
||||||
</children>
|
|
||||||
</oaf:result>
|
|
||||||
</oaf:entity>
|
|
||||||
</metadata>
|
|
||||||
</result>
|
|
||||||
</record>
|
|
|
@ -68,15 +68,12 @@
|
||||||
<FIELD copy="true" indexable="false" name="externalreflabel" result="false" stat="false" tokenizable="true" xpath="distinct-values(//*[local-name()='entity']/*//children/externalreference/label)"/>
|
<FIELD copy="true" indexable="false" name="externalreflabel" result="false" stat="false" tokenizable="true" xpath="distinct-values(//*[local-name()='entity']/*//children/externalreference/label)"/>
|
||||||
<FIELD copy="true" indexable="true" name="resultidentifier" result="false" stat="false" type="string_ci" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/children/instance/webresource/*[local-name()='url'])"/>
|
<FIELD copy="true" indexable="true" name="resultidentifier" result="false" stat="false" type="string_ci" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/children/instance/webresource/*[local-name()='url'])"/>
|
||||||
<FIELD copy="true" indexable="false" name="resultsource" result="false" stat="false" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/source)"/>
|
<FIELD copy="true" indexable="false" name="resultsource" result="false" stat="false" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/source)"/>
|
||||||
|
|
||||||
<FIELD indexable="true" multivalued="false" name="isgreen" result="false" stat="false" type="boolean" value="//*[local-name()='entity']/*[local-name()='result']/isgreen"/>
|
<FIELD indexable="true" multivalued="false" name="isgreen" result="false" stat="false" type="boolean" value="//*[local-name()='entity']/*[local-name()='result']/isgreen"/>
|
||||||
<FIELD indexable="true" multivalued="false" name="openaccesscolor" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='result']/openaccesscolor"/>
|
<FIELD indexable="true" multivalued="false" name="openaccesscolor" result="false" stat="false" tokenizable="false" value="//*[local-name()='entity']/*[local-name()='result']/openaccesscolor"/>
|
||||||
<FIELD indexable="true" multivalued="false" name="isindiamondjournal" result="false" stat="false" type="boolean" value="//*[local-name()='entity']/*[local-name()='result']/isindiamondjournal"/>
|
<FIELD indexable="true" multivalued="false" name="isindiamondjournal" result="false" stat="false" type="boolean" value="//*[local-name()='entity']/*[local-name()='result']/isindiamondjournal"/>
|
||||||
<FIELD indexable="true" multivalued="false" name="publiclyfunded" result="false" stat="false" type="boolean" value="//*[local-name()='entity']/*[local-name()='result']/publiclyfunded"/>
|
<FIELD indexable="true" multivalued="false" name="publiclyfunded" result="false" stat="false" type="boolean" value="//*[local-name()='entity']/*[local-name()='result']/publiclyfunded"/>
|
||||||
|
|
||||||
<FIELD indexable="true" multivalued="false" name="peerreviewed" result="false" stat="false" type="boolean" value="some $refereed in //*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='refereed']/@classid satisfies ($refereed = '0001')"/>
|
<FIELD indexable="true" multivalued="false" name="peerreviewed" result="false" stat="false" type="boolean" value="some $refereed in //*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='refereed']/@classid satisfies ($refereed = '0001')"/>
|
||||||
|
<FIELD indexable="true" multivalued="false" name="haslicense" result="false" stat="false" type="boolean" value="some $license in //*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='license']/text() satisfies (string-length($license) > 0)"/>
|
||||||
|
|
||||||
<FIELD indexable="true" name="eoscifguidelines" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name() = 'result']/eoscifguidelines/@code)"/><!-- FOS and SDGs non tokenizable for faceted search-->
|
<FIELD indexable="true" name="eoscifguidelines" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name() = 'result']/eoscifguidelines/@code)"/><!-- FOS and SDGs non tokenizable for faceted search-->
|
||||||
<FIELD indexable="true" name="fos" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/subject[@classid='FOS'])"/>
|
<FIELD indexable="true" name="fos" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/subject[@classid='FOS'])"/>
|
||||||
<FIELD indexable="true" name="foslabel" result="false" stat="false" tokenizable="false" value="concat(./text(), '||', replace(./text(), '^\d+\s', ''))" xpath="//*[local-name()='entity']/*[local-name()='result']/subject[@classid='FOS']"/>
|
<FIELD indexable="true" name="foslabel" result="false" stat="false" tokenizable="false" value="concat(./text(), '||', replace(./text(), '^\d+\s', ''))" xpath="//*[local-name()='entity']/*[local-name()='result']/subject[@classid='FOS']"/>
|
||||||
|
@ -93,6 +90,7 @@
|
||||||
<FIELD indexable="true" name="relorganizationid" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*//rel/to[@type='organization'])"/>
|
<FIELD indexable="true" name="relorganizationid" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*//rel/to[@type='organization'])"/>
|
||||||
<FIELD copy="true" indexable="true" name="relorganizationname" result="false" stat="false" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='organization']/legalname)"/>
|
<FIELD copy="true" indexable="true" name="relorganizationname" result="false" stat="false" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='organization']/legalname)"/>
|
||||||
<FIELD copy="true" indexable="true" name="relorganizationshortname" result="false" stat="false" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='organization']/legalshortname)"/>
|
<FIELD copy="true" indexable="true" name="relorganizationshortname" result="false" stat="false" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='organization']/legalshortname)"/>
|
||||||
|
<FIELD indexable="true" name="relorganization" result="false" stat="false" tokenizable="false" value="distinct-values(concat(./to, '||', ./legalname))" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']"/>
|
||||||
<FIELD indexable="true" name="relresultid" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*//rel/to[@type='publication' or @type='dataset' or @type='software' or @type='otherresearchproduct'])"/>
|
<FIELD indexable="true" name="relresultid" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*//rel/to[@type='publication' or @type='dataset' or @type='software' or @type='otherresearchproduct'])"/>
|
||||||
<FIELD indexable="true" name="relresulttype" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*//rel/to/@type)"/>
|
<FIELD indexable="true" name="relresulttype" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*//rel/to/@type)"/>
|
||||||
<FIELD indexable="true" name="relclass" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*//rel/to/@class)"/>
|
<FIELD indexable="true" name="relclass" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*//rel/to/@class)"/>
|
||||||
|
@ -122,6 +120,7 @@
|
||||||
<FIELD indexable="true" name="categoryid" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/context/category/@id)"/>
|
<FIELD indexable="true" name="categoryid" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/context/category/@id)"/>
|
||||||
<FIELD indexable="true" name="conceptname" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/context/category//concept/@label)"/><!-- new index field for country info from different xpaths for any type of entity -->
|
<FIELD indexable="true" name="conceptname" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/context/category//concept/@label)"/><!-- new index field for country info from different xpaths for any type of entity -->
|
||||||
<FIELD indexable="true" name="country" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*/country/@classid | //*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classid | //*[local-name()='entity']//funder/@jurisdiction)"/>
|
<FIELD indexable="true" name="country" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*/country/@classid | //*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classid | //*[local-name()='entity']//funder/@jurisdiction)"/>
|
||||||
|
<FIELD indexable="true" name="countrynojurisdiction" result="false" stat="false" tokenizable="false" xpath="distinct-values(//*[local-name()='entity']/*/country/@classid | //*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classid)"/>
|
||||||
<FIELD indexable="false" name="oafentity" result="true" stat="false" tokenizable="false" xpath="//*[local-name() = 'entity']"/><!-- impact indicators -->
|
<FIELD indexable="false" name="oafentity" result="true" stat="false" tokenizable="false" xpath="//*[local-name() = 'entity']"/><!-- impact indicators -->
|
||||||
<FIELD copy="false" indexable="true" multivalued="false" name="influence" result="false" stat="false" type="pfloat" xpath="//measure[@id='influence']/@score/number()"/>
|
<FIELD copy="false" indexable="true" multivalued="false" name="influence" result="false" stat="false" type="pfloat" xpath="//measure[@id='influence']/@score/number()"/>
|
||||||
<FIELD copy="false" indexable="true" multivalued="false" name="influence_class" result="false" stat="false" type="string" xpath="//measure[@id='influence']/@class/string()"/>
|
<FIELD copy="false" indexable="true" multivalued="false" name="influence_class" result="false" stat="false" type="string" xpath="//measure[@id='influence']/@class/string()"/>
|
||||||
|
|
|
@ -1,33 +1,13 @@
|
||||||
{
|
{
|
||||||
"eoscifguidelines": [
|
"eoscifguidelines": [
|
||||||
{
|
{
|
||||||
"code": "EOSC::Jupyter Notebook",
|
"code" : "EOSC::Jupyter Notebook",
|
||||||
"label": "EOSC::Jupyter Notebook",
|
"label" : "EOSC::Jupyter Notebook",
|
||||||
"url": "",
|
"url" : "",
|
||||||
"semanticRelation": "compliesWith"
|
"semanticRelation" : "compliesWith"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"measures": [
|
"measures": [
|
||||||
{
|
|
||||||
"id": "downloads",
|
|
||||||
"unit": [
|
|
||||||
{
|
|
||||||
"key": "fakeds",
|
|
||||||
"value": "10",
|
|
||||||
"dataInfo": null
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "views",
|
|
||||||
"unit": [
|
|
||||||
{
|
|
||||||
"key": "fakedss",
|
|
||||||
"value": "0",
|
|
||||||
"dataInfo": null
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "influence",
|
"id": "influence",
|
||||||
"unit": [
|
"unit": [
|
||||||
|
@ -451,26 +431,7 @@
|
||||||
"value": "VIRTA"
|
"value": "VIRTA"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"context": [
|
"context": [],
|
||||||
{
|
|
||||||
"id": "eosc",
|
|
||||||
"dataInfo": [
|
|
||||||
{
|
|
||||||
"invisible": false,
|
|
||||||
"inferred": false,
|
|
||||||
"deletedbyinference": false,
|
|
||||||
"trust": "0.9",
|
|
||||||
"inferenceprovenance": "",
|
|
||||||
"provenanceaction": {
|
|
||||||
"classid": "sysimport:crosswalk",
|
|
||||||
"classname": "sysimport:crosswalk",
|
|
||||||
"schemeid": "dnet:provenanceActions",
|
|
||||||
"schemename": "dnet:provenanceActions"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"contributor": [],
|
"contributor": [],
|
||||||
"country": [],
|
"country": [],
|
||||||
"coverage": [],
|
"coverage": [],
|
||||||
|
@ -525,13 +486,13 @@
|
||||||
"extraInfo": [],
|
"extraInfo": [],
|
||||||
"format": [],
|
"format": [],
|
||||||
"fulltext": [
|
"fulltext": [
|
||||||
{"value": "https://osf.io/preprints/socarxiv/7vgtu/download"},
|
{ "value" : "https://osf.io/preprints/socarxiv/7vgtu/download" },
|
||||||
{"value": "https://osf.io/preprints/socarxiv/7vgtu/download2"}
|
{ "value" : "https://osf.io/preprints/socarxiv/7vgtu/download2" }
|
||||||
],
|
],
|
||||||
"id": "50|CSC_________::0000ec4dd9df012feaafa77e71a0fb4c",
|
"id": "50|CSC_________::0000ec4dd9df012feaafa77e71a0fb4c",
|
||||||
"instance": [
|
"instance": [
|
||||||
{
|
{
|
||||||
"fulltext": "https://osf.io/preprints/socarxiv/7vgtu/download",
|
"fulltext" : "https://osf.io/preprints/socarxiv/7vgtu/download",
|
||||||
"measures": [
|
"measures": [
|
||||||
{
|
{
|
||||||
"id": "influence",
|
"id": "influence",
|
||||||
|
@ -559,24 +520,6 @@
|
||||||
"value": "4.62970429725e-08"
|
"value": "4.62970429725e-08"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "downloads",
|
|
||||||
"unit": [
|
|
||||||
{
|
|
||||||
"key": "fakeds",
|
|
||||||
"value": "10"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "views",
|
|
||||||
"unit": [
|
|
||||||
{
|
|
||||||
"key": "fakeds",
|
|
||||||
"value": "10"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"pid": [
|
"pid": [
|
||||||
|
@ -712,7 +655,9 @@
|
||||||
},
|
},
|
||||||
"value": ""
|
"value": ""
|
||||||
},
|
},
|
||||||
"url": ["http://dx.doi.org/10.1109/TED.2018.2853550"]
|
"url": [
|
||||||
|
"http://dx.doi.org/10.1109/TED.2018.2853550"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"pid": [
|
"pid": [
|
||||||
|
@ -848,7 +793,9 @@
|
||||||
},
|
},
|
||||||
"value": "CC-BY"
|
"value": "CC-BY"
|
||||||
},
|
},
|
||||||
"url": ["http://dx.doi.org/10.1109/TED.2018.2853550"]
|
"url": [
|
||||||
|
"http://dx.doi.org/10.1109/TED.2018.2853550"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"pid": [
|
"pid": [
|
||||||
|
@ -984,7 +931,9 @@
|
||||||
},
|
},
|
||||||
"value": ""
|
"value": ""
|
||||||
},
|
},
|
||||||
"url": ["http://dx.doi.org/10.1109/TED.2018.2853551"]
|
"url": [
|
||||||
|
"http://dx.doi.org/10.1109/TED.2018.2853551"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"pid": [
|
"pid": [
|
||||||
|
@ -1253,7 +1202,8 @@
|
||||||
},
|
},
|
||||||
"value": ""
|
"value": ""
|
||||||
},
|
},
|
||||||
"url": []
|
"url": [
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"pid": [
|
"pid": [
|
||||||
|
@ -1383,7 +1333,9 @@
|
||||||
},
|
},
|
||||||
"value": ""
|
"value": ""
|
||||||
},
|
},
|
||||||
"url": [""]
|
"url": [
|
||||||
|
""
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"pid": [
|
"pid": [
|
||||||
|
@ -1513,7 +1465,9 @@
|
||||||
},
|
},
|
||||||
"value": ""
|
"value": ""
|
||||||
},
|
},
|
||||||
"url": ["asdasd://not a URL"]
|
"url": [
|
||||||
|
"asdasd://not a URL"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"journal": {
|
"journal": {
|
||||||
|
@ -1607,9 +1561,7 @@
|
||||||
"schemeid": "dnet:result_typologies",
|
"schemeid": "dnet:result_typologies",
|
||||||
"schemename": "dnet:result_typologies"
|
"schemename": "dnet:result_typologies"
|
||||||
},
|
},
|
||||||
"source": [
|
"source": [ { "value" : "Bulletin of the National Technical University \"KhPI\" A series of \"Information and Modeling\"; № 1 (3) (2020):" } ],
|
||||||
{"value": "Bulletin of the National Technical University \"KhPI\" A series of \"Information and Modeling\"; № 1 (3) (2020):"}
|
|
||||||
],
|
|
||||||
"subject": [
|
"subject": [
|
||||||
{
|
{
|
||||||
"dataInfo": {
|
"dataInfo": {
|
||||||
|
|
|
@ -194,228 +194,173 @@
|
||||||
<fieldType name="tints" class="solr.TrieIntField" positionIncrementGap="0" docValues="true" multiValued="true" precisionStep="8"/>
|
<fieldType name="tints" class="solr.TrieIntField" positionIncrementGap="0" docValues="true" multiValued="true" precisionStep="8"/>
|
||||||
<fieldType name="tlong" class="solr.TrieLongField" positionIncrementGap="0" docValues="true" precisionStep="8"/>
|
<fieldType name="tlong" class="solr.TrieLongField" positionIncrementGap="0" docValues="true" precisionStep="8"/>
|
||||||
<fieldType name="tlongs" class="solr.TrieLongField" positionIncrementGap="0" docValues="true" multiValued="true" precisionStep="8"/>
|
<fieldType name="tlongs" class="solr.TrieLongField" positionIncrementGap="0" docValues="true" multiValued="true" precisionStep="8"/>
|
||||||
|
|
||||||
<!-- Indexed fields -->
|
|
||||||
<field name="__all" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="__all" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="__deleted" type="boolean" default="false" omitNorms="true" omitTermFreqAndPositions="true" indexed="true" stored="false"/>
|
|
||||||
<field name="__dsid" type="string" omitNorms="true" omitTermFreqAndPositions="true" indexed="true" stored="true"/>
|
|
||||||
<field name="__dsversion" type="pdate" omitNorms="true" omitTermFreqAndPositions="true" indexed="true" stored="true"/>
|
|
||||||
<field name="__indexrecordidentifier" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
|
<field name="__indexrecordidentifier" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
|
||||||
<field name="__result" type="string" docValues="false" multiValued="false" indexed="false" stored="true"/>
|
|
||||||
<field name="__json" type="string" docValues="false" multiValued="false" indexed="false" stored="true"/>
|
<field name="__json" type="string" docValues="false" multiValued="false" indexed="false" stored="true"/>
|
||||||
|
<field name="__result" type="string" docValues="false" multiValued="false" indexed="false" stored="true"/>
|
||||||
<field name="_root_" type="string" docValues="false" indexed="true" stored="false"/>
|
<field name="_root_" type="string" docValues="false" indexed="true" stored="false"/>
|
||||||
<field name="_version_" type="long" multiValued="false" indexed="true" stored="true"/>
|
<field name="_version_" type="long" multiValued="false" indexed="true" stored="true"/>
|
||||||
<field name="authorid" type="string_ci" multiValued="true" indexed="true" stored="false"/>
|
<field name="authorid" type="string_ci" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="authoridtype" type="string_ci" multiValued="true" indexed="true" stored="false"/>
|
<field name="categoryid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="categoryid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="citation_count" type="pint" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="categoryname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="citation_count_class" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="collectedfrom" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="collectedfromdatasourceid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="collectedfromdatasourceid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="collectedfromname" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="collectedfromname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="community" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="community" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="communityid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="communityid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="conceptname" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="communityname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="contextid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="conceptid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="contextname" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="conceptname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="country" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="contextid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="countrynojurisdiction" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="contextname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourcecompatibilityid" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="contexttype" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourcecompatibilityname" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="country" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourceenglishname" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="datasourcecompatibilityid" type="string" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="datasourcecompatibilityname" type="string" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="datasourceenglishname" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="datasourcejurisdiction" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourcejurisdiction" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="datasourceodcontenttypes" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourceodcontenttypes" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="datasourceoddescription" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourceoddescription" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="datasourceodlanguages" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourceodlanguages" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="datasourceodsubjects" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourceodsubjects" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="datasourceofficialname" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourceofficialname" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="datasourcesubject" type="ngramtext" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourcesubject" type="ngramtext" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="datasourcethematic" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
<field name="datasourcethematic" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="datasourcetypename" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="datasourcetypename" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="datasourcetypeuiid" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="datasourcetypeuiid" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="datasourcetypeuiname" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="datasourcetypeuiname" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="dateofcollection" type="pdate" multiValued="false" indexed="true" stored="false"/>
|
<field name="dateofcollection" type="date" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="deletedbyinference" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="deletedbyinference" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="eoscdatasourcetype" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
<field name="eoscdatasourcetype" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="eoscifguidelines" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
<field name="eoscifguidelines" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="eosctype" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
<field name="eosctype" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="externalrefclass" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="externalreflabel" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="externalrefid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="fos" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="externalreflabel" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="foslabel" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="externalrefsite" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="funder" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="funder" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="funderid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="funderid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="fundershortname" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="funderjurisdiction" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="fundinglevel0_description" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="fundername" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="fundinglevel0_id" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="funderoriginalname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="fundinglevel0_name" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="fundershortname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="fundinglevel1_description" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="fundinglevel0_description" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="fundinglevel1_id" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="fundinglevel0_id" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="fundinglevel1_name" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="fundinglevel0_name" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="fundinglevel2_description" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="fundinglevel1_description" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="fundinglevel2_id" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="fundinglevel1_id" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="fundinglevel2_name" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="fundinglevel1_name" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="haslicense" type="boolean" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="fundinglevel2_description" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="impulse" type="pint" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="fundinglevel2_id" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="impulse_class" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="fundinglevel2_name" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="influence" type="pfloat" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="inferenceprovenance" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="influence_class" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="inferred" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="instancetypename" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="instancetypename" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="isgreen" type="boolean" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="oafentity" type="string" multiValued="true" indexed="false" stored="false"/>
|
<field name="isindiamondjournal" type="boolean" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="oaftype" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="oafentity" type="string" docValues="false" multiValued="true" indexed="false" stored="false"/>
|
||||||
<field name="objidentifier" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="oaftype" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="organizationalternativenames" type="ngramtext" multiValued="true" indexed="true" stored="false"/>
|
<field name="objidentifier" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="organizationcountryname" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="openaccesscolor" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="organizationdupid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="orcidtypevalue" type="string_ci" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="organizationecenterprise" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="organizationalternativenames" type="ngramtext" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="organizationecinternationalorganization" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="organizationdupid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="organizationecinternationalorganizationeurinterests" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="organizationlegalname" type="ngramtext" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="organizationeclegalbody" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="organizationlegalshortname" type="ngramtext" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="organizationeclegalperson" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="originalid" type="string_ci" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="organizationecnonprofit" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="peerreviewed" type="boolean" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="organizationecnutscode" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="pid" type="string_ci" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="organizationecresearchorganization" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="pidclassid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="organizationecsmevalidated" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="popularity" type="pfloat" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="organizationlegalname" type="ngramtext" multiValued="true" indexed="true" stored="false"/>
|
<field name="popularity_alt" type="pfloat" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="organizationlegalshortname" type="ngramtext" multiValued="true" indexed="true" stored="false"/>
|
<field name="popularity_alt_class" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="originalid" type="string_ci" multiValued="true" indexed="true" stored="false"/>
|
<field name="popularity_class" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="pid" type="string_ci" multiValued="true" indexed="true" stored="false"/>
|
<field name="projectacronym" type="ngramtext" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="pidclassid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="projectcallidentifier" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="pidclassname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="projectcode" type="ngramtext" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="projectacronym" type="ngramtext" multiValued="true" indexed="true" stored="false"/>
|
<field name="projectcode_nt" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="projectcallidentifier" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="projectduration" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="projectcode" type="ngramtext" multiValued="true" indexed="true" stored="false"/>
|
<field name="projectecsc39" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="projectcode_nt" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="projectenddate" type="date" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="projectcontracttypename" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="projectendyear" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="projectduration" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="projectkeywords" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="projectecarticle29_3" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="projectoamandatepublications" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="projectecsc39" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="projectstartdate" type="date" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="projectenddate" type="pdate" multiValued="false" indexed="true" stored="false"/>
|
<field name="projectstartyear" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="projectendyear" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="projecttitle" type="ngramtext" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="projectkeywords" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="projecttitle_alternative" type="text_en" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="projectoamandatepublications" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="provenanceactionclassid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="projectstartdate" type="pdate" multiValued="false" indexed="true" stored="false"/>
|
<field name="publiclyfunded" type="boolean" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="projectstartyear" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="relclass" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="projectsubject" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relcontracttypename" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="projecttitle" type="ngramtext" multiValued="true" indexed="true" stored="false"/>
|
<field name="reldatasourcecompatibilityid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="provenanceactionclassid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relfunder" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relclass" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relfunderid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relcollectedfromid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relfundershortname" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relcollectedfromname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relfundinglevel0_id" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relcontracttypeid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relfundinglevel0_name" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relcontracttypename" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="relfundinglevel1_id" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="reldatasourcecompatibilityid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relfundinglevel1_name" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfunder" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relfundinglevel2_id" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfunderid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relfundinglevel2_name" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfunderjurisdiction" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relorganizationcountryid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfundername" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relorganizationcountryname" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfundershortname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relorganizationid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfundinglevel0_id" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relorganizationname" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfundinglevel0_name" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relorganizationshortname" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfundinglevel1_id" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relproject" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfundinglevel1_name" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relprojectcode" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfundinglevel2_id" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relprojectid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relfundinglevel2_name" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relprojectname" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relinferenceprovenance" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relprojecttitle" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relinferred" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relresultid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relorganizationcountryid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="relresulttype" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relorganizationcountryname" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultacceptanceyear" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="relorganizationid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultauthor" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relorganizationname" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultbestaccessright" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="relorganizationshortname" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultdateofacceptance" type="date" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="relproject" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultdescription" type="text_en" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relprojectcode" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultdupid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relprojectid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultembargoenddate" type="date" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="relprojectname" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultembargoendyear" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="relprojecttitle" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="resulthostingdatasource" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relprovenanceactionclassid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="resulthostingdatasourceid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relresultid" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultidentifier" type="string_ci" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="relresulttype" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultlanguagename" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="reltrust" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultpublisher" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="resultacceptanceyear" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="resultsource" type="text_common" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="resultaccessright" type="string" multiValued="true" indexed="true" stored="false"/>
|
<field name="resultsubject" type="text_en" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="resultauthor" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
<field name="resulttitle" type="text_en" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="resultauthor_nt" type="string_ci" multiValued="true" indexed="true" stored="false"/>
|
<field name="resulttypeid" type="string" docValues="false" multiValued="false" indexed="true" stored="false"/>
|
||||||
<field name="resultbestaccessright" type="string" multiValued="false" indexed="true" stored="false"/>
|
<field name="sdg" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="resultdateofacceptance" type="pdate" multiValued="false" indexed="true" stored="false"/>
|
<field name="semrelid" type="string" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="resultdescription" type="text_en" multiValued="true" indexed="true" stored="false"/>
|
<field name="status" type="string_ci" docValues="false" multiValued="true" indexed="true" stored="false"/>
|
||||||
<field name="resultdupid" type="string" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resultembargoenddate" type="pdate" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="resultembargoendyear" type="string" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="resulthostingdatasource" type="string" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resulthostingdatasourceid" type="string" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resulthostingdatasourcename" type="string" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resultidentifier" type="string" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resultlanguagename" type="string" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="resultlicense" type="string" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resultpublisher" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resultsource" type="text_common" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resultsubject" type="text_en" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resultsubjectclass" type="string" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resulttitle" type="text_en" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="resulttypeid" type="string" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="resulttypename" type="string" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="semrelid" type="string" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="text" type="text_common" indexed="false" stored="false"/>
|
<field name="text" type="text_common" indexed="false" stored="false"/>
|
||||||
<field name="trust" type="string" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="versioning" type="string" multiValued="true" indexed="true" stored="false"/>
|
|
||||||
<field name="isgreen" type="boolean" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="openaccesscolor" type="string" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="isindiamondjournal" type="boolean" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="publiclyfunded" type="boolean" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
<field name="peerreviewed" type="boolean" multiValued="false" indexed="true" stored="false"/>
|
|
||||||
|
|
||||||
<!-- Copy field definitions follow: -->
|
|
||||||
|
|
||||||
<!-- Data source -->
|
|
||||||
<copyField source="datasourceenglishname" dest="__all"/>
|
<copyField source="datasourceenglishname" dest="__all"/>
|
||||||
<copyField source="datasourceoddescription" dest="__all"/>
|
<copyField source="datasourceoddescription" dest="__all"/>
|
||||||
|
<copyField source="datasourceodsubjects" dest="__all"/>
|
||||||
<copyField source="datasourceofficialname" dest="__all"/>
|
<copyField source="datasourceofficialname" dest="__all"/>
|
||||||
<copyField source="datasourcesubject" dest="__all"/>
|
<copyField source="datasourcesubject" dest="__all"/>
|
||||||
|
<copyField source="externalreflabel" dest="__all"/>
|
||||||
<!-- Organization -->
|
<copyField source="fundinglevel0_description" dest="__all"/>
|
||||||
|
<copyField source="fundinglevel1_description" dest="__all"/>
|
||||||
|
<copyField source="fundinglevel2_description" dest="__all"/>
|
||||||
<copyField source="organizationalternativenames" dest="__all"/>
|
<copyField source="organizationalternativenames" dest="__all"/>
|
||||||
<copyField source="organizationecenterprise" dest="__all"/>
|
|
||||||
<copyField source="organizationecinternationalorganization" dest="__all"/>
|
|
||||||
<copyField source="organizationecinternationalorganizationeurinterests" dest="__all"/>
|
|
||||||
<copyField source="organizationeclegalbody" dest="__all"/>
|
|
||||||
<copyField source="organizationeclegalperson" dest="__all"/>
|
|
||||||
<copyField source="organizationecnonprofit" dest="__all"/>
|
|
||||||
<copyField source="organizationecnutscode" dest="__all"/>
|
|
||||||
<copyField source="organizationecresearchorganization" dest="__all"/>
|
|
||||||
<copyField source="organizationecsmevalidated" dest="__all"/>
|
|
||||||
<copyField source="organizationlegalname" dest="__all"/>
|
<copyField source="organizationlegalname" dest="__all"/>
|
||||||
<copyField source="organizationlegalshortname" dest="__all"/>
|
<copyField source="organizationlegalshortname" dest="__all"/>
|
||||||
|
|
||||||
<!-- Project -->
|
|
||||||
<copyField source="projectacronym" dest="__all"/>
|
<copyField source="projectacronym" dest="__all"/>
|
||||||
<copyField source="projectcode" dest="__all"/>
|
<copyField source="projectcode" dest="__all"/>
|
||||||
<copyField source="projectkeywords" dest="__all"/>
|
<copyField source="projectkeywords" dest="__all"/>
|
||||||
<copyField source="projecttitle" dest="__all"/>
|
<copyField source="projecttitle" dest="__all"/>
|
||||||
|
<copyField source="projecttitle_alternative" dest="__all"/>
|
||||||
<!-- Result -->
|
|
||||||
<copyField source="resultpublisher" dest="__all"/>
|
|
||||||
<copyField source="resultsource" dest="__all"/>
|
|
||||||
<copyField source="resultidentifier" dest="__all"/>
|
|
||||||
<copyField source="resultauthor" dest="__all"/>
|
|
||||||
<copyField source="resulttitle" dest="__all"/>
|
|
||||||
<copyField source="resultdescription" dest="__all"/>
|
|
||||||
<copyField source="resultsubject" dest="__all"/>
|
|
||||||
<copyField source="resultacceptanceyear" dest="__all"/>
|
|
||||||
|
|
||||||
<!-- Other -->
|
|
||||||
<copyField source="externalreflabel" dest="__all"/>
|
|
||||||
|
|
||||||
<copyField source="fundinglevel0_description" dest="__all"/>
|
|
||||||
<copyField source="fundinglevel1_description" dest="__all"/>
|
|
||||||
<copyField source="fundinglevel2_description" dest="__all"/>
|
|
||||||
|
|
||||||
<copyField source="relcontracttypename" dest="__all"/>
|
<copyField source="relcontracttypename" dest="__all"/>
|
||||||
<copyField source="relorganizationcountryname" dest="__all"/>
|
<copyField source="relorganizationcountryname" dest="__all"/>
|
||||||
<copyField source="relorganizationname" dest="__all"/>
|
<copyField source="relorganizationname" dest="__all"/>
|
||||||
<copyField source="relorganizationshortname" dest="__all"/>
|
<copyField source="relorganizationshortname" dest="__all"/>
|
||||||
<copyField source="relprojecttitle" dest="__all"/>
|
|
||||||
<copyField source="relprojectname" dest="__all"/>
|
<copyField source="relprojectname" dest="__all"/>
|
||||||
|
<copyField source="relprojecttitle" dest="__all"/>
|
||||||
|
<copyField source="resultacceptanceyear" dest="__all"/>
|
||||||
|
<copyField source="resultauthor" dest="__all"/>
|
||||||
|
<copyField source="resultdescription" dest="__all"/>
|
||||||
|
<copyField source="resultidentifier" dest="__all"/>
|
||||||
|
<copyField source="resultpublisher" dest="__all"/>
|
||||||
|
<copyField source="resultsource" dest="__all"/>
|
||||||
|
<copyField source="resulttitle" dest="__all"/>
|
||||||
</schema>
|
</schema>
|
Loading…
Reference in New Issue