问题
I have two resources in DBPedia: dbr:Diabetes_mellitus and dbr:Hyperglycemia. In Wikipedia, the corresponding pages are wikipedia-en:Diabetes_mellitus and wikipedia-en:Hyperglycemia.
In Wikipedia there is a hyperlink from Diabetes_mellitus page to Hyperglycemia page. But when I try to find the link between the 2 resources in DBpedia, I cannot find it.
I tried to find the link using the following SPARQL query.
SELECT ?prop WHERE {
{ dbr:Diabetes_mellitus ?prop dbr:Hyperglycemia }
UNION
{ dbr:Hyperglycemia ?prop dbr:Diabetes_mellitus }
}
But the answer is null. I get nothing as an answer. Is there any way to find a link between the pages in DBpedia?
What I am trying to achieve is to get all the hyperlinks in any Wikipedia page. Is there any way I can achieve it?
回答1:
As of May 2018, page links are stored in the <http://dbpedia.org/page_links>
named graph.
Your query could be the following one:
SELECT ?prop
FROM <http://dbpedia.org/page_links> WHERE {
{ dbr:Diabetes_mellitus ?prop dbr:Hyperglycemia }
UNION
{ dbr:Hyperglycemia ?prop dbr:Diabetes_mellitus }
}
Try it!
Using ASK
:
ASK
FROM <http://dbpedia.org/page_links> {
dbr:Hyperglycemia dbo:wikiPageWikiLink|^dbo:wikiPageWikiLink dbr:Diabetes_mellitus
}
Try it!
来源:https://stackoverflow.com/questions/50163015/getting-hyperlinks-of-a-wikipedia-page-using-dbpedia