PREFIX rdfs: PREFIX list: PREFIX SO: SELECT (str(?member) as ?abstract) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:description ?list . ?list list:index (?pos ?member) . # Don't include referenced sub-Datasets (i.e. a Dataset in a 'hasPart' property) FILTER NOT EXISTS { ?id SO:hasPart ?datasetId . } } order by (?pos) limit 1 ]]> PREFIX rdfs: PREFIX SO: SELECT ( ?name as ?title ) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:name ?name . # Don't include referenced sub-Datasets (i.e. a Dataset in a 'hasPart' property) FILTER NOT EXISTS { ?id SO:hasPart ?datasetId . } } limit 1 ]]> PREFIX rdfs: PREFIX SO: SELECT ?label WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:alternateName ?label . # Don't include referenced sub-Datasets (i.e. a Dataset in a 'hasPart' property) FILTER NOT EXISTS { ?id SO:hasPart ?datasetId . } } limit 1 ]]> PREFIX rdfs: PREFIX SO: SELECT ( str(?identifier) as ?awardNumber) WHERE { ?datasetId rdf:type SO:Dataset . { ?awardId rdf:type SO:MonetaryGrant . ?awardId SO:fundedItem ?datasetId . ?awardId SO:identifier ?identifier . } UNION { ?datasetId SO:about ?awardId . ?awardId rdf:type SO:MonetaryGrant . ?awardId SO:sameAs ?identifier . } } ]]> PREFIX rdfs: PREFIX SO: SELECT ( str(?name) as ?awardTitle) WHERE { ?datasetId rdf:type SO:Dataset . { ?awardId rdf:type SO:MonetaryGrant . ?awardId SO:fundedItem ?datasetId . ?awardId SO:name ?name . } UNION { ?datasetId SO:about ?awardId . ?awardId rdf:type SO:MonetaryGrant . ?awardId SO:name ?name . } } ]]> PREFIX list: PREFIX SO: SELECT (?name as ?author) WHERE { ?dsId rdf:type SO:Dataset . ?dsId SO:creator ?list . ?list list:index (?pos ?member) . ?member SO:name ?name . } order by (?pos) limit 1 ]]> PREFIX rdfs: PREFIX SO: SELECT ( str(?datePublished) as ?pubDate) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:datePublished ?datePublished # Don't include referenced sub-Datasets (i.e. a Dataset in a 'hasPart' property) FILTER NOT EXISTS { ?id SO:hasPart ?datasetId . } } ]]> PREFIX list: PREFIX SO: SELECT (?givenName as ?authorGivenName) WHERE { ?dsId rdf:type SO:Dataset . ?dsId SO:creator ?list . ?list list:index (?pos ?member) . ?member SO:givenName ?givenName . } order by (?pos) limit 1 ]]> PREFIX list: PREFIX SO: SELECT (?familyName as ?authorLastName) WHERE { ?dsId rdf:type SO:Dataset . ?dsId SO:creator ?list . ?list list:index (?pos ?member) . ?member SO:familyName ?familyName . } order by (?pos) ]]> PREFIX list: PREFIX SO: SELECT (?familyName as ?investigator) WHERE { ?dsId rdf:type SO:Dataset . ?dsId SO:creator ?list . ?list list:index (?pos ?member) . ?member SO:familyName ?familyName . } order by (?pos) ]]> PREFIX rdfs: PREFIX SO: SELECT (?identifier as ?funderIdentifier) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:funder ?funderId . ?funderId SO:identifier ?identifier . } ]]> PREFIX rdfs: PREFIX SO: SELECT (?name as ?funderName) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:funder ?funderId . ?funderId SO:name ?name . } ]]> PREFIX list: PREFIX SO: SELECT (?name as ?origin) WHERE { ?dsId rdf:type SO:Dataset . ?dsId SO:creator ?list . ?list list:index (?pos ?member) . ?member SO:name ?name . } order by (?pos) ]]> PREFIX rdfs: PREFIX SO: PREFIX PROV: PREFIX PROVONE: SELECT ( str(?derivations) as ?prov_hasDerivations ) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId PROV:hadDerivation ?derivations . } ]]> PREFIX rdfs: PREFIX SO: SELECT ?hasPart WHERE { ?datasetId rdf:type SO:Dataset . { ?datasetId SO:hasPart ?node . ?node rdf:type SO:Dataset . ?node SO:name ?hasPart . } UNION { ?datasetId SO:hasPart ?hasPart . # SO:Dataset can also appear as a sub-element of the 'SO:hasPart' # so exclude those from the query result. FILTER NOT EXISTS { ?hasPart rdf:type SO:Dataset . } } } ]]> PREFIX rdfs: PREFIX SO: SELECT ?keywords WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:keywords ?keywords . } ]]> PREFIX rdfs: PREFIX SO: SELECT ?southBoundCoord WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:spatialCoverage ?spatial . ?spatial rdf:type SO:Place . ?spatial SO:geo ?geo . ?geo rdf:type SO:GeoShape . ?geo SO:box ?box . # Extract south coord, replacing commas and multiple whitespaces to single whitespaces # to simplify parsing bind(strbefore(replace(str(?box), "\\s*,\\s*|\\s{2,}", " "), " ") as ?southBoundCoord) } limit 1 ]]> PREFIX rdfs: PREFIX SO: SELECT ?westBoundCoord WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:spatialCoverage ?spatial . ?spatial rdf:type SO:Place . ?spatial SO:geo ?geo . ?geo rdf:type SO:GeoShape . ?geo SO:box ?box . bind(strbefore(replace(str(?box), "\\s*,\\s*|\\s{2,}", " "), " ") as ?southBoundCoord) bind(strafter(replace(str(?box), "\\s*,\\s*|\\s{2,}", " "), " ") as ?rest) bind(strbefore(str(?rest), " ") as ?westBoundCoord) } limit 1 ]]> PREFIX rdfs: PREFIX SO: SELECT ?northBoundCoord WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:spatialCoverage ?spatial . ?spatial rdf:type SO:Place . ?spatial SO:geo ?geo . ?geo rdf:type SO:GeoShape . ?geo SO:box ?box . bind(strbefore(replace(str(?box), "\\s*,\\s*|\\s{2,}", " "), " ") as ?southBoundCoord) bind(strafter(replace(str(?box), "\\s*,\\s*|\\s{2,}", " "), " ") as ?rest) bind(strbefore(str(?rest), " ") as ?westBoundCoord) bind(strafter(str(?rest), " ") as ?rest2) bind(strbefore(str(?rest2), " ") as ?northBoundCoord) } limit 1 ]]> PREFIX rdfs: PREFIX SO: SELECT ?eastBoundCoord WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:spatialCoverage ?spatial . ?spatial rdf:type SO:Place . ?spatial SO:geo ?geo . ?geo rdf:type SO:GeoShape . ?geo SO:box ?box . bind(strbefore(replace(str(?box), "\\s*,\\s*|\\s{2,}", " "), " ") as ?southBoundCoord) bind(strafter(replace(str(?box), "\\s*,\\s*|\\s{2,}", " "), " ") as ?rest) bind(strbefore(str(?rest), " ") as ?westBoundCoord) bind(strafter(str(?rest), " ") as ?rest2) bind(strbefore(str(?rest2), " ") as ?northBoundCoord) bind(strafter(str(?rest2), " ") as ?eastBoundCoord) } limit 1 ]]> PREFIX rdfs: PREFIX SO: SELECT ?namedLocation WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:spatialCoverage ?namedLocation . FILTER NOT EXISTS { ?namedLocation rdf:type SO:Place . } } ]]> PREFIX rdfs: PREFIX SO: SELECT # possible formats: "start/end", "start/..", "start" (if(contains(?dates, "/"), strbefore(?dates, "/"), ?dates) as ?beginDate) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:temporalCoverage ?dates . } limit 1 ]]> PREFIX rdfs: PREFIX SO: SELECT # possible formats: "start/end", "start/..", "start" (if(contains(?dates, "/"), strafter(?dates, "/"), "") as ?endDate) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId SO:temporalCoverage ?dates . } limit 1 ]]> PREFIX rdfs: PREFIX SO: SELECT (?variableMeasured as ?parameter) WHERE { ?datasetId rdf:type SO:Dataset . { ?datasetId SO:variableMeasured ?variable . ?variable rdf:type SO:PropertyValue . ?variable SO:name ?variableMeasured . } UNION { ?datasetId SO:variableMeasured ?variableMeasured . FILTER NOT EXISTS { ?parameter rdf:type SO:PropertyValue . } } } ]]> PREFIX rdfs: PREFIX schema: SELECT ( str(?version) as ?edition ) WHERE { ?datasetId rdf:type schema:Dataset . ?datasetId schema:version ?version . } limit 1 ]]> PREFIX SO: PREFIX PROV: PREFIX PROVONE: SELECT DISTINCT ( str(?wasDerivedFrom) as ?prov_wasDerivedFrom ) WHERE { ?datasetId rdf:type SO:Dataset . { ?datasetId SO:isBasedOn ?wasDerivedFrom . } UNION { ?datasetId PROV:wasDerivedFrom ?wasDerivedFrom . } } ]]> PREFIX SO: PREFIX PROV: PREFIX PROVONE: SELECT ( str(?executionId) as ?prov_usedByExecution) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId PROV:wasUsedBy ?executionId . } ]]> PREFIX SO: PREFIX PROV: PREFIX PROVONE: SELECT ( str(?plan) as ?prov_usedByProgram) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId PROV:wasUsedBy ?executionId . ?executionId PROV:hadPlan ?plan. } ]]> PREFIX SO: PREFIX PROV: PREFIX PROVONE: SELECT ( str(?executionId) as ?prov_generatedByExecution) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId PROV:wasGeneratedBy ?executionId } ]]> PREFIX SO: PREFIX PROV: PREFIX PROVONE: SELECT ( str(?planId ) as ?prov_generatedByProgram) WHERE { ?datasetId rdf:type SO:Dataset . ?datasetId PROV:wasGeneratedBy ?executionId . ?executionId PROV:hadPlan ?planId } ]]> PREFIX SO: PREFIX PROV: PREFIX PROVONE: SELECT DISTINCT ( str(?instanceType ) as ?prov_instanceOfClass ) WHERE { ?datasetId rdf:type SO:Dataset . { ?datasetId PROV:wasGeneratedBy ?executionId . bind ( PROVONE:Data as ?instanceType ) } UNION { ?datasetId PROV:wasUsedBy ?executionId . bind ( PROVONE:Data as ?instanceType ) } } ]]> PREFIX rdfs: PREFIX SO: SELECT ( str(?url) as ?serviceEndpoint ) WHERE { ?datasetId rdf:type SO:Dataset . { ?datasetId SO:url ?url . # Don't include referenced sub-Datasets (i.e. a Dataset in a 'hasPart' property) FILTER NOT EXISTS { ?id SO:hasPart ?datasetId . } } UNION { ?datasetId SO:distribution ?distribution . ?distribution rdf:type SO:DataDownload . ?distribution SO:contentUrl ?url . FILTER NOT EXISTS { ?id SO:hasPart ?datasetId . } } } ]]> PREFIX xsd: SELECT DISTINCT (str(?string) as ?text) WHERE { { ?a ?b ?string . filter(datatype(?string) = xsd:string) . } UNION { ?a ?b ?string . filter(datatype(?string) = SO:HTML) . } } ]]>