gpt4 book ai didi

sparql - 使用 SPARQL 检索 dbpedia 主题类别

转载 作者:行者123 更新时间:2023-12-02 07:04:09 26 4
gpt4 key购买 nike

有没有办法从 dbpedia 内的 dcterms:subject 检索所有类别?

例如,在http://dbpedia.org/page/Eiffel_Tower中我可以在 dcterms:subject 中看到以下类别:

  • 类别:Former_world's_tallest_buildings
  • 类别:Places_with_restrictions_on_photography
  • 类别:Michelin_Guide_starred_restaurants_and_chefs
  • 类别:历史土木工程地标
  • 类别:1889_架构
  • ...

我希望检索 dbpedia 中的所有 category:xxx 值。有办法吗?

最佳答案

如果您使用以下 SPARQL 查询执行 COUNT 查询来查看 dbpedia 中有多少个类别:

SELECT COUNT(DISTINCT ?category) AS ?count WHERE {?subject dcterms:subject ?category}

您会发现 dbpedia 有 503788 个类别。如果您查询所有类别,端点不会为您提供整个 503788 个类别,因为它对您可以返回的结果数量有上限。但您可以使用 LIMIT 和 OFFSET 发出多个查询。例如,要获取前 1000 个类别,您可以执行以下查询:

SELECT DISTINCT ?category WHERE {?subject dcterms:subject ?category} LIMIT 1000 OFFSET 0

我不知道您将如何使用这些信息,但我的建议是运行多个查询并增加偏移量(例如 1000、2000、3000),并将结果缓存在您使用的任何存储中。您基本上可以编写一个执行查询并将结果放入缓存中的程序。

但是请记住,DBPedia 中的类别是分层的,因此一个类别是其他几个类别的边界类别。

关于sparql - 使用 SPARQL 检索 dbpedia 主题类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6375609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com