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

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

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

    
108
FROM dsm_datasources d
109

    
110
LEFT OUTER JOIN dsm_datasources dc on (d.collectedfrom = dc.id)
111
LEFT OUTER JOIN dsm_api a ON (d.id = a.datasource)
112
LEFT OUTER JOIN dsm_datasourcepids di ON (d.id = di.datasource)
113

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