SPARQL类型将uri转换为文本或从文本转换为uri

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

我想写一个跨本体的请求,所以它从两个本体中获取信息,比如本体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插入其中

但是,返回的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