简单SPARQL查询不工作
我是SPARQL的新手。我在Protege中创建了一个本体,有两个类:简单SPARQL查询不工作,sparql,semantic-web,Sparql,Semantic Web,我是SPARQL的新手。我在Protege中创建了一个本体,有两个类: Book Page 所以。。在“个人分类”中,我有这个 Book1 startWith page1 Book1 endWith page2 Book2 startWith page2 Book2 endWith page5 Book3 startWith page1 Book3 endWith page2 还有page1具有值为1的数据属性 page2 with value 2 page5 with value 2
Book
Page
所以。。在“个人分类”中,我有这个
Book1 startWith page1
Book1 endWith page2
Book2 startWith page2
Book2 endWith page5
Book3 startWith page1
Book3 endWith page2
还有page1
具有值为1的数据属性
page2 with value 2
page5 with value 2
所以。。我想做一个SPARQL查询,返回所有以同一页开始,以同一页结束的书籍
现在这是我的SPARQL查询,但不起作用
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?book, ?book2
WHERE { ?book foaf:starWith ?f1 .
?book foaf:endWith ?f2 .
?book2 foaf:starWith ?f3 .
?book2 foaf:endWith ?f4 .
FILTER regex(?f1, ?f3)
}
前缀foaf:
选择“书本”,选择“书本2”
哪里{?book foaf:starWith?f1。
?图书foaf:以f2结尾。
?第二册foaf:以f3开头。
?第2册foaf:以?f4结尾。
过滤器正则表达式(?f1,?f3)
}
对不起,我是新来的
过滤器(?book!=book2&&f1=?f3&&f2=?f4)
就足够了前缀myNs:
选择?book1?book2
哪里
{?book1 myNs:startWith?s1。
?第1册年份:以?e1结尾。
?第二册年份:开始第二册。
?第2册年份:以?e2结尾
过滤器(?book1!=?book2&&s1=?s2&&e1=?e2)
}
好的,谢谢。但我想知道这个问题是怎么回事。如何在SPARQL中比较多个类?我不明白。根据给定的查询,at返回具有相同开始和结束的不同书籍-无论结束和开始的值是多少