我想从sparql查询获得结果,结果不包含命名空间.
例如:有三种格式的结果如:
例如:有三种格式的结果如:
"http://www.xyz.com#Raxit" "http://www.w3.org/1999/02/22-rdf-Syntax-ns#type" "http://www.xyz.com#Name"
所以我想得到以下内容:
Raxit type Name
我想直接从sparql查询得到这个结果.我正在使用演奏家.
是否有可能从sparql获得这个?
请分享您对此的看法.
提前致谢.
解决方法
如果您的数据是常规数据,并且您知道所需的子字符串始终出现在#字符之后,则可以使用SPARQL 1.1中的
strafter
函数.我不知道这是否可以在Virtuoso的实现中使用.
然而,这通常是一种非常冒险的策略.并非所有URI都使用#字符后的本地名称部分进行格式化.实际上,通常,URI可能根本没有合法或有用的本地名称.所以你应该问问自己:为什么你认为你需要这个?一般而言,语义Web应用程序使用整个URI作为不可分割的标识符.如果您的需求实际上是用于在UI中显示人性化的内容,请让您的查询同时查找rdfs:label或skos:label属性.最坏的情况,尝试使用模型中的前缀或像prefix.cc这样的服务将URI缩写为q-name格式(即前缀:name)