1


我需要在 RDF 文件中为给定主题找到“主要类型”。
当我在http://www.freebase.com上的搜索框中输入问题时,自动完成器会使用此“主要类型”给我主题名称。
例如:

  1. 当我写“Barack Oba”时,我可以看到“Barack Obama -美国总统”。主题“巴拉克奥巴马”有多种类型,但是如何在 RDF 文件中找到专业是“美国总统”?
  2. 类似“伍迪艾伦”=>“编剧
  3. "EOS 400D" => "数码相机"

如何在 RDF 表示中找到这个“主要类型”?

谢谢您的帮助。

4

2 回答 2

1

RDF 转储中尚未包含值得注意的类型。谷歌已经表示他们会,但没有提供时间表。

于 2013-05-19T17:16:33.890 回答
0

大概您对“主要类型”的定义相当松散,即您不太担心确切的上下文匹配并且只想要“最流行”的选项?

假设您可以编写和运行 SPARQL 查询,那么执行此操作的最佳方法可能是运行一个查询,该查询为要自动完成的文本找到文本匹配,并找到与之关联的最常用术语,例如

SELECT ?term (COUNT(*) AS ?triples)
{
  ?term ?property ?value .
  FILTER(REGEX(?value, "Barack Oba", "i"))
} GROUP BY ?term ORDER BY DESC(?triples) LIMIT 1

请注意,使用REGEXhere 会严重影响性能,取决于底层 SPARQL 实现,可能有更有效的方法来执行这种文本搜索查询。

于 2013-04-29T22:27:41.770 回答