快速语义网开发应该选择哪个三元组存储库?

11

重要的因素在于安装和使用的简易性,而非性能。

小尺寸是可以接受的,因为不需要处理大型数据集。

9个回答

8
我还推荐sesame,它轻巧易用,适用于小数据集,性能表现良好。由于2.x系列增加了上下文支持,Sesame 1.2.x的查询性能要比Sesame 2.x好得多。
我已经测试了tomcat、resin和jetty上的sesame安装/部署,并且在所有这些应用程序中都很容易使用。至少在1.x系列中,我不建议将其绑定到RDBMS组件(如Postgres或MySQL),因为性能不能令人满意,即使是原型应用程序也是如此。内存实现和本地实现提供良好的查询性能并提供简单的持久性,但缺少真正的事务。 Jena具有良好的API和更多的数据库、推理等支持,但占用空间较大,总体使用起来有点麻烦。

小更新:Sesame现在被称为Eclipse RDF4J,并可在http://rdf4j.org/找到。 - Jeen Broekstra

5

虽然这个问题有点老了,但是作为最新的回答:

我已经尝试过 Virtuoso、OpenRDF Sesame 和 4store(它们都是2012年6月版本),发现 4store 最易于使用,因为加载数据、启动和停止服务器等操作非常简单。


5

我对作为PHP/MySQL提供的ARC2印象深刻。项目网站有一个有用的“入门指南”,可以帮助您快速上手,并且邮件列表上的问题会很快得到解决。根据您想要做什么,SPARQLscript可能非常有用,它是用于处理查询结果的ARC2迷你语言附加组件。


3

3
我们使用芝麻。它是用Java实现的,因此您将拥有跨平台支持。如果您熟悉使用Tomcat,安装应该很容易。

2
如果你熟悉Ruby,那么RDF.rb库非常容易上手;通过RubyGems安装也很简单:
$ sudo gem install rdf

除了使用内存中的RDF数据外,目前可用的RDF.rb存储适配器包括SQLite、PostgreSQL、MongoDB、Cassandra、RedStore和Sesame。
从网络加载和解析RDF数据也非常容易:
graph = RDF::Graph.load("http://datagraph.org/jhacker/foaf.rdf")

请参阅 RDF.rb 项目页面,获取教程、代码示例和 API 文档。

2

我尝试过Virtuoso Open Source、Jena和Sesame...而后者,也得益于这个,更容易安装。


1
如果您是.NET开发人员,您可能会对Intellidimensions Semantic SDK感兴趣。如果您想在内存中加载图形,然后针对该图形执行SPARQL查询,代码就像这样简单:
var gds = new GraphDataSource();
gds.Read<RdfXmlReader>(File.ReadAllText(@"C:\graph.owl"));
Table results = gds.Query("select ?s ?p ?o where {?s ?p ?o} limit 10");

如果你是一名学生或研究人员,通常只要联系他们,他们就会提供免费的许可证。


1

4store是我使用过的最简单、最快速的三元存储库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接