“如何找到”;“主要”;在freebase RDF中为给定主题键入?

“如何找到”;“主要”;在freebase RDF中为给定主题键入?,rdf,freebase,Rdf,Freebase,我需要在RDF文件中找到给定主题的“主类型”。 当我在搜索框中键入问题时,自动补全器会给我这个“主类型”的主题名 例如: 当我写“巴拉克·奥巴马”时,我可以看到“巴拉克·奥巴马-美国总统”。 主题“巴拉克·奥巴马”有很多类型,但我如何在RDF中找到它呢 那个少校是“美国总统”吗 类似的“伍迪·艾伦”=>“编剧” “EOS 400D”=>“数码相机” 如何在RDF表示中找到此“主类型” 谢谢您的帮助。您大概对“主类型”的定义相当松散,即您不太担心精确的上下文匹配,只想选择“最流行的”选项 假设您可


我需要在RDF文件中找到给定主题的“主类型”。
当我在搜索框中键入问题时,自动补全器会给我这个“主类型”的主题名
例如:

  • 当我写“巴拉克·奥巴马”时,我可以看到“巴拉克·奥巴马-美国总统”。 主题“巴拉克·奥巴马”有很多类型,但我如何在RDF中找到它呢 那个少校是“美国总统”吗
  • 类似的“伍迪·艾伦”=>“编剧”
  • “EOS 400D”=>“数码相机”
  • 如何在RDF表示中找到此“主类型”

    谢谢您的帮助。

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

    假设您可以编写并运行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实现,可能有更有效的方法来执行此类文本搜索查询。

    可能您对“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格式中找不到这些信息。