Project

General

Profile

« Previous | Next » 

Revision 45425

Introduced inverseRelation

View differences:

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