在一些FILTER
我最终得到2套之后,让我们说A1和A2,我想SELECT
只在A1中那些没有出现在A2中的元素.我试图使用MINUS
但没有成功.
当我们有类似的东西:
MINUS { ?s foaf:givenName "Bob" }
我们需要事先知道我们想要减去什么.在我的情况下,我不知道任何属性如`foaf:givenName1,除了它们属于集合A2.(这是一个财产思想).
我很迷惑.有任何想法吗?
使用CLARITY示例编辑:
SELECT DISTINCT ?x ?y WHERE { ?x swrc:listAuthor ?y. ?x swrc:author ?w. FILTER (!regex(?y, " and ")). ?a swrc:listAuthor ?b. ?a swrc:author ?c. FILTER regex(?b, " and "). FILTER(?c != ?w).}
所以我想对此做的是以下内容.使用listAuthor,我可以在"John Doe和John Nipper"这样的字符串中获取作者.利用这种格式,我希望让作者单独写一篇论文(在他们的作者列表中没有"和").前3行足够了.但也有一些作者撰写了2篇论文,其中1篇是论文,1篇是共同作者.我尝试以某种方式从第一个中减去它们.有任何想法吗?