Project

General

Profile

1
SELECT
2
	d.id                                                                                                       AS datasourceid,
3
	d.id || array_agg(di.pid)                                                                                  AS identities,
4
	d.officialname                                                                                             AS officialname,
5
	d.englishname                                                                                              AS englishname,
6
	CASE
7
		WHEN (array_agg(DISTINCT COALESCE (a.compatibility_override, a.compatibility):: TEXT) @> ARRAY ['driver', 'openaire2.0'])
8
			THEN
9
				'driver-openaire2.0@@@OpenAIRE 2.0+ (DRIVER OA, EC funding)@@@dnet:datasourceCompatibilityLevel@@@dnet:datasourceCompatibilityLevel'
10
		WHEN (array_agg(DISTINCT COALESCE (a.compatibility_override, a.compatibility) :: TEXT) @> ARRAY ['driver'])
11
			THEN
12
				'driver@@@OpenAIRE Basic (DRIVER OA)@@@dnet:datasourceCompatibilityLevel@@@dnet:datasourceCompatibilityLevel'
13
		WHEN (array_agg(DISTINCT COALESCE (a.compatibility_override, a.compatibility) :: TEXT) @> ARRAY ['openaire2.0'])
14
			THEN
15
				'openaire2.0@@@OpenAIRE 2.0 (EC funding)@@@dnet:datasourceCompatibilityLevel@@@dnet:datasourceCompatibilityLevel'
16
		WHEN (array_agg(DISTINCT COALESCE (a.compatibility_override, a.compatibility) :: TEXT) @> ARRAY ['openaire3.0'])
17
			THEN
18
				'openaire3.0@@@OpenAIRE 3.0 (OA, funding)@@@dnet:datasourceCompatibilityLevel@@@dnet:datasourceCompatibilityLevel'
19
		WHEN (array_agg(DISTINCT COALESCE (a.compatibility_override, a.compatibility) :: TEXT) @> ARRAY ['openaire2.0_data'])
20
			THEN
21
				'openaire2.0_data@@@OpenAIRE Data (funded, referenced datasets)@@@dnet:datasourceCompatibilityLevel@@@dnet:datasourceCompatibilityLevel'
22
		WHEN (array_agg(DISTINCT COALESCE (a.compatibility_override, a.compatibility) :: TEXT) @> ARRAY ['native'])
23
			THEN
24
				'native@@@proprietary@@@dnet:datasourceCompatibilityLevel@@@dnet:datasourceCompatibilityLevel'
25
		WHEN (array_agg(DISTINCT COALESCE (a.compatibility_override, a.compatibility) :: TEXT) @> ARRAY ['hostedBy'])
26
			THEN
27
				'hostedBy@@@collected from a compatible aggregator@@@dnet:datasourceCompatibilityLevel@@@dnet:datasourceCompatibilityLevel'
28
		WHEN (array_agg(DISTINCT COALESCE (a.compatibility_override, a.compatibility) :: TEXT) @> ARRAY ['notCompatible'])
29
			THEN
30
			'notCompatible@@@under validation@@@dnet:datasourceCompatibilityLevel@@@dnet:datasourceCompatibilityLevel'
31
	ELSE
32
		'UNKNOWN@@@not available@@@dnet:datasourceCompatibilityLevel@@@dnet:datasourceCompatibilityLevel'
33
	END                                                                                                        AS openairecompatibility,
34
	d.websiteurl                                                                                               AS websiteurl,
35
	d.logourl                                                                                                  AS logourl,
36
	array_agg(DISTINCT CASE WHEN a.protocol = 'oai' THEN a.baseurl ELSE NULL END)                              AS accessinfopackage,
37
	d.latitude                                                                                                 AS latitude,
38
	d.longitude                                                                                                AS longitude,
39
	d.namespaceprefix                                                                                          AS namespaceprefix,
40
	NULL                                                                                                       AS odnumberofitems,
41
	NULL                                                                                                       AS odnumberofitemsdate,
42

    
43
	(SELECT array_agg(s|| '###keywords@@@keywords@@@dnet:subject_classification_typologies@@@dnet:subject_classification_typologies')
44
		FROM UNNEST(
45
			ARRAY(
46
				SELECT trim(s)
47
        FROM unnest(string_to_array(d.subjects, '@@')) AS s)) AS s)                                   AS subjects,
48

    
49
	d.description                                                                                              AS description,
50
	NULL                                                                                                       AS odpolicies,
51
	ARRAY(SELECT trim(s)
52
	      FROM unnest(string_to_array(d.languages, ',')) AS s)                                                 AS odlanguages,
53
	ARRAY(SELECT trim(s)
54
	      FROM unnest(string_to_array(d.od_contenttypes, '-')) AS s)                                           AS odcontenttypes,
55
	false                                                                                                      AS inferred,
56
	false                                                                                                      AS deletedbyinference,
57
	0.9                                                                                                        AS trust,
58
	NULL                                                                                                       AS inferenceprovenance,
