最简单的SPARQL实现用于教育目的?

时间:2010-02-08 16:54:47

标签: rdf sparql ontology

我想了解有关RDF / SPARQL实现内部的更多信息,但大多数框架(必然)在某种程度上会因实际性能和实现考虑而变得复杂。我很好奇是否有适合作为低级教学工具的“参考”实施?从代码的角度来看,最小/最干净的RDF / SPARQL实现是什么?

5 个答案:

答案 0 :(得分:5)

  1. 努力阅读RDF Primer - 这真的很容易。
  2. SPARQL Query Language非常容易理解。
  3. 谷歌用“SPARQL端点”来玩SPARQL。您会找到一些(例如1234)。
  4. 我的wiki页面上有一些资源 - 你可以从它开始。
  5. 有好books on Semantic Web可用,请向我索取更多信息。
  6. 不要害怕开始。拿任何RDF引擎,定义任务并编程!我建议您从Sesame开始。

答案 1 :(得分:2)

寻找一个小而干净的SPARQL实现将很难,因为该语言非常复杂和富有表现力,并且大多数实现(包括我自己的实现)根据客户/感知使用场景的要求添加了各种语法扩展。

AFAIK Jena的文档提供了有关SPARQL实现如何实际运行的最全面的描述,但就像你说它相当复杂。

在理解和教授SPARQL方面,了解SPARQL代数是非常重要的。如果您了解代数,您可以手动解决查询应该如何转换为代数,然后通过手工执行它 - 显然我不建议在非常小的数据集上进行相对简单的查询以外的任何操作!

教授的另一个关键是语言不是程序性的,实现可以自由地重新排序并以任何它认为合适的方式调整查询,前提是这不会改变查询的实际含义。

答案 2 :(得分:1)

我没有看到官方参考实施的提及。

但也许这会有所帮助......您是否看过“SPARQL查询语言实施报告”?它将14个SPARQL实现与通用测试套件进行了比较。

http://www.w3.org/2001/sw/DataAccess/impl-report-ql

答案 3 :(得分:1)

Dave Beckett的Redland是一个很好的开始方式。

特点:

Redland是一组免费软件C库,为资源描述框架(RDF)提供支持。

* Modular, object based libraries and APIs for manipulating the RDF graph, triples, URIs and Literals.
* Storage for graphs in memory and persistently with Sleepycat/Berkeley DB, MySQL 3-5, PostgreSQL, AKT Triplestore, SQLite, files or URIs.
* Support for multiple syntaxes for reading and writing RDF as RDF/XML, N-Triples and Turtle Terse RDF Triple Language, RSS and Atom syntaxes via the Raptor RDF Parser Library.
* Querying with SPARQL and RDQL using the Rasqal RDF Query Library.
* Data aggregation and recording provenance support with Redland contexts.
* Language Bindings in Perl, PHP, Python and Ruby via the Redland Bindings package.
* Command line utility programs rdfproc (RDF), rapper (parsing) and roqet (query).
* Portable, fast and with no known memory leaks.

答案 4 :(得分:1)

从芝麻开始:它很简单,很适合解析(使用Rio)和三元组。 默认安装分为两个Web应用程序:一个用于端点,另一个用于对其执行某些管理/查询。请考虑sesame已经定义了一个名为Sail的抽象接口,几个供应商确实实现了。所以你可以毫不费力地使用相同的界面,实际上存储你的数据,例如jena,virtuoso,allegrograph,bigowlim,甚至是通过tinkerpop堆栈的nedb4等graphdb的其他国王。