forked from D-Net/dnet-hadoop
mapping of new eosc fields
This commit is contained in:
parent
c72c960ffb
commit
e6f1773d63
|
@ -1,8 +1,41 @@
|
||||||
|
|
||||||
package eu.dnetlib.dhp.oa.graph.raw;
|
package eu.dnetlib.dhp.oa.graph.raw;
|
||||||
|
|
||||||
import static eu.dnetlib.dhp.schema.common.ModelConstants.*;
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.DATASET_DEFAULT_RESULTTYPE;
|
||||||
import static eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils.*;
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.DATASOURCE_ORGANIZATION;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.DNET_PROVENANCE_ACTIONS;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.ENTITYREGISTRY_PROVENANCE_ACTION;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.HAS_PARTICIPANT;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.IS_MERGED_IN;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.IS_PARTICIPANT;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.IS_PRODUCED_BY;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.IS_PROVIDED_BY;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.IS_RELATED_TO;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.MERGES;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.ORG_ORG_RELTYPE;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.ORP_DEFAULT_RESULTTYPE;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.OUTCOME;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.PARTICIPATION;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.PRODUCES;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.PROJECT_ORGANIZATION;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.PROVIDES;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.PROVISION;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.PUBLICATION_DATASET;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.PUBLICATION_DEFAULT_RESULTTYPE;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.RELATIONSHIP;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.RESULT_PROJECT;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.RESULT_RESULT;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.SOFTWARE_DEFAULT_RESULTTYPE;
|
||||||
|
import static eu.dnetlib.dhp.schema.common.ModelConstants.USER_CLAIM;
|
||||||
|
import static eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils.asString;
|
||||||
|
import static eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils.createOpenaireId;
|
||||||
|
import static eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils.dataInfo;
|
||||||
|
import static eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils.field;
|
||||||
|
import static eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils.journal;
|
||||||
|
import static eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils.listFields;
|
||||||
|
import static eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils.listKeyValues;
|
||||||
|
import static eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils.qualifier;
|
||||||
|
import static eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils.structuredProperty;
|
||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -53,8 +86,8 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
|
||||||
private static final Logger log = LoggerFactory.getLogger(MigrateDbEntitiesApplication.class);
|
private static final Logger log = LoggerFactory.getLogger(MigrateDbEntitiesApplication.class);
|
||||||
|
|
||||||
private static final DataInfo DATA_INFO_CLAIM = dataInfo(
|
private static final DataInfo DATA_INFO_CLAIM = dataInfo(
|
||||||
false, null, false, false,
|
false, null, false, false, qualifier(USER_CLAIM, USER_CLAIM, DNET_PROVENANCE_ACTIONS, DNET_PROVENANCE_ACTIONS),
|
||||||
qualifier(USER_CLAIM, USER_CLAIM, DNET_PROVENANCE_ACTIONS, DNET_PROVENANCE_ACTIONS), "0.9");
|
"0.9");
|
||||||
|
|
||||||
private static final List<KeyValue> COLLECTED_FROM_CLAIM = listKeyValues(
|
private static final List<KeyValue> COLLECTED_FROM_CLAIM = listKeyValues(
|
||||||
createOpenaireId(10, "infrastruct_::openaire", true), "OpenAIRE");
|
createOpenaireId(10, "infrastruct_::openaire", true), "OpenAIRE");
|
||||||
|
@ -140,8 +173,7 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
|
||||||
case openorgs_dedup: // generates organization entities and relations for openorgs dedup
|
case openorgs_dedup: // generates organization entities and relations for openorgs dedup
|
||||||
log.info("Processing Openorgs...");
|
log.info("Processing Openorgs...");
|
||||||
smdbe
|
smdbe
|
||||||
.execute(
|
.execute("queryOpenOrgsForOrgsDedup.sql", smdbe::processOrganization, verifyNamespacePrefix);
|
||||||
"queryOpenOrgsForOrgsDedup.sql", smdbe::processOrganization, verifyNamespacePrefix);
|
|
||||||
|
|
||||||
log.info("Processing Openorgs Sim Rels...");
|
log.info("Processing Openorgs Sim Rels...");
|
||||||
smdbe.execute("queryOpenOrgsSimilarityForOrgsDedup.sql", smdbe::processOrgOrgSimRels);
|
smdbe.execute("queryOpenOrgsSimilarityForOrgsDedup.sql", smdbe::processOrgOrgSimRels);
|
||||||
|
@ -150,8 +182,7 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
|
||||||
case openorgs: // generates organization entities and relations for provision
|
case openorgs: // generates organization entities and relations for provision
|
||||||
log.info("Processing Openorgs For Provision...");
|
log.info("Processing Openorgs For Provision...");
|
||||||
smdbe
|
smdbe
|
||||||
.execute(
|
.execute("queryOpenOrgsForProvision.sql", smdbe::processOrganization, verifyNamespacePrefix);
|
||||||
"queryOpenOrgsForProvision.sql", smdbe::processOrganization, verifyNamespacePrefix);
|
|
||||||
|
|
||||||
log.info("Processing Openorgs Merge Rels...");
|
log.info("Processing Openorgs Merge Rels...");
|
||||||
smdbe.execute("queryOpenOrgsSimilarityForProvision.sql", smdbe::processOrgOrgMergeRels);
|
smdbe.execute("queryOpenOrgsSimilarityForProvision.sql", smdbe::processOrgOrgMergeRels);
|
||||||
|
@ -229,6 +260,7 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
|
||||||
ds.setExtraInfo(new ArrayList<>()); // Values not present in the DB
|
ds.setExtraInfo(new ArrayList<>()); // Values not present in the DB
|
||||||
ds.setOaiprovenance(null); // Values not present in the DB
|
ds.setOaiprovenance(null); // Values not present in the DB
|
||||||
ds.setDatasourcetype(prepareQualifierSplitting(rs.getString("datasourcetype")));
|
ds.setDatasourcetype(prepareQualifierSplitting(rs.getString("datasourcetype")));
|
||||||
|
ds.setDatasourcetypeui(prepareQualifierSplitting(rs.getString("datasourcetypeui")));
|
||||||
ds.setOpenairecompatibility(prepareQualifierSplitting(rs.getString("openairecompatibility")));
|
ds.setOpenairecompatibility(prepareQualifierSplitting(rs.getString("openairecompatibility")));
|
||||||
ds.setOfficialname(field(rs.getString("officialname"), info));
|
ds.setOfficialname(field(rs.getString("officialname"), info));
|
||||||
ds.setEnglishname(field(rs.getString("englishname"), info));
|
ds.setEnglishname(field(rs.getString("englishname"), info));
|
||||||
|
@ -270,6 +302,11 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
|
||||||
ds.setDataInfo(info);
|
ds.setDataInfo(info);
|
||||||
ds.setLastupdatetimestamp(lastUpdateTimestamp);
|
ds.setLastupdatetimestamp(lastUpdateTimestamp);
|
||||||
|
|
||||||
|
ds.setJurisdiction(prepareQualifierSplitting(rs.getString("jurisdiction")));
|
||||||
|
ds.setThematic(rs.getBoolean("thematic"));
|
||||||
|
ds.setKnowledgegraph(rs.getBoolean("knowledgegraph"));
|
||||||
|
ds.setContentpolicies(prepareListOfQualifiers(rs.getArray("contentpolicies")));
|
||||||
|
|
||||||
return Arrays.asList(ds);
|
return Arrays.asList(ds);
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
|
@ -495,8 +532,8 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
|
||||||
throw new IllegalStateException(
|
throw new IllegalStateException(
|
||||||
String
|
String
|
||||||
.format(
|
.format(
|
||||||
"invalid claim, sourceId: %s, targetId: %s, semantics: %s",
|
"invalid claim, sourceId: %s, targetId: %s, semantics: %s", sourceId, targetId,
|
||||||
sourceId, targetId, semantics));
|
semantics));
|
||||||
}
|
}
|
||||||
r1 = setRelationSemantic(r1, RESULT_PROJECT, OUTCOME, PRODUCES);
|
r1 = setRelationSemantic(r1, RESULT_PROJECT, OUTCOME, PRODUCES);
|
||||||
r2 = setRelationSemantic(r2, RESULT_PROJECT, OUTCOME, IS_PRODUCED_BY);
|
r2 = setRelationSemantic(r2, RESULT_PROJECT, OUTCOME, IS_PRODUCED_BY);
|
||||||
|
@ -516,8 +553,8 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Relation prepareRelation(String sourceId, String targetId, String validationDate) {
|
private Relation prepareRelation(final String sourceId, final String targetId, final String validationDate) {
|
||||||
Relation r = new Relation();
|
final Relation r = new Relation();
|
||||||
if (StringUtils.isNotBlank(validationDate)) {
|
if (StringUtils.isNotBlank(validationDate)) {
|
||||||
r.setValidated(true);
|
r.setValidated(true);
|
||||||
r.setValidationDate(validationDate);
|
r.setValidationDate(validationDate);
|
||||||
|
@ -530,7 +567,8 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Relation setRelationSemantic(Relation r, String relType, String subRelType, String relClass) {
|
private Relation setRelationSemantic(final Relation r, final String relType, final String subRelType,
|
||||||
|
final String relClass) {
|
||||||
r.setRelType(relType);
|
r.setRelType(relType);
|
||||||
r.setSubRelType(subRelType);
|
r.setSubRelType(subRelType);
|
||||||
r.setRelClass(relClass);
|
r.setRelClass(relClass);
|
||||||
|
@ -603,6 +641,19 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<Qualifier> prepareListOfQualifiers(final Array array) throws SQLException {
|
||||||
|
final List<Qualifier> res = new ArrayList<>();
|
||||||
|
if (array != null) {
|
||||||
|
for (final String s : (String[]) array.getArray()) {
|
||||||
|
final Qualifier q = prepareQualifierSplitting(s);
|
||||||
|
if (q != null) {
|
||||||
|
res.add(q);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
public List<Oaf> processOrgOrgMergeRels(final ResultSet rs) {
|
public List<Oaf> processOrgOrgMergeRels(final ResultSet rs) {
|
||||||
try {
|
try {
|
||||||
final DataInfo info = prepareDataInfo(rs); // TODO
|
final DataInfo info = prepareDataInfo(rs); // TODO
|
||||||
|
@ -660,16 +711,16 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
|
||||||
r1.setLastupdatetimestamp(lastUpdateTimestamp);
|
r1.setLastupdatetimestamp(lastUpdateTimestamp);
|
||||||
|
|
||||||
// removed because there's no difference between two sides //TODO
|
// removed because there's no difference between two sides //TODO
|
||||||
// final Relation r2 = new Relation();
|
// final Relation r2 = new Relation();
|
||||||
// r2.setRelType(ORG_ORG_RELTYPE);
|
// r2.setRelType(ORG_ORG_RELTYPE);
|
||||||
// r2.setSubRelType(ORG_ORG_SUBRELTYPE);
|
// r2.setSubRelType(ORG_ORG_SUBRELTYPE);
|
||||||
// r2.setRelClass(relClass);
|
// r2.setRelClass(relClass);
|
||||||
// r2.setSource(orgId2);
|
// r2.setSource(orgId2);
|
||||||
// r2.setTarget(orgId1);
|
// r2.setTarget(orgId1);
|
||||||
// r2.setCollectedfrom(collectedFrom);
|
// r2.setCollectedfrom(collectedFrom);
|
||||||
// r2.setDataInfo(info);
|
// r2.setDataInfo(info);
|
||||||
// r2.setLastupdatetimestamp(lastUpdateTimestamp);
|
// r2.setLastupdatetimestamp(lastUpdateTimestamp);
|
||||||
// return Arrays.asList(r1, r2);
|
// return Arrays.asList(r1, r2);
|
||||||
|
|
||||||
return Arrays.asList(r1);
|
return Arrays.asList(r1);
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
|
|
Loading…
Reference in New Issue