59
	d.dateofcollection                                                                                         AS dateofcollection,
60
	d.dateofvalidation                                                                                         AS dateofvalidation,
61
		-- re3data fields
62
	d.releasestartdate                                                                                         AS releasestartdate,
63
	d.releaseenddate                                                                                           AS releaseenddate,
64
	d.missionstatementurl                                                                                      AS missionstatementurl,
65
	d.dataprovider                                                                                             AS dataprovider,
66
	d.serviceprovider                                                                                          AS serviceprovider,
67
	d.databaseaccesstype                                                                                       AS databaseaccesstype,
68
	d.datauploadtype                                                                                           AS datauploadtype,
69
	d.databaseaccessrestriction                                                                                AS databaseaccessrestriction,
70
	d.datauploadrestriction                                                                                    AS datauploadrestriction,
71
	d.versioning                                                                                               AS versioning,
72
	d.citationguidelineurl                                                                                     AS citationguidelineurl,
73
	d.qualitymanagementkind                                                                                    AS qualitymanagementkind,
74
	d.pidsystems                                                                                               AS pidsystems,
75
	d.certificates                                                                                             AS certificates,
76
	ARRAY[]::text[]                                                                                            AS policies,
77
	dc.id                                                                                                      AS collectedfromid,
78
	dc.officialname                                                                                            AS collectedfromname,
79
	d.typology || '@@@' || CASE
80
		WHEN (d.typology = 'crissystem') THEN 'CRIS System'
81
		WHEN (d.typology = 'datarepository::unknown') THEN 'Data Repository'
82
		WHEN (d.typology = 'aggregator::datarepository') THEN 'Data Repository Aggregator'
83
		WHEN (d.typology = 'infospace') THEN 'Information Space'
84
		WHEN (d.typology = 'pubsrepository::institutional') THEN 'Institutional Repository'
85
		WHEN (d.typology = 'aggregator::pubsrepository::institutional') THEN 'Institutional Repository Aggregator'
86
		WHEN (d.typology = 'pubsrepository::journal') THEN 'Journal'
87
		WHEN (d.typology = 'aggregator::pubsrepository::journals') THEN 'Journal Aggregator/Publisher'
88
		WHEN (d.typology = 'pubsrepository::mock') THEN 'Other'
89
		WHEN (d.typology = 'pubscatalogue::unknown') THEN 'Publication Catalogue'
90
		WHEN (d.typology = 'pubsrepository::unknown') THEN 'Publication Repository'
91
		WHEN (d.typology = 'aggregator::pubsrepository::unknown') THEN 'Publication Repository Aggregator'
92
		WHEN (d.typology = 'entityregistry') THEN 'Registry'
93
		WHEN (d.typology = 'scholarcomminfra') THEN 'Scholarly Comm. Infrastructure'
94
		WHEN (d.typology = 'pubsrepository::thematic') THEN 'Thematic Repository'
95
		WHEN (d.typology = 'websource') THEN 'Web Source'
96
		WHEN (d.typology = 'entityregistry::projects') THEN 'Funder database'
97
		WHEN (d.typology = 'entityregistry::repositories') THEN 'Registry of repositories'
98
		WHEN (d.typology = 'softwarerepository') THEN 'Software Repository'
99
		WHEN (d.typology = 'aggregator::softwarerepository') THEN 'Software Repository Aggregator'
100
		WHEN (d.typology = 'orprepository') THEN 'Repository'
101
		ELSE 'Other'
102
	END || '@@@dnet:datasource_typologies@@@dnet:datasource_typologies'                               AS datasourcetype,
103
	'sysimport:crosswalk:entityregistry@@@sysimport:crosswalk:entityregistry@@@dnet:provenance_actions@@@dnet:provenance_actions' AS provenanceaction
104

    
105
FROM dsm_datasources d
106

    
107
LEFT OUTER JOIN dsm_datasources dc on (d.collectedfrom = dc.id)
108
LEFT OUTER JOIN dsm_api a ON (d.id = a.datasource)
109
LEFT OUTER JOIN dsm_datasourcepids di ON (d.id = di.datasource)
110

    
111
GROUP BY
112
	d.id,
113
	d.officialname,
114
	d.englishname,
115
	d.websiteurl,
116
	d.logourl,
117
	d.contactemail,
118
	d.namespaceprefix,
119
	d.description,
120
	d.latitude,
121
	d.longitude,
122
	d.dateofcollection,
123
	d.dateofvalidation,
124
	d.releasestartdate,
125
	d.releaseenddate,
126
	d.missionstatementurl,
127
	d.dataprovider,
128
	d.serviceprovider,
129
	d.databaseaccesstype,
130
	d.datauploadtype,
131
	d.databaseaccessrestriction,
132
	d.datauploadrestriction,
133
	d.versioning,
134
	d.citationguidelineurl,
135
	d.qualitymanagementkind,
136
	d.pidsystems,
137
	d.certificates,
138
	dc.id,
139
	dc.officialname
(4-4/9)