【发布时间】:2018-06-12 17:38:22
【问题描述】:
不幸的是,我对 dbpedia 的本体还有一个问题。我无法建议如何从我选择的团队中获得摘要。我的 sparql 查询看起来像
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT * where {
?club a dbo:SoccerClub;
dbo:ground ?grounds.
?grounds dbo:location ?country.
FILTER(?country = <http://dbpedia.org/resource/Austria>)
}
这个查询的结果是这样的
有人知道如何为每个俱乐部选择摘要吗?
感谢您的帮助
【问题讨论】:
-
所以你不能添加另一个三重模式
?club dbo:abstract ?abstract .?我想你应该知道你理解了 SPARQL 的概念,它基本上是三重模式匹配。实际上,按特定语言进行过滤可能很有用,尤其是在 DBpedia 上。FILTER(LANGMATCHES ...) -
非常感谢。是的,我尝试添加另一个三重模式
PREFIX dbo: <dbpedia.org/ontology/>; SELECT * where { ?club a dbo:SoccerClub; ?club dbo:abstract ?abstract . dbo:ground ?grounds. ?grounds dbo:location ?country. FILTER(?country = <dbpedia.org/resource/Austria>) },但随后编译器抛出错误:`Virtuoso 37000 Error SP030: SPARQL compiler, line 6: syntax error at '?abstract' before '.'' ` -
那么,你应该学习一下 Turtle 语法。
?club a dbo:SoccerClub;分号;用于以下三元组模式使用相同主题时,这意味着您必须省略它:?club a dbo:SoccerClub ; dbo:abstract ?abstract ; dbo:ground ?grounds .