Project

General

Profile

« Previous | Next » 

Revision 53427

avoid to pick unwanted collectedfrom values (#3929), avoid duplicated values

View differences:

modules/dnet-openaireplus-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/MDFormatDSResources/MDFormatDSResourceType/2-8b9503d9-8a86-4330-93ef-7e0cd9bc87c2.xml
160 160
		                <FIELD name="resulttitle"
161 161
		                       xpath="//*[local-name() = 'entity']/*[local-name() ='result']/title | //*[local-name()='entity']/*[local-name()='result']/children/result/title"
162 162
		                       stat="false" result="false" indexable="true"/>
163
		                <FIELD name="resultsubject" xpath="//*[local-name()='entity']/*[local-name()='result']/subject" tokenizable="false" stat="false"
163
		                <FIELD name="resultsubject" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/subject)" tokenizable="false" stat="false"
164 164
		                       result="false" indexable="true"/>
165
		                <FIELD name="resultsubjectclass" xpath="//*[local-name()='entity']/*[local-name()='result']/subject/@classname" tokenizable="false"
165
		                <FIELD name="resultsubjectclass" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/subject/@classname)" tokenizable="false"
166 166
		                       stat="false" result="false" indexable="true"/>
167 167
		                <FIELD name="resultembargoenddate" value="//*[local-name()='entity']/*[local-name()='result']/embargoenddate" type="pdate" stat="false"
168 168
		                       result="false" indexable="true" multivalued="false"/>
......
194 194
		                       type="personNamePrefix" stat="false" result="false" indexable="true" multivalued="true" />
195 195
		                <FIELD name="resulthostingdatasource"
196 196
		                       xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='hostedby']"
197
		                       value="dnet:join(./@id, '||', ./@name)" tokenizable="false" stat="false" result="false" indexable="true"/>
197
		                       value="distinct-values(dnet:join(./@id, '||', ./@name))" tokenizable="false" stat="false" result="false" indexable="true"/>
198 198
		                <FIELD name="resulthostingdatasourceid"
199
		                       xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='hostedby']/@id" tokenizable="false"
199
		                       xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='hostedby']/@id)" tokenizable="false"
200 200
		                       stat="false" result="false" indexable="true"/>
201 201
		                <FIELD name="resulthostingdatasourcename"
202
		                       xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='hostedby']/@name"
202
		                       xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='hostedby']/@name)"
203 203
		                       tokenizable="false" stat="false" result="false" indexable="true"/>
204 204

  
205 205
		                <FIELD name="instancetypename"
206
		                       xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='instancetype']/@classname"
206
		                       xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/children/instance/*[local-name()='instancetype']/@classname)"
207 207
		                       tokenizable="false" stat="false" result="false" indexable="true"/>
208 208
		                <FIELD name="resultdupid" xpath="//*[local-name()='entity']/*//children/result/@objidentifier" tokenizable="false" stat="false"
209 209
		                       result="false" indexable="true"/>
210 210

  
211
		                <FIELD name="externalrefsite" xpath="//*[local-name()='entity']/*//children/externalreference/sitename" tokenizable="false" stat="false"
211
		                <FIELD name="externalrefsite" xpath="distinct-values(//*[local-name()='entity']/*//children/externalreference/sitename)" tokenizable="false" stat="false"
212 212
		                       result="false" indexable="true"/>
213
		                <FIELD name="externalreflabel" xpath="//*[local-name()='entity']/*//children/externalreference/label" tokenizable="true" stat="false"
213
		                <FIELD name="externalreflabel" xpath="distinct-values(//*[local-name()='entity']/*//children/externalreference/label)" tokenizable="true" stat="false"
214 214
		                       result="false" indexable="true"/>
215
		                <FIELD name="externalrefclass" xpath="//*[local-name()='entity']/*//children/externalreference/qualifier/@classid" tokenizable="false"
215
		                <FIELD name="externalrefclass" xpath="distinct-values(//*[local-name()='entity']/*//children/externalreference/qualifier/@classid)" tokenizable="false"
216 216
		                       stat="false" result="false" indexable="true"/>
217
		                <FIELD name="externalrefid" xpath="//*[local-name()='entity']/*//children/externalreference/refidentifier" tokenizable="false"
217
		                <FIELD name="externalrefid" xpath="(//*[local-name()='entity']/*//children/externalreference/refidentifier)" tokenizable="false"
218 218
		                       stat="false" result="false" indexable="true"/>
219 219

  
220 220
		                <FIELD indexable="true" name="resultidentifier" result="false" stat="false"
221
		                       xpath="//*[local-name()='entity']/*[local-name()='result']/children/instance/webresource/*[local-name()='url']"/>
