dbpedia-sparql-client
Version:
A simple DBpedia SPARQL client
47 lines (41 loc) • 1.44 kB
JavaScript
var dps = require('../../index').default;
/*
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT * WHERE {
?s rdfs:label "Graves Park"@en .
?s a dbo:Place .
?s geo:lat ?lat .
?s geo:long ?long .
}
*/
const name = "China";
const query = `
PREFIX dbpedia2: <http://dbpedia.org/property/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX d: <http://dbpedia.org/ontology/>
SELECT ?name ?thumb ?comment ?description ?openingDate (group_concat(?link;separator="|") as ?links) WHERE {
?park rdfs:label "${name}"@en ;
d:abstract ?description ;
rdfs:comment ?comment ;
foaf:isPrimaryTopicOf ?name .
OPTIONAL { ?park dbo:wikiPageExternalLink ?link } .
OPTIONAL { ?park d:thumbnail ?thumb } .
OPTIONAL { ?park dbpedia2:logoImage ?thumb } .
OPTIONAL { ?park d:openingDate ?openingDate } .
OPTIONAL { ?park dbpedia2:opened ?openingDate } .
FILTER ( lang(?description) = "en")
FILTER ( lang(?comment) = "en")
}
GROUP BY ?name ?thumb ?comment ?description ?openingDate
`;
dps.client()
.query(query)
.asJson()
.then(function(r) {
console.log(JSON.stringify(r, null, 2));
})
.catch(function(e) {
console.error("ERROR: "+e);
})