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="c.pkg_dict.get('url')">${c.pkg_dict.get('url')}</foaf:homepage>
Alex Sadleir 92 <dcat:contactPoint py:if="c.pkg_dict.get('contact_point')">${c.pkg_dict.contact_point }</dcat:contactPoint>
93 <dct:spatial py:if="c.pkg_dict.get('spatial_coverage')">${ c.pkg_dict.spatial_coverage }</dct:spatial>
94 <aglsterms:AglsJuri py:if="c.pkg_dict.get('jurisdiction')">${ c.pkg_dict.jurisdiction }</aglsterms:AglsJuri>
CKAN data.gov.au 95 <dct:temporal py:if="c.pkg_dict.get('temporal_coverage')">${ c.pkg_dict.get('temporal_coverage') }</dct:temporal>
Alex Sadleir 96 <dct:relation py:if="c.pkg_dict.get('data_state')">
97 <rdf:Description>
98 <rdfs:label>Data State</rdfs:label>
99 <rdf:value>${ c.pkg_dict.get('data_state') }</rdf:value>
100 </rdf:Description>
101 </dct:relation>
102 <dct:relation py:if="c.pkg_dict.get('update_freq')">
103 <rdf:Description>
104 <rdfs:label>Update Frequency</rdfs:label>
105 <rdf:value>${ c.pkg_dict.get('update_freq') }</rdf:value>
106 </rdf:Description>
107 </dct:relation>
108 <dct:relation py:if="c.pkg_dict.get('agency_program')">
109 <rdf:Description>
110 <rdfs:label>Agency Program</rdfs:label>
111 <rdf:value>${ c.pkg_dict.get('agency_program') }</rdf:value>
112 </rdf:Description>
113 </dct:relation>
114 <dct:relation py:if="c.pkg_dict.get('granularity')">
115 <rdf:Description>
116 <rdfs:label>Data Granularity</rdfs:label>
117 <rdf:value>${ c.pkg_dict.get('granularity') }</rdf:value>
118 </rdf:Description>
119 </dct:relation>
Alex Sadleir 120 <py:for each="extra_dict in c.pkg_dict.get('extras',[])">
121 <dct:relation>
122 <rdf:Description>
123 <rdfs:label>${extra_dict.get('key','')}</rdfs:label>
124 <rdf:value>${extra_dict.get('value','')}</rdf:value>
125 </rdf:Description>
126 </dct:relation>
127 </py:for>
128 </dcat:Dataset>
129 </rdf:RDF>
130