rdf refactor
[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>
CKAN data.gov.au 26 <dct:language>en</dct:language>
27
28 <py:choose>
Alex Sadleir 29 <py:when test="c.pkg_dict.get('license_url',None)">
CKAN data.gov.au 30 <dct:license>${c.pkg_dict['license_url']}</dct:license>
31 <dct:rights rdf:resource="${c.pkg_dict['license_url']}"/>
32 </py:when>
33 <py:otherwise>
Alex Sadleir 34 <dct:license>${c.pkg_dict['license_id']}</dct:license>
CKAN data.gov.au 35 <dct:rights rdf:resource="${c.pkg_dict['license_id']}"/>
36 </py:otherwise>
Alex Sadleir 37 </py:choose>
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',[])">
42 <dcat:theme>${ group_dict["title"] }</dcat:theme>
43 </py:for>
44
45 <foaf:homepage
46 rdf:resource="${ h.url_for(controller='package',action='read',id=c.pkg_dict['name'], qualified=True)}"/>
47 <rdfs:label>${c.pkg_dict['name']}</rdfs:label>
48
Alex Sadleir 49
Alex Sadleir 50 <py:for each="rsc_dict in c.pkg_dict['resources']">
Alex Sadleir 51 <dcat:distribution>
52 <dcat:Distribution>
Alex Sadleir 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') }"/>
57 <dct:created>${rsc_dict.get('created')}</dct:created>
58 <dct:modified>${rsc_dict.get('revision_timestamp')}</dct:modified>
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>
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>
Alex Sadleir 64 <rdf:value>${rsc_dict.get('format')}</rdf:value>
65 <rdfs:label>${rsc_dict.get('format')}</rdfs:label>
66 </dct:IMT>
Alex Sadleir 67 </dct:format>
Alex Sadleir 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>
Alex Sadleir 74 <foaf:name>${ c.pkg_dict['organization']['title'] }</foaf:name>
Alex Sadleir 75 </rdf:Description>
76 </dct:publisher>
CKAN data.gov.au 77 <dct:creator py:if="c.pkg_dict.get('organization', None)">
Alex Sadleir 78 <rdf:Description>
CKAN data.gov.au 79 <foaf:name>${ c.pkg_dict['organization']['title'] }</foaf:name>
80 </rdf:Description>
81 </dct:creator>
Alex Sadleir 82 <dct:contributor>
83 <rdf:Description>
84 <foaf:name>${h.get_last_active_user(c.pkg_dict['id'])["display_name"]}</foaf:name>
Alex Sadleir 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']}"/>
87 </rdf:Description>
88 </dct:contributor>
89
90
91 <foaf:homepage py:if="c.pkg_dict.get('url')">${c.pkg_dict.get('url')}</foaf:homepage>
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>
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')">
Alex Sadleir 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>
Alex Sadleir 102 <dct:relation py:if="c.pkg_dict.get('update_freq')">
Alex Sadleir 103 <rdf:Description>
104 <rdfs:label>Update Frequency</rdfs:label>
Alex Sadleir 105 <rdf:value>${ c.pkg_dict.get('update_freq') }</rdf:value>
CKAN data.gov.au 106 </rdf:Description>
Alex Sadleir 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>
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