221
		                       xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/children/instance/webresource/*[local-name()='url'])"/>
222 222
		                <FIELD indexable="true" name="resultsource" result="false" stat="false"
223
		                       xpath="//*[local-name()='entity']/*[local-name()='result']/source"/>
223
		                       xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/source)"/>
224 224

  
225 225
		                <!--  REL FIELDS -->
226 226
		                <FIELD name="reldatasourcecompatibilityid"
227
		                       xpath="//*[local-name()='entity']/*//rel[./to/@type='datasource']/openairecompatibility/@classid" tokenizable="false"
227
		                       xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='datasource']/openairecompatibility/@classid)" tokenizable="false"
228 228
		                       indexable="true" stat="false" result="false"/>
229
		                <FIELD name="relpersonid" xpath="//*[local-name()='entity']/*//rel/to[@type='person']" tokenizable="false" stat="false" result="false"
230
		                       indexable="true"/>
231
		                <FIELD name="relperson" xpath="//*[local-name()='entity']/*//rel[./to/@type='person']/fullname" stat="false" indexable="true"
232
		                       result="false"/>
233 229

  
234 230
		                <FIELD name="relproject" xpath="//*[local-name()='entity']/*//rel/to[@type='project']"
235
		                       value="dnet:join(./text(), '||', dnet:pickFirst(../acronym/text(), ../title/text()))"
231
		                       value="distinct-values(dnet:join(./text(), '||', dnet:pickFirst(../acronym/text(), ../title/text())))"
236 232
		                       tokenizable="false" stat="false" result="false" indexable="true" />
237 233

  
238
		                <FIELD name="relprojectid" xpath="//*[local-name()='entity']/*//rel/to[@type='project']" stat="false" result="false"
234
		                <FIELD name="relprojectid" xpath="distinct-values(//*[local-name()='entity']/*//rel/to[@type='project'])" stat="false" result="false"
239 235
		                       indexable="true" tokenizable="false"/>
240
		                <FIELD name="relprojectcode" xpath="//*[local-name()='entity']/*//rel[to/@type='project']/code" stat="false" result="false"
236
		                <FIELD name="relprojectcode" xpath="distinct-values(//*[local-name()='entity']/*//rel[to/@type='project']/code)" stat="false" result="false"
241 237
		                       indexable="true"/>
242
		                <FIELD name="relprojectname" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/acronym" tokenizable="false" stat="false"
238
		                <FIELD name="relprojectname" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='project']/acronym)" tokenizable="false" stat="false"
243 239
		                       result="false" indexable="true"/>
244
		                <FIELD name="relprojecttitle" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/title" stat="false" result="false"
240
		                <FIELD name="relprojecttitle" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='project']/title)" stat="false" result="false"
245 241
		                       indexable="true"/>
246
		                <FIELD name="relcontracttypeid" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/contracttype/@classid"
242
		                <FIELD name="relcontracttypeid" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='project']/contracttype/@classid)"
247 243
		                       tokenizable="false" indexable="true" stat="false" result="false"/>
248
		                <FIELD name="relcontracttypename" xpath="//*[local-name()='entity']/*//rel[./to/@type='project']/contracttype/@classname"
244
		                <FIELD name="relcontracttypename" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='project']/contracttype/@classname)"
249 245
		                       indexable="true" stat="false" result="false"/>
250
		                <FIELD name="relorganizationcountryid" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classid"
246
		                <FIELD name="relorganizationcountryid" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classid)"
251 247
		                       tokenizable="false" indexable="true" stat="false" result="false"/>
252
		                <FIELD name="relorganizationcountryname" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classname"
248
		                <FIELD name="relorganizationcountryname" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='organization']/country/@classname)"
253 249
		                       indexable="true" stat="false" result="false"/>
254
		                <FIELD name="relorganizationid" xpath="//*[local-name()='entity']/*//rel/to[@type='organization']" tokenizable="false" stat="false"
250
		                <FIELD name="relorganizationid" xpath="distinct-values(//*[local-name()='entity']/*//rel/to[@type='organization'])" tokenizable="false" stat="false"
255 251
		                       result="false" indexable="true"/>
256
		                <FIELD name="relorganizationname" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/legalname" stat="false"
252
		                <FIELD name="relorganizationname" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='organization']/legalname)" stat="false"
257 253
		                       result="false" indexable="true"/>
258
		                <FIELD name="relorganizationshortname" xpath="//*[local-name()='entity']/*//rel[./to/@type='organization']/legalshortname" stat="false"
254
		                <FIELD name="relorganizationshortname" xpath="distinct-values(//*[local-name()='entity']/*//rel[./to/@type='organization']/legalshortname)" stat="false"
259 255
		                       result="false" indexable="true"/>
260
		                <FIELD name="relresultid" xpath="//*[local-name()='entity']/*//rel/to[@type='result']" tokenizable="false" stat="false" result="false"
