如何创建rdf图并将其从内存传递到DOTNETRDF

时间:2014-12-10 22:26:38

标签: rdf sparql semantics dotnetrdf

如果我有RDF Triples说它们在Redis中被保存为Hash Key,其中每个三元组表示为Key:S:Value P:Value O:Value。

如何将这些三元组的集合传递给DOTNETRDF并将它们表示为图形,以便我可以对它们运行SPARQL查询?

我知道DOTNETRDF中的SPARQL Engine只能在商店中运行,但是如果我创建一个实现IGraph接口的类,那么可以在三元组上运行SPARQL查询

1 个答案:

答案 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}}最终包裹在里面)。同样有基础实现,如BaseDatasetBaseQuadDataset,它们将为您提供实施的块。

您可能希望查看使用dotNetRDF的SPARQL引擎的另一个三重商店的现有示例的开源BrightstarDB