Простейшая реализация SPARQL для образовательных целей? - PullRequest
2 голосов
/ 08 февраля 2010

Я хотел бы узнать больше о внутренностях реализации RDF / SPARQL, но большинство фреймворков (обязательно) несколько усложнены из-за реальных проблем производительности и реализации. Мне любопытно, есть ли «эталонная» реализация, которая подойдет в качестве учебного пособия низкого уровня? Какая реализация RDF / SPARQL является самой маленькой / чистой с точки зрения кода?

Ответы [ 5 ]

5 голосов
/ 08 февраля 2010
  1. Старайтесь читать RDF Primer - это действительно легко.
  2. Язык запросов SPARQL довольно легко понять.
  3. Google для "конечной точки SPARQL", чтобы играть с SPARQL. Вы найдете несколько (например, 1 или 2 или 3 или 4 ).
  4. У меня есть некоторые ресурсы на моей вики странице - вы можете начать с нее.
  5. В семантической паутине есть хорошие книги , попросите у меня дополнительную информацию.

Не бойся начинать. Возьмите любой двигатель RDF, определите задачу и запрограммируйте ее! Я рекомендую начать с Кунжут .

2 голосов
/ 09 февраля 2010

Найти небольшую и чистую реализацию SPARQL будет сложно, поскольку язык довольно сложный и выразительный, и большинство реализаций (включая мою собственную) добавляют различные расширения к синтаксису, как того требуют клиенты / предполагаемые сценарии использования. *

AFAIK Документация Jena содержит наиболее полное описание того, как на самом деле функционирует реализация SPARQL, но, как вы говорите, она довольно сложная.

С точки зрения понимания и обучения SPARQL очень важно разобраться в алгебре SPARQL. Если вы понимаете алгебру, вы можете вручную определить, как запрос должен переводиться в алгебру, а затем выполнить его вручную - очевидно, я не рекомендую пробовать это для чего-либо, кроме относительно простых запросов к очень маленьким наборам данных!

Еще одна ключевая вещь, которую нужно учить, это то, что язык не является процедурным, реализация может свободно изменять порядок и корректировать запрос любым удобным для него способом, если это не меняет фактического значения запроса.

1 голос
/ 06 июня 2012

начните с кунжута: он прост и хорош для разбора (с использованием Rio) и в качестве тройного магазина. Установка по умолчанию разделена на два веб-приложения: одно для конечной точки и одно для некоторого управления / запроса по этому вопросу. Пожалуйста, учтите, что sesame определил абстрактный интерфейс под названием Sail, который реализуют несколько поставщиков. Таким образом, вы можете без особых усилий использовать тот же интерфейс, сохраняя ваши данные фактически, например, на jena, виртуозах, аллегрографах, bigowlim или даже на других типах графиков, таких как neo4j, через стек tinkerpop.

1 голос
/ 30 ноября 2010

Dave Beckett's Redland - отличный способ начать.

Особенности:

Redland - это набор бесплатных программных библиотек C, которые поддерживают Resource Description Framework (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.
1 голос
/ 08 февраля 2010

Я не видел упоминаний об официальной справочной реализации.

Но, может быть, это поможет ... Вы взглянули на "Отчет о реализации языка запросов SPARQL"?Он сравнивает 14 реализаций SPARQL с общим набором тестов.

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

...