256
		                <FIELD name="relresultid" xpath="distinct-values(//*[local-name()='entity']/*//rel/to[@type='result'])" tokenizable="false" stat="false" result="false"
261 257
		                       indexable="true"/>
262 258
		                <FIELD name="relfundinglevel0_id" xpath="//*[local-name()='entity']//rel/funding/funding_level_0" tokenizable="false" stat="false"
263 259
		                       result="false" indexable="true"/>
264
                                <FIELD name="relfundinglevel0_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_0/@name/string()" tokenizable="false" stat="false"
265
                                       result="false" indexable="true"/>
260
						<FIELD name="relfundinglevel0_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_0/@name/string()" tokenizable="false" stat="false"
261
							   result="false" indexable="true"/>
266 262
		                <FIELD name="relfundinglevel1_id" xpath="//*[local-name()='entity']//rel/funding/funding_level_1" tokenizable="false" stat="false"
267 263
		                       result="false" indexable="true"/>
268
                                <FIELD name="relfundinglevel1_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_1/@name/string()" tokenizable="false" stat="false"
269
				       result="false" indexable="true"/>
264
						<FIELD name="relfundinglevel1_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_1/@name/string()" tokenizable="false" stat="false"
265
							   result="false" indexable="true"/>
270 266
		                <FIELD name="relfundinglevel2_id" xpath="//*[local-name()='entity']//rel/funding/funding_level_2" tokenizable="false" stat="false"
271 267
		                       result="false" indexable="true"/>
272
                                <FIELD name="relfundinglevel2_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_2/@name/string()" tokenizable="false" stat="false"
273
                                       result="false" indexable="true"/>
268
						<FIELD name="relfundinglevel2_name" xpath="//*[local-name()='entity']//rel/funding/funding_level_2/@name/string()" tokenizable="false" stat="false"
269
							   result="false" indexable="true"/>
274 270

  
275
		                <FIELD name="relinferred" xpath="//*[local-name()='entity']//rel/@inferred" tokenizable="false" stat="false" result="false"
271
		                <FIELD name="relinferred" xpath="distinct-values(//*[local-name()='entity']//rel/@inferred)" tokenizable="false" stat="false" result="false"
276 272
		                       indexable="true"/>
277
		                <FIELD name="reltrust" xpath="//*[local-name()='entity']//rel/@trust" tokenizable="false" stat="false" result="false" indexable="true"/>
278
		                <FIELD name="relinferenceprovenance" xpath="//*[local-name()='entity']//rel/@inferenceprovenance" tokenizable="false" stat="false"
273
		                <FIELD name="reltrust" xpath="distinct-values(//*[local-name()='entity']//rel/@trust)" tokenizable="false" stat="false" result="false" indexable="true"/>
274
		                <FIELD name="relinferenceprovenance" xpath="distinct-values(//*[local-name()='entity']//rel/@inferenceprovenance)" tokenizable="false" stat="false"
279 275
		                       result="false" indexable="true"/>
280
		                <FIELD name="relprovenanceactionclassid" xpath="//*[local-name()='entity']//rel/@provenanceaction" tokenizable="false" stat="false"
276
		                <FIELD name="relprovenanceactionclassid" xpath="distinct-values(//*[local-name()='entity']//rel/@provenanceaction)" tokenizable="false" stat="false"
281 277
		                       result="false" indexable="true"/>
282 278

  
283 279
		                <!--  PROJECTS' FUNDER FIELDS: indexable only with the new funding path/context handling -->
284 280

  
285
		                <FIELD name="relfunder" xpath="//*[local-name()='entity']//rel/funding/funder" value="dnet:join(@id, '||', dnet:join(@name, '||', @shortname))"
281
		                <FIELD name="relfunder" xpath="//*[local-name()='entity']//rel/funding/funder" value="distinct-values(dnet:join(@id, '||', dnet:join(@name, '||', @shortname)))"
286 282
		                       tokenizable="false" indexable="true" result="false" stat="false"/>
287 283

  
288
		                <FIELD name="relfunderid" xpath="//*[local-name()='entity']//rel/funding/funder/@id" tokenizable="false" indexable="true"
284
		                <FIELD name="relfunderid" xpath="distinct-values(//*[local-name()='entity']//rel/funding/funder/@id)" tokenizable="false" indexable="true"
289 285
		                       result="false" stat="false"/>
290
		                <FIELD name="relfundershortname" xpath="//*[local-name()='entity']//rel/funding/funder/@shortname" tokenizable="false" indexable="true"
286
		                <FIELD name="relfundershortname" xpath="distinct-values(//*[local-name()='entity']//rel/funding/funder/@shortname)" tokenizable="false" indexable="true"
291 287
		                       result="false" stat="false"/>
