我刚开始与Fuseki和Jena合作。我有一个本体,我想允许HTTP客户端发送SPARQL请求并获得结果。以下是我为实现这一目标而编写的代码:
// testing Fuseki
Dataset dataset = RDFDataMgr.loadDataset("src/main/resources/files/test.owl");
FusekiEmbeddedServer server = FusekiEmbeddedServer.create()
.setPort(3332)
.add("/ds", dataset, true)
.build() ;
server.start() ;
Fuseki网络服务器工作正常,我可以使用网络浏览器发送查询并获得结果。
问题是每当我尝试使用.owl文件中定义的前缀时,我都会收到错误。
基本上这是一个我想发送的简单请求:http://localhost:3332/ds?query=SELECT ?test WHERE {?test ssn:observes ?o}
目前我收到此错误:
Error 400: Parse error:
SELECT ?test WHERE {?test ssn:observes ?o}
Line 1, column 27: Unresolved prefixed name: ssn:observes
我确信ssn
文件中存在.owl
前缀。
我有没有办法让这个请求工作,知道我无法访问Fuseki配置文件,因为我只是通过Java使用它?