Программирование приложений

Материал из Российская школа по Semantic Web
Перейти к: навигация, поиск
Программирование приложений
Номер 7
Лектор Катков Ю.В.
Prerequisites базы данных, SPARQL, RDF
Замечание Ничего не готово, позор
Аннотация

Цель лекции: показать, что за компоненты встречаются у Semantic Web приложения, как они примерно устроены и как их подключают. Описать вкратце типичный фреймворк (Jena).

Содержание

Введение

У связанных данных есть свой жизненный цикл.

Жизненный цикл данных по мнению разработчиков проекта LOD2

Хранение данных

Хранение данных может быть организовано несколькими способами. В первую очередь стоит разделить их на хранилища RDF (триплетов) и обычные БД (реляционные и не-реляционные).

Triplestorages

Специализированные БД ориентированные на хранение триплетов. Такие решения отличаются простотой и гибкостью уровня хранения, но не всегда Наиболее популярны два инструмента:

  1. Sesame - полностью открытое хранилище, написанное на Java. Умеет работать в любом servlet-контейнере.
  2. Virtuoso - сложное решение для хранения и публикации данных во многих форматах, в том числе и RDF.

Традиционные БД

При таком подходе к хранению данных строятся специфичные для приложения БД, а RDF используется только для импорта или публикации данных. Данный подход имеет преимущества в производительности приложений. Существует несколько решений, автоматизирующих задачи импорта/экспорта RDF в БД:

  1. Virtuoso
  2. Oracle

Импорт данных

Часто встаёт задача импорта данных в наше хранилище. В общем случаем случае можно выделить импорт из RDF(SPARQL) источников и из других их типов.

Из RDF-источников

  1. Наиболее простой способ импорт набора RDF-документов.
  2. Construct-запрос к стороннему endpoint

Из не RDF

Кто во что горазд

Онтологии

  1. Модули работы с RDF и OWL
  2. Модуль логического вывода
  3. Логика приложения
  4. Публикация
  5. Ссылки

Фреймворки

SWP zeppelin.png

Как мы видим на этой картинке, многие из перечисленных средств включаются в semantic web фреймворк.

При разработке своего приложения Semantic Web использовать фреймворк намного проще, чем пользоваться отдельными решениями для каждого из компонентов. Рассмотрим на примере Jena Framework каждый из компонентов.

Хранение данных

SDB и TDB

Доступ к онтологиям

The Jena Ontology API

Движок логического вывода

Jena reasoner javadoc. У Jena есть ризонер RDFS, плюс она позволяет подключать сторонние ризонеры, например FACT++, Pellet.

Предоставление SPARQL-API к данным

Joseki

Ссылки

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты