sub:assertion {
sub:get-fip-decl-details dct:description "This query returns the details of all FIP declarations." ;
dct:license <
http://www.apache.org/licenses/LICENSE-2.0> ;
a <
https://w3id.org/kpxl/grlc/grlc-query> ;
rdfs:label "Get FIP declaration details" ;
<
https://w3id.org/kpxl/grlc/endpoint> <
https://w3id.org/np/l/nanopub-query-1.1/repo/type/4ad845e860a6db3a69160adb7aec894e622280ff9881e41a600756ad1abcfa23> ;
<
https://w3id.org/kpxl/grlc/sparql> """prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix fip: <https://w3id.org/fair/fip/terms/>
prefix dct: <http://purl.org/dc/terms/>
prefix dce: <http://purl.org/dc/elements/1.1/>
prefix npa: <http://purl.org/nanopub/admin/>
prefix npx: <http://purl.org/nanopub/x/>
prefix np: <http://www.nanopub.org/nschema#>
prefix dcat: <https://www.w3.org/ns/dcat#>
select ?decl_np ?community ?c ?question ?q ?sort ?nochoice ?decl ?rel ?resource_id_used ?startdate ?enddate ?date where {
graph npa:graph {
?decl_np npa:hasValidSignatureForPublicKey ?pubkey .
filter not exists { ?decl_np_x npx:invalidates ?decl_np ; npa:hasValidSignatureForPublicKey ?pubkey . }
?decl_np npx:hasNanopubType fip:FIP-Declaration .
?decl_np dct:created ?date .
?decl_np np:hasAssertion ?assertion .
}
graph ?assertion {
?decl a fip:FIP-Declaration .
?decl fip:refers-to-question ?question .
{
{ ?decl fip:declares-current-use-of ?resource_id_used . bind(fip:declares-current-use-of as ?rel) }
union
{ ?decl fip:declares-planned-use-of ?resource_id_used . bind(fip:declares-planned-use-of as ?rel) }
union
{ ?decl fip:declares-planned-replacement-of ?resource_id_used . bind(fip:declares-planned-replacement-of as ?rel) }
union
{ ?decl fip:declares-replacement-from ?resource_id_used . bind(fip:declares-replacement-from as ?rel) } # unofficial
union
{ ?decl fip:declares-replacement-to ?resource_id_used . bind(fip:declares-replacement-to as ?rel) } # unofficial
}
# grlc gives an error for some reason if these two optional statements are at the end of the graph block:
optional { ?decl dcat:startDate ?startdate . }
optional { ?decl dcat:endDate ?enddate . }
?decl fip:declared-by ?community .
}
bind (replace(str(?community), \".*#\", \"\") as ?c)
bind (replace(str(?supercommunity), \".*#\", \"\") as ?sc)
bind (replace(str(?question), \"^.*-([^-MD]+(-[MD]+)?)$\", \"$1\") as ?q)
bind (concat(replace(?q, \"F|M\", \"0\"), \"x\") as ?sort)
bind (\"\" as ?nochoice)
}""" .
}