forked from D-Net/dnet-hadoop
added instanceTypeMapping original field in the mapping of
- DOIBoost - Datacite - PubMed - Scholexplorer Datasource
This commit is contained in:
parent
a24178cb93
commit
af1c2634b3
|
@ -166,7 +166,7 @@ object DataciteToOAFTransformation {
|
||||||
resourceTypeGeneral: String,
|
resourceTypeGeneral: String,
|
||||||
schemaOrg: String,
|
schemaOrg: String,
|
||||||
vocabularies: VocabularyGroup
|
vocabularies: VocabularyGroup
|
||||||
): (Qualifier, Qualifier) = {
|
): (Qualifier, Qualifier, String) = {
|
||||||
if (resourceType != null && resourceType.nonEmpty) {
|
if (resourceType != null && resourceType.nonEmpty) {
|
||||||
val typeQualifier =
|
val typeQualifier =
|
||||||
vocabularies.getSynonymAsQualifier(ModelConstants.DNET_PUBLICATION_RESOURCE, resourceType)
|
vocabularies.getSynonymAsQualifier(ModelConstants.DNET_PUBLICATION_RESOURCE, resourceType)
|
||||||
|
@ -176,7 +176,7 @@ object DataciteToOAFTransformation {
|
||||||
vocabularies.getSynonymAsQualifier(
|
vocabularies.getSynonymAsQualifier(
|
||||||
ModelConstants.DNET_RESULT_TYPOLOGIES,
|
ModelConstants.DNET_RESULT_TYPOLOGIES,
|
||||||
typeQualifier.getClassid
|
typeQualifier.getClassid
|
||||||
)
|
), resourceType
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
if (schemaOrg != null && schemaOrg.nonEmpty) {
|
if (schemaOrg != null && schemaOrg.nonEmpty) {
|
||||||
|
@ -188,7 +188,7 @@ object DataciteToOAFTransformation {
|
||||||
vocabularies.getSynonymAsQualifier(
|
vocabularies.getSynonymAsQualifier(
|
||||||
ModelConstants.DNET_RESULT_TYPOLOGIES,
|
ModelConstants.DNET_RESULT_TYPOLOGIES,
|
||||||
typeQualifier.getClassid
|
typeQualifier.getClassid
|
||||||
)
|
), schemaOrg
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -203,7 +203,7 @@ object DataciteToOAFTransformation {
|
||||||
vocabularies.getSynonymAsQualifier(
|
vocabularies.getSynonymAsQualifier(
|
||||||
ModelConstants.DNET_RESULT_TYPOLOGIES,
|
ModelConstants.DNET_RESULT_TYPOLOGIES,
|
||||||
typeQualifier.getClassid
|
typeQualifier.getClassid
|
||||||
)
|
), resourceTypeGeneral
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -216,12 +216,17 @@ object DataciteToOAFTransformation {
|
||||||
schemaOrg: String,
|
schemaOrg: String,
|
||||||
vocabularies: VocabularyGroup
|
vocabularies: VocabularyGroup
|
||||||
): Result = {
|
): Result = {
|
||||||
val typeQualifiers: (Qualifier, Qualifier) =
|
val typeQualifiers: (Qualifier, Qualifier, String) =
|
||||||
getTypeQualifier(resourceType, resourceTypeGeneral, schemaOrg, vocabularies)
|
getTypeQualifier(resourceType, resourceTypeGeneral, schemaOrg, vocabularies)
|
||||||
if (typeQualifiers == null)
|
if (typeQualifiers == null)
|
||||||
return null
|
return null
|
||||||
val i = new Instance
|
val i = new Instance
|
||||||
i.setInstancetype(typeQualifiers._1)
|
i.setInstancetype(typeQualifiers._1)
|
||||||
|
// ADD ORIGINAL TYPE
|
||||||
|
val itm = new InstanceTypeMapping
|
||||||
|
itm.setOriginalType(typeQualifiers._3)
|
||||||
|
i.setInstanceTypeMapping(List(itm).asJava)
|
||||||
|
|
||||||
typeQualifiers._2.getClassname match {
|
typeQualifiers._2.getClassname match {
|
||||||
case "dataset" =>
|
case "dataset" =>
|
||||||
val r = new OafDataset
|
val r = new OafDataset
|
||||||
|
|
|
@ -176,7 +176,7 @@ object BioDBToOAF {
|
||||||
i.setUrl(List(s"${resolvedURL(input.pidType)}${input.pid}").asJava)
|
i.setUrl(List(s"${resolvedURL(input.pidType)}${input.pid}").asJava)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (input.pidType.equalsIgnoreCase("clinicaltrials.gov"))
|
if (input.pidType.equalsIgnoreCase("clinicaltrials.gov")) {
|
||||||
i.setInstancetype(
|
i.setInstancetype(
|
||||||
OafMapperUtils.qualifier(
|
OafMapperUtils.qualifier(
|
||||||
"0037",
|
"0037",
|
||||||
|
@ -185,7 +185,10 @@ object BioDBToOAF {
|
||||||
ModelConstants.DNET_PUBLICATION_RESOURCE
|
ModelConstants.DNET_PUBLICATION_RESOURCE
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
else
|
val itm = new InstanceTypeMapping
|
||||||
|
itm.setOriginalType(input.pidType)
|
||||||
|
i.setInstanceTypeMapping(List(itm).asJava)
|
||||||
|
} else {
|
||||||
i.setInstancetype(
|
i.setInstancetype(
|
||||||
OafMapperUtils.qualifier(
|
OafMapperUtils.qualifier(
|
||||||
"0046",
|
"0046",
|
||||||
|
@ -194,6 +197,10 @@ object BioDBToOAF {
|
||||||
ModelConstants.DNET_PUBLICATION_RESOURCE
|
ModelConstants.DNET_PUBLICATION_RESOURCE
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
val itm = new InstanceTypeMapping
|
||||||
|
itm.setOriginalType("Bioentity")
|
||||||
|
i.setInstanceTypeMapping(List(itm).asJava)
|
||||||
|
}
|
||||||
|
|
||||||
if (input.datasource == null || input.datasource.isEmpty)
|
if (input.datasource == null || input.datasource.isEmpty)
|
||||||
return null
|
return null
|
||||||
|
@ -265,6 +272,9 @@ object BioDBToOAF {
|
||||||
ModelConstants.DNET_PUBLICATION_RESOURCE
|
ModelConstants.DNET_PUBLICATION_RESOURCE
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
val itm = new InstanceTypeMapping
|
||||||
|
itm.setOriginalType("Bioentity")
|
||||||
|
i.setInstanceTypeMapping(List(itm).asJava)
|
||||||
|
|
||||||
i.setCollectedfrom(collectedFromMap("uniprot"))
|
i.setCollectedfrom(collectedFromMap("uniprot"))
|
||||||
d.setInstance(List(i).asJava)
|
d.setInstance(List(i).asJava)
|
||||||
|
@ -471,6 +481,9 @@ object BioDBToOAF {
|
||||||
ModelConstants.DNET_PUBLICATION_RESOURCE
|
ModelConstants.DNET_PUBLICATION_RESOURCE
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
val itm = new InstanceTypeMapping
|
||||||
|
itm.setOriginalType("Bioentity")
|
||||||
|
i.setInstanceTypeMapping(List(itm).asJava)
|
||||||
|
|
||||||
i.setCollectedfrom(collectedFromMap("pdb"))
|
i.setCollectedfrom(collectedFromMap("pdb"))
|
||||||
d.setInstance(List(i).asJava)
|
d.setInstance(List(i).asJava)
|
||||||
|
@ -571,6 +584,10 @@ object BioDBToOAF {
|
||||||
ModelConstants.DNET_PUBLICATION_RESOURCE
|
ModelConstants.DNET_PUBLICATION_RESOURCE
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
val itm = new InstanceTypeMapping
|
||||||
|
itm.setOriginalType("Bioentity")
|
||||||
|
i.setInstanceTypeMapping(List(itm).asJava)
|
||||||
|
|
||||||
|
|
||||||
i.setCollectedfrom(collectedFromMap("ebi"))
|
i.setCollectedfrom(collectedFromMap("ebi"))
|
||||||
d.setInstance(List(i).asJava)
|
d.setInstance(List(i).asJava)
|
||||||
|
|
|
@ -188,12 +188,22 @@ object PubMedToOaf {
|
||||||
val cojbCategory =
|
val cojbCategory =
|
||||||
getVocabularyTerm(ModelConstants.DNET_PUBLICATION_RESOURCE, vocabularies, ja.get.getValue)
|
getVocabularyTerm(ModelConstants.DNET_PUBLICATION_RESOURCE, vocabularies, ja.get.getValue)
|
||||||
pubmedInstance.setInstancetype(cojbCategory)
|
pubmedInstance.setInstancetype(cojbCategory)
|
||||||
|
// ADD ORIGINAL TYPE to the publication
|
||||||
|
val itm = new InstanceTypeMapping
|
||||||
|
itm.setOriginalType(ja.get.getValue)
|
||||||
|
pubmedInstance.setInstanceTypeMapping(List(itm).asJava)
|
||||||
} else {
|
} else {
|
||||||
val i_type = article.getPublicationTypes.asScala
|
val i_type = article.getPublicationTypes.asScala
|
||||||
.map(s => getVocabularyTerm(ModelConstants.DNET_PUBLICATION_RESOURCE, vocabularies, s.getValue))
|
.map(s => (s.getValue,getVocabularyTerm(ModelConstants.DNET_PUBLICATION_RESOURCE, vocabularies, s.getValue)))
|
||||||
.find(q => q != null)
|
.find(q => q._2 != null)
|
||||||
if (i_type.isDefined)
|
|
||||||
pubmedInstance.setInstancetype(i_type.get)
|
if (i_type.isDefined) {
|
||||||
|
pubmedInstance.setInstancetype(i_type.get._2)
|
||||||
|
// ADD ORIGINAL TYPE to the publication
|
||||||
|
val itm = new InstanceTypeMapping
|
||||||
|
itm.setOriginalType(i_type.get._1)
|
||||||
|
pubmedInstance.setInstanceTypeMapping(List(itm).asJava)
|
||||||
|
}
|
||||||
else
|
else
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,7 @@ case object Crossref2Oaf {
|
||||||
.map(f => f.id)
|
.map(f => f.id)
|
||||||
}
|
}
|
||||||
|
|
||||||
def mappingResult(result: Result, json: JValue, cobjCategory: String): Result = {
|
def mappingResult(result: Result, json: JValue, cobjCategory: String, originalType:String): Result = {
|
||||||
implicit lazy val formats: DefaultFormats.type = org.json4s.DefaultFormats
|
implicit lazy val formats: DefaultFormats.type = org.json4s.DefaultFormats
|
||||||
|
|
||||||
//MAPPING Crossref DOI into PID
|
//MAPPING Crossref DOI into PID
|
||||||
|
@ -283,6 +283,10 @@ case object Crossref2Oaf {
|
||||||
ModelConstants.DNET_PUBLICATION_RESOURCE
|
ModelConstants.DNET_PUBLICATION_RESOURCE
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
//ADD ORIGINAL TYPE to the mapping
|
||||||
|
val itm = new InstanceTypeMapping
|
||||||
|
itm.setOriginalType(originalType)
|
||||||
|
instance.setInstanceTypeMapping(List(itm).asJava)
|
||||||
result.setResourcetype(
|
result.setResourcetype(
|
||||||
OafMapperUtils.qualifier(
|
OafMapperUtils.qualifier(
|
||||||
cobjCategory.substring(0, 4),
|
cobjCategory.substring(0, 4),
|
||||||
|
@ -367,7 +371,7 @@ case object Crossref2Oaf {
|
||||||
objectType,
|
objectType,
|
||||||
mappingCrossrefSubType.getOrElse(objectSubType, "0038 Other literature type")
|
mappingCrossrefSubType.getOrElse(objectSubType, "0038 Other literature type")
|
||||||
)
|
)
|
||||||
mappingResult(result, json, cOBJCategory)
|
mappingResult(result, json, cOBJCategory, originalType)
|
||||||
if (result == null || result.getId == null)
|
if (result == null || result.getId == null)
|
||||||
return List()
|
return List()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue