如果我有RDF Triples说它们在Redis中被保存为Hash Key,其中每个三元组表示为Key:S:Value P:Value O:Value。
如何将这些三元组的集合传递给DOTNETRDF并将它们表示为图形,以便我可以对它们运行SPARQL查询?
我知道DOTNETRDF中的SPARQL Engine只能在商店中运行,但是如果我创建一个实现IGraph接口的类,那么可以在三元组上运行SPARQL查询
答案 0 :(得分:0)
事实上,我试图以我定义传递三元组的数据结构的方式实现IGraph接口,但似乎应用sparql引擎的唯一方法是将这些三元组存储在三元组存储中
您可以在标准IGraph
实例中添加任何TripleStore
实现,因此实施IGraph
足以让您入门。如果您还没有BaseGraph
,那么从IGraph
扩展通常最简单,因为这样可以免费为您提供大量实施。
所以是的,您可以对任意IGraph g = new MyCustomGraph();
TripleStore store = new TripleStore();
store.Add(g);
// Run query on the store as normal
实施运行查询:
ISparqlDataset
但是,如果您想要更深入地集成,那么您需要查看实现IGraph
接口,该接口是查询引擎内部使用的实际接口(ITripleStore
和{{1}}最终包裹在里面)。同样有基础实现,如BaseDataset
和BaseQuadDataset
,它们将为您提供实施的块。
您可能希望查看使用dotNetRDF的SPARQL引擎的另一个三重商店的现有示例的开源BrightstarDB