我使用tinkerpop蓝图创建了一个SAIL对象,将RDF数据加载到Graph数据库中。我成功地设法加载数据。有问题的Graph数据库没有sparql端点来运行我的查询混合测试驱动程序。有谁知道是否可能,如果是这样,那么如何通过HTTP服务器使我的测试驱动程序java代码可以访问sparql端点?我知道4store,BigData和其他一些商店都有自己内置的sparql服务器用于查询。我想知道如果基础图数据库没有提供自己的服务器实现,是否有可能使sparql服务器可用于我的Sail对象存储。
提前致谢。
这是我取得的进展:
我已经通过tomcat部署了open-rdf sesame war来访问服务器,这就是我准备存储库的时间(数据已经加载)
OrientGraph g = new OrientGraph("remote:host/Test", "admin", "admin");
Sail sail = new GraphSail<KeyIndexableGraph>(g);
Repository rep = new SailRepository(sail);
rep.initialize();
RepositoryConnection conn = rep.getConnection();
我不知道如何处理查询,在单独的文件中我使用https://github.com/tinkerpop/blueprints/wiki/Sail-Ouplementation进行了一些基本的查询。
但是,我注意到使用它的查询非常有限,因为只有基本模式与边缘匹配才有可能。
例如,带谓词的基本查询如: 选择distinct?var1?var2 where {?var2 predicate?var1。}
然而,如果我也提供主题, 选择distinct?var1 where {subject predicate?var1。}
即使我在文件中看到相应的结果,也不会返回结果。
我的问题是如何运行完整的sparql查询?端点会帮助吗?
答案 0 :(得分:1)
如果您的图表已启用蓝图,那么您可以通过Rexster公开Graph
实例并使用SPARQL扩展:
https://github.com/tinkerpop/rexster/tree/master/rexster-kibbles/sparql-kibble