Revision 45425
Added by Sandro La Bruzzo over 7 years ago
modules/dnet-dli/trunk/src/main/java/eu/dnetlib/resolver/parser/PMFResolverParser.java | ||
---|---|---|
59 | 59 |
|
60 | 60 |
List<Node> relatedIdentifiers = |
61 | 61 |
UtilityParser.getTextValuesWithAttributes(ap, vn, "//oaf:relatedIdentifier", |
62 |
Arrays.asList("relatedIdentifierType", "relationType", "entityType")); |
|
62 |
Arrays.asList("relatedIdentifierType", "relationType", "entityType", "inverseRelationType"));
|
|
63 | 63 |
|
64 | 64 |
if (relatedIdentifiers != null && relatedIdentifiers.size() > 0) { |
65 | 65 |
final List<ObjectRelation> relations = new ArrayList<>(); |
... | ... | |
72 | 72 |
currenRelation.setCompletionStatus(CompletionStatus.incomplete.toString()); |
73 | 73 |
currenRelation.setSourcePid(parsedObject.getPid()); |
74 | 74 |
currenRelation.setRelationSemantics(relation.getAttributes().get("relationType")); |
75 |
currenRelation.setInverseRelation(relation.getAttributes().get("inverseRelationType")); |
|
76 |
|
|
77 |
|
|
75 | 78 |
currenRelation.setTargetType(ObjectType.valueOf(currentType)); |
76 | 79 |
if (parsedObject.getDatasourceProvenance() != null && parsedObject.getDatasourceProvenance().size() > 0) { |
77 | 80 |
final ObjectProvenance provenance = parsedObject.getDatasourceProvenance().get(0); |
modules/dnet-dli/trunk/src/main/java/eu/dnetlib/resolver/parser/DMFResolverParser.java | ||
---|---|---|
67 | 67 |
final List<ObjectRelation> relationsResult = new ArrayList<>(); |
68 | 68 |
relations.forEach(relationMap -> { |
69 | 69 |
final String relationType = relationMap.getAttributes().get("relationType"); |
70 |
final String relatedIdentifierType = relationMap.getAttributes().get("relatedIdentifierType"); |
|
70 |
final String inverseRelationType = relationMap.getAttributes().get("inverseRelationType"); |
|
71 |
final String relatedIdentifierType = relationMap.getAttributes().get("relatedIdentifierType"); |
|
71 | 72 |
final String relatedPid = relationMap.getTextValue(); |
72 | 73 |
final ObjectRelation currentRelation = new ObjectRelation(); |
73 | 74 |
currentRelation.setTargetPID(new PID(relatedPid, relatedIdentifierType)); |
74 | 75 |
currentRelation.setRelationSemantics(relationType); |
75 |
currentRelation.setCompletionStatus(CompletionStatus.incomplete.toString()); |
|
76 |
currentRelation.setInverseRelation(inverseRelationType); |
|
77 |
currentRelation.setCompletionStatus(CompletionStatus.incomplete.toString()); |
|
76 | 78 |
relationsResult.add(currentRelation); |
77 | 79 |
}); |
78 | 80 |
parsedObject.setRelations(relationsResult); |
modules/dnet-dli/trunk/src/main/java/eu/dnetlib/resolver/parser/ScholixResolverParser.java | ||
---|---|---|
80 | 80 |
parsedObject.setType(ObjectType.valueOf(sourceTypes.get(0))); |
81 | 81 |
} |
82 | 82 |
|
83 |
List<String> inverseRelationType = UtilityParser.getTextValue(ap, vn, "//*[local-name()='inverseRelation']"); |
|
84 |
String inverseRelationSemantic = null; |
|
85 |
|
|
86 |
if (inverseRelationType != null && inverseRelationType.size() > 0) { |
|
87 |
inverseRelationSemantic = inverseRelationType.get(0); |
|
88 |
} |
|
89 |
|
|
83 | 90 |
List<String> relationType = UtilityParser.getTextValue(ap, vn, "//*[local-name()='relationType']"); |
84 | 91 |
String relationSemantic = null; |
85 | 92 |
|
... | ... | |
97 | 104 |
relation.setCompletionStatus(CompletionStatus.incomplete.toString()); |
98 | 105 |
relation.setRelationProvenance(parsedObject.getDatasourceProvenance()); |
99 | 106 |
relation.setRelationSemantics(relationSemantic); |
107 |
relation.setInverseRelation(inverseRelationSemantic); |
|
100 | 108 |
relation.setTargetPID(new PID(targetPid.get(0).getTextValue(), targetPid.get(0).getAttributes().get("type"))); |
101 | 109 |
if (targetTypes != null || targetTypes.size() > 0) |
102 | 110 |
relation.setTargetType(ObjectType.valueOf(targetTypes.get(0))); |
modules/dnet-dli/trunk/src/main/resources/eu/dnetlib/dli/templates/ScholixXML.st | ||
---|---|---|
6 | 6 |
}$ |
7 | 7 |
$object.relations:{ |
8 | 8 |
<relationType scheme="datacite">$it.relationSemantics$</relationType> |
9 |
<inverseRelation scheme="datacite">$it.inverseRelation$</relationType> |
|
9 | 10 |
}$ |
10 | 11 |
</assertion_info> |
11 | 12 |
<source> |
modules/dnet-dli/trunk/src/main/resources/eu/dnetlib/dli/templates/PMFXML.st | ||
---|---|---|
9 | 9 |
}$ |
10 | 10 |
<dc:type>$object.type$</dc:type> |
11 | 11 |
$object.relations:{ |
12 |
<oaf:relatedIdentifier relatedIdentifierType="$it.targetPID.type$" relationType="$it.relationSemantics$" entityType="$it.targetType$">$it.targetPID.escapeXMLId$</oaf:relatedIdentifier> }$ |
|
12 |
<oaf:relatedIdentifier relatedIdentifierType="$it.targetPID.type$" relationType="$it.relationSemantics$" inverseRelationType="$it.inverseRelation$" entityType="$it.targetType$">$it.targetPID.escapeXMLId$</oaf:relatedIdentifier> }$
|
|
13 | 13 |
$object.datasourceProvenance:{$if(it.showPublisher)$<dc:publisher>$it.escapedPublisher$</dc:publisher>$endif$}$ |
14 | 14 |
</metadata> |
15 | 15 |
<oaf:about> |
modules/dnet-dli/trunk/src/main/resources/eu/dnetlib/dli/templates/DMFXML.st | ||
---|---|---|
21 | 21 |
$if(object.relations)$ |
22 | 22 |
<relatedIdentifiers> |
23 | 23 |
$object.relations:{ |
24 |
<relatedIdentifier relatedIdentifierType="$it.targetPID.type$" relationType="$it.relationSemantics$" entityType="$it.targetType$">$it.targetPID.escapeXMLId$</relatedIdentifier> |
|
24 |
<relatedIdentifier relatedIdentifierType="$it.targetPID.type$" relationType="$it.relationSemantics$ inverseRelationType="$it.inverseRelation$" entityType="$it.targetType$">$it.targetPID.escapeXMLId$</relatedIdentifier>
|
|
25 | 25 |
}$ |
26 | 26 |
</relatedIdentifiers> |
27 | 27 |
$endif$ |
modules/dnet-dli/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/TransformationRuleDSResources/elsevier_transform.xml | ||
---|---|---|
31 | 31 |
<assertion_info> |
32 | 32 |
<source><xsl:value-of select="$source"/></source> |
33 | 33 |
<relationType scheme="datacite">unknown</relationType> |
34 |
<inverseRelation scheme="datacite">unknown</inverseRelation> |
|
34 | 35 |
</assertion_info> |
35 | 36 |
<source> |
36 | 37 |
<pid type="DOI"><xsl:value-of select="//column[./@name='ArticleID']"/></pid> |
Also available in: Unified diff
Introduced inverseRelation