-2

我想写一个跨本体请求,所以它从两个本体中获取信息,每个说 on1 和 on2:

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 变为文字!有没有办法将类型从文字更改为uri?


更新

返回的 json 是:{"type": "uri" , "value": "http://uri1...}{"type": "literal" , "value": "http://uri1...}

4

1 回答 1

1

刚刚发现URI命令。要解决我的问题,只需将其添加到 concat 函数中:

uri(fn:concat("http://uri2.com/#", "y1"))

它对我有用,我可以使用一个通用类从两个不同的本体中进行 SPARQL。

于 2015-03-13T21:02:12.770 回答