【问题标题】:How to resolve disambiguation in Yago/DBpedia?如何解决 Yago/DBpedia 中的歧义?
【发布时间】:2011-12-15 13:04:20
【问题描述】:

假设我正在搜索诸如“绿野仙踪”之类的实体,并且知道我对书特别感兴趣,而不是电影或音乐剧。 在大多数情况下,哪种查询/方法会返回正确的结果?

【问题讨论】:

    标签: sparql semantic-web dbpedia


    【解决方案1】:

    您可以使用如下查询来做到这一点:

    SELECT * WHERE {
      ?s <http://dbpedia.org/property/name> ?name .
      ?s a <http://dbpedia.org/ontology/Book> .
      FILTER(regex(STR(?name), "wizard of oz", "i"))
    }
    

    【讨论】:

    • 感谢您的回复,我正在尝试搜索没有特定本体相关性的“Book”,因此它也会捕获“Childrens_Books”类别中的实体。
    • 当然他们可以...看到它超时,除非它针对私有实例运行...
    【解决方案2】:

    【讨论】:

    • 第二个链接的结果主要包含音乐剧,然后是电影/电视节目,没有关于书的内容...
    • 消除文本歧义的最佳方法确实是使用 Spotlight。但是,当给出一些上下文(不仅仅是书名)时,结果会变得更好。
    【解决方案3】:

    因为每本书,而且只有书,都有 ISBN,我想你可以接受史蒂夫哈里斯的查询,而不是询问它是否是一本书,你可以问它是否有 ISBN。

    SELECT * WHERE {
      ?s <http://dbpedia.org/property/name> ?name .
      ?s <http://dbpedia.org/ontology/isbn> ?isbn .
      FILTER(regex(STR(?name), "wizard of oz", "i"))
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 2018-10-24
      • 1970-01-01
      相关资源
      最近更新 更多