这在 neo4j 中非常容易执行。在 SPARQL 中完成任务的另一种方法是通过子类别上的代码迭代来提取“类别:American_musicians”下的所有子图。
例如。java中的伪代码类似于:
String startCategory = "<http://dbpedia.org/resource/Category:American_musicians>";
iterateTraversalFunction(startCategory);
那么遍历函数将是:
public void iterateTraversalFunction(String startCategory){
ArrayList<String> artistsURI = // SPARQL query ?person skos:subject startCategory . ?person rdf:type MusicalArtist
ArrayList<String> subCategoriesURI = // SPARQL query ?subCat skos startCategory
// Repeat recursively
for(String subCatURI: subCategoriesURI){
iterateTraversalFunction(subCatURI);
}
}
希望这会有所帮助, - 丹