Search code examples
sparqlrdfsemantic-webdbpedia

How to do sparql query to get provenance data in DBpedia?


I want to get provenance data in DBpedia and here's the sample query:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbo: <http://dbpedia.org/ontology/>

SELECT DISTINCT ?novel
WHERE {
?novel rdf:type dbo:Novel
} LIMIT 1000 OFFSET 0

This query returns list of novels' resource. How can I get provenance data for each resource, if it's possible?

For example In Ballast to the White Sea originated from Source A, Source A originated from Source B, Source B is originated from Source C, and so on.


Solution

  • You can only use current provenance data existing in the dataset which is declared by prov:wasDerivedFrom property. It gives info about the source(wikipedia page) triples are extracted from. So you can pose such a query:

    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    PREFIX prov: <https://www.w3.org/ns/prov#>
    
    SELECT DISTINCT ?novel ?prov
    WHERE {
      ?novel rdf:type dbo:Novel.
      ?novel prov:wasDerivedFrom ?prov
    } LIMIT 1000 OFFSET 0