292
		                <FIELD name="relfundername" xpath="//*[local-name()='entity']//rel/funding/funder/@name" tokenizable="false" indexable="true"
288
		                <FIELD name="relfundername" xpath="distinct-values(//*[local-name()='entity']//rel/funding/funder/@name)" tokenizable="false" indexable="true"
293 289
		                       result="false" stat="false"/>
294
		                <FIELD name="relfunderjurisdiction" xpath="//*[local-name()='entity']//rel/funding/funder/@jurisdiction" tokenizable="false"
290
		                <FIELD name="relfunderjurisdiction" xpath="distinct-values(//*[local-name()='entity']//rel/funding/funder/@jurisdiction)" tokenizable="false"
295 291
		                       indexable="true" result="false" stat="false"/>
296 292

  
297 293
		                <!-- Collected from of the related entity. Available for result-result relationships -->
298
		                <FIELD name="relcollectedfromid" xpath="//*[local-name()='entity']/*//rel/collectedfrom/@id" tokenizable="false" stat="false" result="false"
294
		                <FIELD name="relcollectedfromid" xpath="distinct-values(//*[local-name()='entity']/*//rel/collectedfrom/@id)" tokenizable="false" stat="false" result="false"
299 295
		                       indexable="true"/>
300
		                <FIELD name="relcollectedfromname" xpath="//*[local-name()='entity']/*//rel/collectedfrom/@name" tokenizable="false" stat="false" result="false"
296
		                <FIELD name="relcollectedfromname" xpath="distinct-values(//*[local-name()='entity']/*//rel/collectedfrom/@name)" tokenizable="false" stat="false" result="false"
301 297
		                       indexable="true"/>
302 298

  
303 299

  
......
306 302
		                <FIELD name="dateofcollection" value="//header/*[local-name()='dateOfCollection']" type="pdate" stat="false" result="false"
307 303
		                       indexable="true" multivalued="false"/>
308 304

  
309
		                <FIELD name="collectedfrom" xpath="//*[local-name()='entity']/*//*[local-name()='collectedfrom']"
310
		                       value="dnet:join(./@id, '||', ./@name)" tokenizable="false" stat="false" result="false" indexable="true" />
305
		                <FIELD name="collectedfrom" xpath="//*[local-name()='entity']/*/*[local-name()='collectedfrom'] | //*[local-name()='entity']/*//*[local-name() = 'instance']/*[local-name()='collectedfrom']"
306
		                       value="distinct-values(dnet:join(./@id, '||', ./@name))" tokenizable="false" stat="false" result="false" indexable="true" />
311 307

  
312
		                <FIELD name="collectedfromdatasourceid" xpath="//*[local-name()='entity']/*//*[local-name()='collectedfrom']/@id" tokenizable="false"
313
		                       indexable="true" result="false" stat="false"/>
314
		                <FIELD name="collectedfromname" xpath="//*[local-name()='entity']/*//*[local-name()='collectedfrom']/@name" tokenizable="false"
315
		                       indexable="true" result="false" stat="false"/>
308
		                <FIELD name="collectedfromdatasourceid" xpath="distinct-values(//*[local-name()='entity']/*/*[local-name()='collectedfrom']/@id | //*[local-name()='entity']/*//*[local-name() = 'instance']/*[local-name()='collectedfrom']/@id)"
309
							   tokenizable="false" indexable="true" result="false" stat="false"/>
310
		                <FIELD name="collectedfromname" xpath="distinct-values(//*[local-name()='entity']/*/*[local-name()='collectedfrom']/@name | //*[local-name()='entity']/*//*[local-name() = 'instance']/*[local-name()='collectedfrom']/@name)"
311
							   tokenizable="false" indexable="true" result="false" stat="false"/>
316 312

  
317 313
		                <FIELD name="pid" xpath="//*[local-name()='entity']/*[local-name()='result']/pid/text()" type="string_ci" tokenizable="false" stat="false" result="false" indexable="true"/>
318
		                <FIELD name="pidclassid" xpath="//*[local-name()='entity']/*[local-name()='result']/pid/@classid" tokenizable="false" stat="false" result="false"
314
		                <FIELD name="pidclassid" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/pid/@classid)" tokenizable="false" stat="false" result="false"
319 315
		                       indexable="true"/>
320
		                <FIELD name="pidclassname" xpath="//*[local-name()='entity']/*[local-name()='result']/pid/@classname" tokenizable="false" stat="false" result="false"
316
		                <FIELD name="pidclassname" xpath="distinct-values(//*[local-name()='entity']/*[local-name()='result']/pid/@classname)" tokenizable="false" stat="false" result="false"
321 317
		                       indexable="true"/>
322 318

  
323 319
		                <FIELD name="inferred" xpath="//*[local-name()='entity']//datainfo/inferred" tokenizable="false" stat="false" result="false"

Also available in: Unified diff