--- a/ckanext/datagovau/templates/package/read.rdf +++ b/ckanext/datagovau/templates/package/read.rdf @@ -23,18 +23,20 @@ <dct:description>${c.pkg_dict['notes']}</dct:description> <dct:issued>${c.pkg_dict['metadata_created']}</dct:issued> <dct:modified>${c.pkg_dict['metadata_modified']}</dct:modified> - <dct:language>en</dct:language> - <dct:license>${c.pkg_dict['license_url']}</dct:license> + +<py:choose> + <py:when test="c.pkg_dict.get('license_url',None)"> + <dct:license rdf:resource="${c.pkg_dict['license_url']}"/> + <dct:rights rdf:resource="${c.pkg_dict['license_url']}"/> + </py:when> + <py:otherwise> + <dct:license>${c.pkg_dict['license_id']}</dct:license> + <dct:rights>"${c.pkg_dict['license_id']}"</dct:rights> + </py:otherwise> +</py:choose> <py:for each="tag_dict in c.pkg_dict.get('tags',[])"> <dcat:keyword>${ tag_dict["name"] }</dcat:keyword> </py:for> - <py:for each="group_dict in c.pkg_dict.get('groups',[])"> - <dcat:theme>${ group_dict["title"] }</dcat:theme> - </py:for> - - <foaf:homepage - rdf:resource="${ h.url_for(controller='package',action='read',id=c.pkg_dict['name'], qualified=True)}"/> - <rdfs:label>${c.pkg_dict['name']}</rdfs:label> <py:for each="rsc_dict in c.pkg_dict['resources']"> @@ -59,6 +61,9 @@ </dcat:Distribution> </dcat:distribution> </py:for> + + +<!-- data.gov.au specific stuff below this line --> <dct:publisher py:if="c.pkg_dict.get('organization', None)"> <rdf:Description> <foaf:name>${ c.pkg_dict['organization']['title'] }</foaf:name> @@ -69,72 +74,13 @@ <foaf:name>${ c.pkg_dict['organization']['title'] }</foaf:name> </rdf:Description> </dct:creator> - <dct:contributor - py:with="username = h.get_action('package_activity_list',{'id':c.pkg_dict['id']})[0]['user_id']"> + <dct:contributor> <rdf:Description> - <foaf:name>${h.get_action("user_show",{"id":username})["display_name"]}</foaf:name> - <foaf:mbox py:if="h.get_action('user_show',{'id':username}).get('email', None)" - rdf:resource="mailto:${h.get_action('user_show',{'id':username})['email']}"/> + <foaf:name>${h.get_last_active_user(c.pkg_dict['id'])["display_name"]}</foaf:name> + <foaf:mbox py:if="h.get_last_active_user(c.pkg_dict['id']).get('email', None)" + rdf:resource="mailto:${h.get_last_active_user(c.pkg_dict['id'])['email']}"/> </rdf:Description> </dct:contributor> - - <dct:rights py:if="c.pkg_dict.get('license_url', None)" rdf:resource="${c.pkg_dict['license_url']}"/> - - <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') } - </foaf:homepage> - - <dcat:contactPoint py:if="c.pkg_dict.get('contact_point')">${c.pkg_dict.contact_point }</dcat:contactPoint> - <dct:spatial py:if="c.pkg_dict.get('spatial_coverage')">${ c.pkg_dict.spatial_coverage }</dct:spatial> - <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> - <aglsterms:AglsJuri py:if="c.pkg_dict.get('jurisdiction')">${ c.pkg_dict.jurisdiction }</aglsterms:AglsJuri> - <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> - <dct:temporal py:if="c.pkg_dict.get('temporal_coverage')">${ c.pkg_dict.get('temporal_coverage') }</dct:temporal> - <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> - <dct:relation py:if="c.pkg_dict.get('data_state')"> - <rdf:Description> - <rdfs:label>Data State</rdfs:label> - <rdf:value>${ c.pkg_dict.get('data_state') }</rdf:value> - </rdf:Description> - </dct:relation> - - <dct:relation py:if="c.pkg_dict.get('update_freq')"> - <rdf:Description> - <rdfs:label>Update Frequency</rdfs:label> - <rdf:value>${ c.pkg_dict.get('update_freq') }</rdf:value> - </rdf:Description> - </dct:relation> - <dct:relation py:if="h.get_pkg_dict_extra(c.pkg_dict,'Update Frequency')"> - <rdf:Description> - <rdfs:label>Update Frequency</rdfs:label> - <rdf:value>${ h.get_pkg_dict_extra(c.pkg_dict,'Update Frequency') }</rdf:value> - </rdf:Description> - </dct:relation> - - <dct:relation py:if="h.get_pkg_dict_extra(c.pkg_dict,'Agency Program')"> - <rdf:Description> - <rdfs:label>Agency Program</rdfs:label> - <rdf:value>${ h.get_pkg_dict_extra(c.pkg_dict,'Agency Program') }</rdf:value> - </rdf:Description> - </dct:relation> - <dct:relation py:if="c.pkg_dict.get('agency_program')"> - <rdf:Description> - <rdfs:label>Agency Program</rdfs:label> - <rdf:value>${ c.pkg_dict.get('agency_program') }</rdf:value> - </rdf:Description> - </dct:relation> - - <dct:relation py:if="h.get_pkg_dict_extra(c.pkg_dict,'Granularity')"> - <rdf:Description> - <rdfs:label>Data Granularity</rdfs:label> - <rdf:value>${ h.get_pkg_dict_extra(c.pkg_dict,'Granularity') }</rdf:value> - </rdf:Description> - </dct:relation> - <dct:relation py:if="c.pkg_dict.get('granularity')"> - <rdf:Description> - <rdfs:label>Data Granularity</rdfs:label> - <rdf:value>${ c.pkg_dict.get('granularity') }</rdf:value> - </rdf:Description> - </dct:relation> <py:for each="extra_dict in c.pkg_dict.get('extras',[])"> <dct:relation> @@ -144,6 +90,44 @@ </rdf:Description> </dct:relation> </py:for> + <dct:language>en</dct:language> + <foaf:homepage + rdf:resource="${ h.url_for(controller='package',action='read',id=c.pkg_dict['name'], qualified=True)}"/> + <dcat:contactPoint py:if="c.pkg_dict.get('contact_point')">${c.pkg_dict.contact_point }</dcat:contactPoint> +<py:choose> + <py:when test="c.pkg_dict.get('spatial',None)"> + <dct:spatial py:if="c.pkg_dict.get('spatial')">${ c.pkg_dict.spatial }</dct:spatial> + </py:when> + <py:otherwise> + <dct:spatial py:if="c.pkg_dict.get('spatial_coverage')">${ c.pkg_dict.spatial_coverage }</dct:spatial> + </py:otherwise> +</py:choose> + <aglsterms:AglsJuri py:if="c.pkg_dict.get('jurisdiction')">${ c.pkg_dict.jurisdiction }</aglsterms:AglsJuri> + <dct:temporal py:if="c.pkg_dict.get('temporal_coverage')">${ c.pkg_dict.get('temporal_coverage') }</dct:temporal> + <dct:relation py:if="c.pkg_dict.get('data_state')"> + <rdf:Description> + <rdfs:label>Data State</rdfs:label> + <rdf:value>${ c.pkg_dict.get('data_state') }</rdf:value> + </rdf:Description> + </dct:relation> + <dct:relation py:if="c.pkg_dict.get('update_freq')"> + <rdf:Description> + <rdfs:label>Update Frequency</rdfs:label> + <rdf:value>${ c.pkg_dict.get('update_freq') }</rdf:value> + </rdf:Description> + </dct:relation> + <dct:relation py:if="c.pkg_dict.get('agency_program')"> + <rdf:Description> + <rdfs:label>Agency Program</rdfs:label> + <rdf:value>${ c.pkg_dict.get('agency_program') }</rdf:value> + </rdf:Description> + </dct:relation> + <dct:relation py:if="c.pkg_dict.get('granularity')"> + <rdf:Description> + <rdfs:label>Data Granularity</rdfs:label> + <rdf:value>${ c.pkg_dict.get('granularity') }</rdf:value> + </rdf:Description> + </dct:relation> </dcat:Dataset> </rdf:RDF>