gpt4 book ai didi

ruby-on-rails - Dbpedia 查询花费太多时间 (Ruby)

转载 作者:数据小太阳 更新时间:2023-10-29 08:50:31 28 4
gpt4 key购买 nike

我正在构建一个对 dbPedia 的 prefixSearch Api 进行查询的集成系统

http://lookup.dbpedia.org/api/search.asmx/PrefixSearch?QueryClass=&MaxHits=1&QueryString=KEYWORD

从这里我获得资源的 URI,并使用简单的 get 获取资源,然后使用 nokogiri 解析它

data = Net::HTTP.get(URI.parse(url.to_s+'.rdf'))
doc = Nokogiri::XML(data)

我需要从文档中找到摘要,所以使用 xpath 我成功地找到了它。

entity = doc.root.xpath("/rdf:RDF/rdf:Description[@rdf:about=\""+@uri+"\"]").map do |node|  
name = node.xpath("dbpedia-owl:abstract[@xml:lang=\"en\"]").first.content
end

问题是对于一些信息丰富的页面,比如涉及国家的页面,执行此操作需要 15-16 秒。这在我的系统中是 Not Acceptable 。

所以我需要找到一种方法来更快地完成所有事情?有什么解决办法吗?例如使用 SPARQL感谢大家

最佳答案

如果您只需要有关 URI 的特定信息,那么很可能您可以编写一个 SPARQL 查询来获取该信息,这将使事情变得更快。

您需要详细说明您需要什么信息,但我假设您正在根据您显示的代码寻找关于 URI 的英文摘要:

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>

SELECT ?abstract
WHERE
{
<http://dbpedia.org/resource/RESOURCE> dbpedia-owl:abstract ?abstract .
FILTER(LANGMATCHES(LANG(?abstract), "en"))
}

关于ruby-on-rails - Dbpedia 查询花费太多时间 (Ruby),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212077/

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