【问题标题】:Link ontologies from DBpedia to external ones with sameAS使用 sameAS 将本体从 DBpedia 链接到外部本体
【发布时间】:2014-09-15 18:43:53
【问题描述】:

SPARQL 中是否有一种方法可以自动连接 DBpedia 中一个本体的实例和另一个数据库中的另一个实例。 例如

http://yago-knowledge.org/resource/Daphne_Gerehttp://dbpedia.org/page/Daphne_Gere

相似并与 sameAs 相关联,但我希望能够对它们所属的所有本体实例进行此操作

http://yago-knowledge.org/resource/wordnet_actor_109765278http://dbpedia.org/ontology/Actor

因此,例如,结果将是一个表,其中包含一个类中的所有实例及其在另一个类中的等价物。

【问题讨论】:

  • 请注意,http://dbpedia.org/page/Daphne_Gere 不是 DBpedia 上的 Daphne_Gere 资源。资源是http://dbpedia.org/resource/Daphne_Gere。当您将后者放在 Web 浏览器中时,您只会被重定向到前者,以 HTML 表示有关资源的数据。
  • DBpedia 已经有很多这样的信息。检索它的查询就足够了吗?
  • 复制到 answers.semanticweb.com answers.semanticweb.com/questions/29411/…

标签: rdf sparql semantics dbpedia


【解决方案1】:

对已经包含(大部分?)您想要的链接的 DBpedia 进行简单查询怎么样?

select ?dbid ?yagoid where {
  ?dbid a dbpedia-owl:Actor ;
        owl:sameAs ?yagoid .
  filter strstarts( str(?yagoid), 'http://yago-knowledge.org/resource/' )
}
limit 100

SPARQL results

dbid                                       yagoid
-------------------------------------------------------------------------------------------
http://dbpedia.org/resource/Amy_Fisher     http://yago-knowledge.org/resource/Amy_Fisher
http://dbpedia.org/resource/Angel_Dark     http://yago-knowledge.org/resource/Angel_Dark
http://dbpedia.org/resource/Anita_Mui      http://yago-knowledge.org/resource/Anita_Mui
http://dbpedia.org/resource/Annabel_Chong  http://yago-knowledge.org/resource/Annabel_Chong
…                                          …

【讨论】:

  • 非常感谢!但是,如果我想在其他两个数据库之间进行操作。例如,YAGO 生产者:http://yago-knowledge.org/resource/wordnet_producer_110480018LinkedMDB producer http://data.linkedmdb.org/page/movie/producer
  • 甚至更少,例如,如果我想将 DBpedia 链接到 LinkedMDB,其中 URI 的表示方式不同(例如,http://data.linkedmdb.org/resource/producer/10019
  • @Suvimo 我不确定你的意思;我在您发布的 LinkedMDB URL 中没有看到任何 owl:sameAs 链接。您是在尝试检索 owl:sameAs 链接,还是尝试启发式地识别相同的个体?如果您尝试识别尚未通过 owl:sameAs 链接连接的相同个体,则需要使用您尝试使用的启发式方法更新您的问题。
  • @Suvimo 我看到你在我的两个小时后发布(并删除)了一个答案。它与我发布的内容基本相同,除了使用FILTER(contains(str(?entity2),"yago")) 测试与filter strstarts( str(?yagoid), 'http://yago-knowledge.org/resource/' ) 略有不同的东西。 strstarts 测试“更便宜”,因为它可以更快地失败,而 contains 检查将匹配其中包含 yago 的任何内容,即使它是某人姓名或其他内容的一部分。我认为包含检查可能更强大一些。
  • 首先感谢您的持续支持 我看到您的 SPARQL 的问题是,除非在 URL 中指定名称,否则查询无法检测到它。例如,它不会在 DBpedia http://dbpedia.org/resource/Jet_Li 和 linkedMDB http://data.linkedmdb.org/resource/producer/9712 中检测到这个匹配我删除的评论中的查询实际上也检测到了这些,但我只是不认为它是基于“sameAs”的实际逻辑“..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2017-01-28
  • 2017-05-08
  • 1970-01-01
相关资源
最近更新 更多