Remove old extras, include more RDFa markup for distributions/data resources
[ckanext-datagovau.git] / ckanext / datagovau / templates / package / read.rdf
Alex Sadleir 1 <?xml version="1.0" encoding="utf-8"?>
2 <rdf:RDF
3 xmlns:py="http://genshi.edgewall.org/"
4 xmlns:foaf="http://xmlns.com/foaf/0.1/"
5 xmlns:owl="http://www.w3.org/2002/07/owl#"
6 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8 xmlns:dcat="http://www.w3.org/ns/dcat#"
9 xmlns:dcam="http://purl.org/dc/dcam/"
10 xmlns:aglsterms="http://www.agls.gov.au/agls/terms/"
11 xmlns:agentterms="http://www.agls.gov.au/agls/agentterms/"
12 xmlns:availterms="http://www.agls.gov.au/agls/availterms/"
13 xmlns:adminterms="http://www.agls.gov.au/agls/adminterms/"
14 xmlns:dct="http://purl.org/dc/terms/"
15 >
16 <dcat:Dataset rdf:about="${ h.url_for(controller='package',action='read',id=c.pkg_dict['name'], qualified=True)}">
17 <dct:identifier>${c.pkg_dict['name']}</dct:identifier>
18 <dct:title>${c.pkg_dict['title']}</dct:title>
Alex Sadleir 19 <dct:landingPage
20 rdf:resource="${ h.url_for(controller='package',action='read',id=c.pkg_dict['name'], qualified=True) }"/>
Alex Sadleir 21 <owl:sameAs rdf:resource="urn:uuid:${c.pkg_dict['id']}"/>
22 <dct:type>Dataset</dct:type>
23 <dct:description>${c.pkg_dict['notes']}</dct:description>
24 <dct:issued>${c.pkg_dict['metadata_created']}</dct:issued>
25 <dct:modified>${c.pkg_dict['metadata_modified']}</dct:modified>
26 <dct:language>en</dct:language>
CKAN data.gov.au 27
28 <py:choose>
29 <py:when test="c.pkg_dict.get('license_url',None)">
Alex Sadleir 30 <dct:license>${c.pkg_dict['license_url']}</dct:license>
CKAN data.gov.au 31 <dct:rights rdf:resource="${c.pkg_dict['license_url']}"/>
32 </py:when>
33 <py:otherwise>
34 <dct:license>${c.pkg_dict['license_id']}</dct:license>
35 <dct:rights rdf:resource="${c.pkg_dict['license_id']}"/>
36 </py:otherwise>
37 </py:choose>
Alex Sadleir 38 <py:for each="tag_dict in c.pkg_dict.get('tags',[])">
39 <dcat:keyword>${ tag_dict["name"] }</dcat:keyword>
40 </py:for>
41 <py:for each="group_dict in c.pkg_dict.get('groups',[])">
Alex Sadleir 42 <dcat:theme>${ group_dict["title"] }</dcat:theme>
Alex Sadleir 43 </py:for>
44
Alex Sadleir 45 <foaf:homepage
46 rdf:resource="${ h.url_for(controller='package',action='read',id=c.pkg_dict['name'], qualified=True)}"/>
Alex Sadleir 47 <rdfs:label>${c.pkg_dict['name']}</rdfs:label>
48
49
50 <py:for each="rsc_dict in c.pkg_dict['resources']">
51 <dcat:distribution>
52 <dcat:Distribution>
53 <dct:title>${rsc_dict.get('name')}</dct:title>
54 <owl:sameAs rdf:resource="urn:uuid:${rsc_dict.get('id')}"/>
55 <dct:description>${rsc_dict.get('description')}</dct:description>
56 <dcat:accessURL rdf:resource="${ rsc_dict.get('url') }"/>
Alex Sadleir 57 <dct:created>${rsc_dict.get('created')}</dct:created>
Alex Sadleir 58 <dct:modified>${rsc_dict.get('revision_timestamp')}</dct:modified>
Alex Sadleir 59 <dcat:byteSize py:if="rsc_dict.get('size')">${rsc_dict.get('size')}</dcat:byteSize>
60 <dcat:mediaType py:if="rsc_dict.get('mimetype')">${rsc_dict.get('mimetype')}</dcat:mediaType>
Alex Sadleir 61 <dct:extent py:if="rsc_dict.get('size')">${rsc_dict.get('size')} bytes</dct:extent>
62 <dct:format py:if="rsc_dict.get('format')">
63 <dct:IMT>
64 <rdf:value>${rsc_dict.get('format')}</rdf:value>
65 <rdfs:label>${rsc_dict.get('format')}</rdfs:label>
66 </dct:IMT>
67 </dct:format>
68 <dct:title py:if="rsc_dict.get('name')">${rsc_dict.get('name')}</dct:title>
69 </dcat:Distribution>
70 </dcat:distribution>
71 </py:for>
Alex Sadleir 72 <dct:publisher py:if="c.pkg_dict.get('organization', None)">
Alex Sadleir 73 <rdf:Description>
74 <foaf:name>${ c.pkg_dict['organization']['title'] }</foaf:name>
75 </rdf:Description>
76 </dct:publisher>
Alex Sadleir 77 <dct:creator py:if="c.pkg_dict.get('organization', None)">
Alex Sadleir 78 <rdf:Description>
Alex Sadleir 79 <foaf:name>${ c.pkg_dict['organization']['title'] }</foaf:name>
Alex Sadleir 80 </rdf:Description>
81 </dct:creator>
CKAN data.gov.au 82 <dct:contributor>
Alex Sadleir 83 <rdf:Description>
CKAN data.gov.au 84 <foaf:name>${h.get_last_active_user(c.pkg_dict['id'])["display_name"]}</foaf:name>
85 <foaf:mbox py:if="h.get_last_active_user(c.pkg_dict['id']).get('email', None)"
86 rdf:resource="mailto:${h.get_last_active_user(c.pkg_dict['id'])['email']}"/>
Alex Sadleir 87 </rdf:Description>
88 </dct:contributor>
89
Alex Sadleir 90
Alex Sadleir 91 <foaf:homepage py:if="h.get_pkg_dict_extra(c.pkg_dict,'DCTERMS.Source.URI')">${h.get_pkg_dict_extra(c.pkg_dict,'DCTERMS.Source.URI') }
Alex Sadleir 92 </foaf:homepage>
93
94 <dcat:contactPoint py:if="c.pkg_dict.get('contact_point')">${c.pkg_dict.contact_point }</dcat:contactPoint>
CKAN data.gov.au 95 <dct:spatial py:if="c.pkg_dict.get('spatial_coverage')">${ c.pkg_dict.spatial_coverage }</dct:spatial>
Alex Sadleir 96 <dct:spatial py:if="h.get_pkg_dict_extra(c.pkg_dict,'Geospatial Coverage')">${ h.get_pkg_dict_extra(c.pkg_dict,'Geospatial Coverage') }</dct:spatial>
97 <aglsterms:AglsJuri py:if="c.pkg_dict.get('jurisdiction')">${ c.pkg_dict.jurisdiction }</aglsterms:AglsJuri>
98 <aglsterms:AglsJuri py:if="h.get_pkg_dict_extra(c.pkg_dict,'AGLSTERMS.Jurisdiction')">${ h.get_pkg_dict_extra(c.pkg_dict,'AGLSTERMS.Jurisdiction') }</aglsterms:AglsJuri>
99 <dct:temporal py:if="c.pkg_dict.get('temporal_coverage')">${ c.pkg_dict.get('temporal_coverage') }</dct:temporal>
100 <dct:temporal py:if="h.get_pkg_dict_extra(c.pkg_dict,'Temporal Coverage')">${ h.get_pkg_dict_extra(c.pkg_dict,'Temporal Coverage') }</dct:temporal>
101 <dct:relation py:if="c.pkg_dict.get('data_state')">
102 <rdf:Description>
103 <rdfs:label>Data State</rdfs:label>
104 <rdf:value>${ c.pkg_dict.get('data_state') }</rdf:value>
105 </rdf:Description>
106 </dct:relation>
107
108 <dct:relation py:if="c.pkg_dict.get('update_freq')">
109 <rdf:Description>
110 <rdfs:label>Update Frequency</rdfs:label>
111 <rdf:value>${ c.pkg_dict.get('update_freq') }</rdf:value>
112 </rdf:Description>
113 </dct:relation>
114 <dct:relation py:if="h.get_pkg_dict_extra(c.pkg_dict,'Update Frequency')">
115 <rdf:Description>
116 <rdfs:label>Update Frequency</rdfs:label>
117 <rdf:value>${ h.get_pkg_dict_extra(c.pkg_dict,'Update Frequency') }</rdf:value>
118 </rdf:Description>
119 </dct:relation>
Alex Sadleir 120
121 <dct:relation py:if="h.get_pkg_dict_extra(c.pkg_dict,'Agency Program')">
122 <rdf:Description>
123 <rdfs:label>Agency Program</rdfs:label>
124 <rdf:value>${ h.get_pkg_dict_extra(c.pkg_dict,'Agency Program') }</rdf:value>
125 </rdf:Description>
126 </dct:relation>
127 <dct:relation py:if="c.pkg_dict.get('agency_program')">
128 <rdf:Description>
129 <rdfs:label>Agency Program</rdfs:label>
130 <rdf:value>${ c.pkg_dict.get('agency_program') }</rdf:value>
131 </rdf:Description>
132 </dct:relation>
133
134 <dct:relation py:if="h.get_pkg_dict_extra(c.pkg_dict,'Granularity')">
135 <rdf:Description>
136 <rdfs:label>Data Granularity</rdfs:label>
137 <rdf:value>${ h.get_pkg_dict_extra(c.pkg_dict,'Granularity') }</rdf:value>
138 </rdf:Description>
139 </dct:relation>
140 <dct:relation py:if="c.pkg_dict.get('granularity')">
141 <rdf:Description>
142 <rdfs:label>Data Granularity</rdfs:label>
143 <rdf:value>${ c.pkg_dict.get('granularity') }</rdf:value>
144 </rdf:Description>
145 </dct:relation>
146
147 <py:for each="extra_dict in c.pkg_dict.get('extras',[])">
148 <dct:relation>
149 <rdf:Description>
150 <rdfs:label>${extra_dict.get('key','')}</rdfs:label>
151 <rdf:value>${extra_dict.get('value','')}</rdf:value>
152 </rdf:Description>
153 </dct:relation>
154 </py:for>
155 </dcat:Dataset>
156 </rdf:RDF>
157