Rdf 如何在SPARQL查询中检查字符串是否为null或空?
如何使用sparql检查和筛选空字符串。要检查具有空字符串的属性(?属性)的资源(?资源),请执行以下操作:Rdf 如何在SPARQL查询中检查字符串是否为null或空?,rdf,sparql,Rdf,Sparql,如何使用sparql检查和筛选空字符串。要检查具有空字符串的属性(?属性)的资源(?资源),请执行以下操作: SELECT ?resource WHERE{ ?resource ?property "" } 我利用这些信息得出了这个答案,这是一个寻找语义web解决方案的好地方 试试这个: 绑定(绑定(?abc)和&strlen(?abc)>0作为检查) 在标题中,您询问null或empty,但在问题中您只提到空字符串。您询问的是“”的值还是未绑定的值?还有,这和什么有关系?它似乎与此无关,所
SELECT ?resource WHERE{ ?resource ?property "" }
我利用这些信息得出了这个答案,这是一个寻找语义web解决方案的好地方 试试这个:
绑定(绑定(?abc)和&strlen(?abc)>0作为检查)
在标题中,您询问null或empty,但在问题中您只提到空字符串。您询问的是
“
”的值还是未绑定的值?还有,这和什么有关系?它似乎与此无关,所以我正在删除标签,至少现在是这样。你说得很对,谢谢你的编辑。我提到空或空。因为我总是可以使我的属性为空;)对不起,我还是不明白你的意思。你可能会遇到一些问题,而你的问题并不能说明你有哪些问题。例如,检查某人是否有一个foaf:name
即”
是一种简单的模式select*where{x foaf:name”“}
,但检查某人是否没有foaf:name需要select*where{x foaf:name[]}
。如果您已经得到了结果,并且其中包含一些未定义值的绑定,那么您需要类似于filter-bound(?name)
或filter!绑定(?name)
,具体取决于您想保留还是排除它们。为了更好地回答这个问题,请向我们展示一个示例:您已经得到的查询、您实际得到的结果和您希望得到的结果(可能比您实际得到的结果多或少,取决于您试图实现的目标)。