【发布时间】:2021-09-20 15:33:07
【问题描述】:
我希望你今天过得愉快。我正在尝试找出两个电视节目之间的所有关系。
现在,我有
SELECT ?r1 ?r2 WHERE {
SELECT ?show1 ?show2 WHERE {
?show1 dbo:tvShow dbr:The_Office_(American_TV_series)
?show2 dbo:tvShow dbr:The_Office_(British_TV_series)
}
# Query both ways
?show1 ?r1 ?show2 .
?show2 ?r2 ?show1 .
}
但是,我似乎在?show1 在dbo:tvShow 之前遇到了语法错误。
有没有人有任何建议来解决这个查询?
非常感谢!!
【问题讨论】:
-
没有财产
dbo:tvShow- 你从哪里得到这个?您应该查看您的示例节目以查看所有可用的属性,而不是猜测或发明东西。此外,您已经拥有两个节目的 URI,这意味着三重模式 `?show1 dbo:tvShow dbr:The_Office_(American_TV_series)` 将导致?show1的结果是什么?如果您只想获得两者之间的所有(直接)关系(我怀疑有任何关系),您应该使用:SHOW1 ?p :SHOW2- 如果您想获得共性,您应该使用:SHOW1 ?p ?o . :SHOW2 ?p ?o .- 我希望您明白这一点跨度> -
@UninformedUser dbo:tvShow 属性似乎存在dbpedia.org/ontology/tvShow
-
啊,它将一个人连接到一个电视节目 - 不知道这一点,然后@Emily 没关系 - 所以现在它取决于你想在两个节目之间查询什么样的联系或关系。我只能看到
dbo:related属性(以及 Wikipedia wikilink)——那么这对您的任务有帮助吗?可能存在“间接”关系,例如共享相同的主持人或人员,在这种情况下,您必须调整您的查询。至少从您最初的查询中,您试图找到两个电视节目中的人之间的关系。所以这将是“间接的”。我不会调用变量?show,它们绑定人