“如何找到”;“主要”;在freebase RDF中为给定主题键入?
“如何找到”;“主要”;在freebase RDF中为给定主题键入?,rdf,freebase,Rdf,Freebase,我需要在RDF文件中找到给定主题的“主类型”。 当我在搜索框中键入问题时,自动补全器会给我这个“主类型”的主题名 例如: 当我写“巴拉克·奥巴马”时,我可以看到“巴拉克·奥巴马-美国总统”。 主题“巴拉克·奥巴马”有很多类型,但我如何在RDF中找到它呢 那个少校是“美国总统”吗 类似的“伍迪·艾伦”=>“编剧” “EOS 400D”=>“数码相机” 如何在RDF表示中找到此“主类型” 谢谢您的帮助。您大概对“主类型”的定义相当松散,即您不太担心精确的上下文匹配,只想选择“最流行的”选项 假设您可
我需要在RDF文件中找到给定主题的“主类型”。
当我在搜索框中键入问题时,自动补全器会给我这个“主类型”的主题名
例如:
SELECT ?term (COUNT(*) AS ?triples)
{
?term ?property ?value .
FILTER(REGEX(?value, "Barack Oba", "i"))
} GROUP BY ?term ORDER BY DESC(?triples) LIMIT 1
请注意,此处使用REGEX
可能会严重影响性能,这取决于基础SPARQL实现,可能有更有效的方法来执行此类文本搜索查询。可能您对“main type”的定义相当松散,即您不太担心精确的上下文匹配,只需要“最受欢迎”选项
假设您可以编写并运行SPARQL查询,那么最好的方法是运行一个查询,找到要自动完成的文本的文本匹配项,并找到与之关联的最常用术语,例如
SELECT ?term (COUNT(*) AS ?triples)
{
?term ?property ?value .
FILTER(REGEX(?value, "Barack Oba", "i"))
} GROUP BY ?term ORDER BY DESC(?triples) LIMIT 1
请注意,在此处使用
REGEX
可能会严重影响性能,这取决于底层SPARQL实现,可能有更有效的方法来执行此类文本搜索查询。值得注意的类型尚未包含在RDF转储中。谷歌表示会包含,但尚未提供时间表。值得注意的类型en还没有包括RDF转储。谷歌已经表示会包括,但还没有提供时间表。Hi@RobV,谢谢你的回复。但我还需要其他东西。我使用文本表示中的整个文件。有关“主类型”的信息“每个主题我都需要。在旧格式中,有四行代码:/m/047b9p0/common/topic/signific_代表{“类型”:[],“id”:“/digicams/digital_-camera”,“property”:“/type/object/type”,“name”:“digital camera”},其中/m/047b9p0代表“Canon_EOS_1000D”,我的“主类型”是“digital camera”,在新的RDF格式中我找不到这些信息。Hi@RobV,谢谢你的回复。但我还需要别的东西。我使用文本表示中的整个文件。关于每个主题所需的“主要类型”的信息。在旧格式中,有四行代码:/m/047b9p0/common/topic/signific_代表{“类型”:[],“id”:“/digicams/digital_-camera”,“property”:“/type/object/type”,“name”:“digital camera”},其中/m/047b9p0代表“Canon_EOS_1000D”,我的“main type”是“digital camera”,在新的RDF格式中找不到这些信息。