-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDCAT-mdJSON Mapping
70 lines (66 loc) · 7.54 KB
/
DCAT-mdJSON Mapping
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
DCAT-US - mdTranslator
Always (always required)
Title | dcat:title | citation.title
Description | dcat:description | citation.abstract
Tags | dcat:keyword | [resourceInfo.keywords *flatten*, thesauri is dropped]
Last Update | dcat:modified | citation.dates.[most recent].date
Publisher | dcat:publisher{name} | if citation.responsibleParty[any].role = "publisher"
contactId -> contact.name
else if resourceDistribution.distributor.contact NOT NULL
[first contact] contactId -> contact.name
Publisher Parent Organization | dcat:publisher{subOrganizationOf} | if citation.responsibleParty[any].role = "publisher"
and contactId -> memberOfOrganization[0] NOT NULL
and isOrganization IS TRUE
contactId -> contact.name
else if resourceDistribution.distributor.contact NOT NULL
and contactId -> memberOfOrganization[0] NOT NULL
and isOrganization IS TRUE
contactId -> contact.name
Contact Name | dcat:contactPoint{fn} | resourceInfo.pointOfContact.parties[0].contactId -> contact.name
Contact Email | dcat:contactPoint{email} | resourceInfo.pointOfContact.parties[0].contactId -> contact.eMailList[0]
Unique Identifier | dcat:identifier | if resourceInfo.citation.identifier.namespace = 'DOI' then
resourceInfo.citation.onlineResource.uri
else if 'DOI' within resourceInfo.citation.onlineResource.uri
resourceInfo.citation.onlineResource.uri
Public Access Level | dcat:accessLevel | [extend codelist MD_RestrictionCode to include 'public',
'restricted public', 'non-public']
if resourceInfo.constraints.legal[any] one of
{'public', 'restricted public', 'non-public'} then
resourceInfo.constraints.legal[first]
Bureau Code | dcat:bureauCode | [extend role codelist to include 'bureau']
[extend namespace codelist to include 'bureauCode']
for each resourceInfo.citation.responsibleParty[any] role = 'bureau'
contactId -> contact.identifier
[identifier must conform to https://resources.data.gov/schemas/dcat-us/v1.1/omb_bureau_codes.csv]
Program Code | dcat:programCode | [add new element of program resourceInfo.programCode]
[add new codelist of programCode]
resourceInfo.program[0,n]
If-Applicable (required if it exists)
Distribution | dcat:distribution | ~~[citation.onlineResources[].uri *object*]~~**if resourceDistribution [0] and for each resourceDistribution [0, n] where resourceDistribution.distributor.transferOption.onlineOption.uri NOT NULL then**
** Description | dcat:distribution.description | resourceDistribution.description**
** AccessURL | dcat:distribution.accessURL | if citation.onlineResources[].uri [has 'doi' in path] then dcat:distribution.accessURL = resourceDistribution.distributor.transferOption.onlineOption.uri [only one access URL allowed, take first one]**
** DownloadURL | dcat.distribution.downloadURL | if citation.onlineResources[].uri [does not have 'doi' in path] then dcat:distribution.downloadURL = resourceDistribution.distributor.transferOption.onlineOption.uri [only one download URL allowed, take first one]**
** MediaType | dcat:distribution.mediaType | [add code of ZIP to mediumName codelist] [mediumName is not used in mdJSON schema, needs research, add to schema, not clear where it goes in ISO]**
** Title | dcat:distribution.title | resourceDistribution.distributor.transferOption.onlineOption.name**
License | dcat:license | 'https://creativecommons.org/publicdomain/zero/1.0/' **[shall we default or read from constraint.reference.citation.uri?]**
'http://www.usa.gov/publicdomain/label/1.0/'
'http://opendatacommons.org/licenses/pddl/1.0/'
Rights | dcat:rights | **if constraint.accessLevel<>'public' then constraint.releasibility.statement + " " + each constraint.releasibility.dessiminationConstraint[0, n]**
Endpoint | *removed* | *ignored*
Spatial | dcat:spatial | **if exists** resourceInfo.extents[0].geographicExtents[0].boundingBox **else if exists resourceInfo.extents[0].geographicExtents[0].description**
Temporal | dcat:temporal | ~~resourceInfo.extents[0].temporalExtents[0].timeInstant.timeInstant.dateTime~~ **if exists resourceInfo.extents.temporalExtent[0] then**
|** if
No (not required)
Release Date | dcat:issued | **
Frequency | dcat:accrualPeriodicity | **
Language | dcat:language | **
Data Quality | dcat:dataQuality | **
Category | dcat:theme | **
Related Documents | dcat:references | **
Homepage URL | dcat:landingPage | **
Collection | dcat:isPartOf | **
System of Records | dcat:systemOfRecords | **
Primary IT Investment | dcat:primaryITInvestmentUII | **
Data Dictionary | dcat:describedBy | **
Data Dictionary Type | dcat:describedByType | **
Data Standard | dcat:conformsTo | **