How to form dbPedia iSPARQL query (for wikipedia content)

后端 未结 1 1055
长发绾君心
长发绾君心 2021-01-15 18:47

Say I need to fetch content from wikipedia about all mountains. My target is to show initial paragraph, and an image from respective article (eg. Monte Rosa and Vincent Pyra

1条回答
  •  粉色の甜心
    2021-01-15 19:14

    You can also query dbpedia using its SPARQL endpoint (less fancy than iSPARQL). To find out more about what queries to write, take a look at the DBpedia's datasets page. The examples there show how one can select pages based on Wikipedia categories. To select resources in the Wikipedia Mountains category, you can use the following query:

    select ?mountain where {
      ?mountain a dbpedia-owl:Mountain .
    }
    

    SPARQL Results

    Once you have some of these links in hand, you can look at them in a web browser and see the data associated with them. For instance the page for Mount Everest shows lots of properties. For restricting results to those pages that have an image, you might be interested in the dbpedia-owl:thumbnail property, or perhaps better yet foaf:depiction. For the introductory paragraph, you probably want something like the dbpedia-owl:abstract. Using those, we can enhance the query from before. The following query finds things in the category Stratovolcanoes with an abstract and an depiction. Since StackOverflow is an English language site, I've restricted the abstracts to those in English.

    select * where {
      ?mountain a dbpedia-owl:Mountain ;
                dbpedia-owl:abstract ?abstract ;
                foaf:depiction ?depiction .
      FILTER(langMatches(lang(?abstract),"EN"))
    }
    LIMIT 10
    

    SPARQL Results

    0 讨论(0)
提交回复
热议问题