我使用tinkerpop蓝图创建了一个SAIL对象,将RDF数据加载到Graph数据库中 . 我成功地设法加载数据 . 有问题的Graph数据库没有sparql endpoints 来运行我的查询混合测试驱动程序 . 有谁知道是否可能,如果是这样,那么如何通过HTTP服务器使我的测试驱动程序java代码可以访问sparql endpoints ?我知道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 .
但是,我注意到使用它进行的查询非常有限,因为只有基本模式与边缘匹配才有可能 .
例如,带谓词的基本查询如:select distinct?var1?var2 where {?var2 predicate?var1 . }
如果我也提供主题,请选择distinct?var1 where {subject predicate?var1 . }
即使我在文件中看到相应的结果,也不会返回任何结果 .
我的问题是如何运行完整的sparql查询? endpoints 会有帮助吗?
1 回答
如果您的图表已启用蓝图,那么您可以通过Rexster公开
Graph
实例并使用SPARQL扩展:https://github.com/tinkerpop/rexster/tree/master/rexster-kibbles/sparql-kibble