我想写一个跨本体请求,所以它从两个本体中获取信息,分别为:1和on2:
select x y z where {
x onto1:hasY y
y onto2:hasZ Z
}
问题是y在uri方面有所不同,从on1开始你得到这个y
http://uri1.com/yis#y
来自于on2,你得到这个:
http://uri2.com/yis#y
我试图更换两个uris中的一个,但是如果你把它改成另一个,它就不适用于它自己的三元组。
我所做的是一个绑定来摆脱uri1和一个concat插入uri2 ..
但是返回的json的类型从uri变为literal!有没有办法将类型从文字改为uri ??
更新
返回的json是:{"type": "uri" , "value": "http://uri1...}
和{"type": "literal" , "value": "http://uri1...}
答案 0 :(得分:1)
刚刚发现了URI
命令。要解决我的问题,只需将其添加到concat函数:
uri(fn:concat("http://uri2.com/#", "y1"))
它对我有用,我可以使用公共类从两个不同的本体SPARQL。