SPARQL类型将uri转换为文本或从文本转换为uri
我想写一个跨本体的请求,所以它从两个本体中获取信息,比如本体1和本体2:SPARQL类型将uri转换为文本或从文本转换为uri,sparql,sparqlwrapper,Sparql,Sparqlwrapper,我想写一个跨本体的请求,所以它从两个本体中获取信息,比如本体1和本体2: select x y z where { x onto1:hasY y y onto2:hasZ Z } 问题是y在uri方面不同,从onto1可以得到y http://uri1.com/yis#y 从onto2中,您可以获得以下信息: http://uri2.com/yis#y 我试图更改这两个URI中的一个,但如果您将其更改为另一个,它对自己的三元组无效 我所做的是绑定以去除uri1,并使用concat将uri2
select x y z where {
x onto1:hasY y
y onto2:hasZ Z
}
问题是y在uri方面不同,从onto1可以得到y
http://uri1.com/yis#y
从onto2中,您可以获得以下信息:
http://uri2.com/yis#y
我试图更改这两个URI中的一个,但如果您将其更改为另一个,它对自己的三元组无效
我所做的是绑定以去除uri1,并使用concat将uri2插入其中
但是,返回的json的类型从uri变为文字!有没有办法将类型从literal更改为uri
更新 返回的json是:
{“type”:“uri”,“value”:http://uri1...}
和
{“type”:“literal”,“value”:http://uri1...}
刚刚发现了URI
命令。要解决我的问题,只需将此添加到concat函数:
uri(fn:concat("http://uri2.com/#", "y1"))
这对我来说是可行的,我可以使用一个公共类从两个不同的本体中SPARQL