Skip to content

Commit

Permalink
Merge pull request #14 from scats/8-ontologies
Browse files Browse the repository at this point in the history
close #12
  • Loading branch information
iradche authored Oct 17, 2016
2 parents 33e0369 + 693e1f7 commit 5b9ca7b
Showing 1 changed file with 75 additions and 0 deletions.
75 changes: 75 additions & 0 deletions docs/part 3.5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Демонстрация работы



## Пример отображения данных о сотруднике лаборатории



Для демонстрации работы приложения рассмотрим следующий пример: покажем как будет происходить публикации данных о сотрудниках университета ИТМО и покажем страницу данных об одном из сотрудников.

1. Формируется SML маппинг файл. *См. рисунок в разеделе выше*

2. Данные выгружаются из БД и преобразуются в RDF. На рисунке указа фрагмент файла-онтологии.

![Файл с данными университета ИТМО фрагмент](http://content.screencast.com/users/nav-mike/folders/VAK_LOD_IRADCHE/media/ea69272f-b7b9-4c28-869e-60056d511ff2/itmo_nt.png)

Рисунок 5.1 Наборы данных университета ИТМО (Фрагмент)

3. Данные загружаются в Virtuoso и становятся доступны через SPARQL endpoint (см рисунок).

![Фрагмент выборки сотрудников университета с использованием SPARQL](http://content.screencast.com/users/nav-mike/folders/VAK_LOD_IRADCHE/media/750bdfcc-ff05-413d-be17-be3411cbc24c/ifmo_data_people.png)

Рисунок 5.2 Фрагмент выборки сотрудников университета с использованием SPARQL (Фрагмент)

4. На рисунке представлена страница с данными о сотруднике университета, сгенерированная при помощи Pubby. *См. рисунок в разделе выше*



## Использование портала открытых данных на примере приложения поиска



В качестве одного из приложений, использующих открытые данные университета ИТМО, это приложение поиска по порталу открытых данных с использованием автодополнения (autocomplete).

Приложение разработано на Ruby On Rails с использованием Twitter Typeahead и доступно по: https://lod-ifmo-search.herokuapp.com.

Приложение работает по следующему алгоритму:

1. Пользователь открывает приложение
2. Система подгружает, используя RESTful API прослойку, данные о сотрудниках, лабораториях, исследовательских областях, в формате JSON. Каждая сущность содержит два поля: название на русском и ссылку на сущность в портале открытых данных университета.
3. Формируется страница с полем для поиска к которму подключается список данных.
4. Пользователь вводит запрос и система показывает возможные варианты.
5. Пользователь выбирает нужный вариант и система перебрасывает (редиректит) пользователя на соответствующую страницу на портале открытых данных.

На рисунке 5.3 показана страница разработанного приложения:

![Приложение поиска по порталу открытых данных университета ИТМО](http://content.screencast.com/users/nav-mike/folders/VAK_LOD_IRADCHE/media/c9f1ed6d-8903-4427-8ec1-e2e7726e7416/lod_ifmo_search.png)

Рисунок 5.3 Приложение поиска по порталу открытых данных университета ИТМО



## Развертывание приложения



Для развертывания приложения необходимо:

1. Сервер с Linux, в университете ИТМО используется Ubuntu Server.
2. JRE, установленная на севере - используется программным средство sparqlify.
3. Nginx - реализует роутинг приложения, переводит запросы к Pubby для отображения датасетов, перенаправляет SPARQL запросы к Virtuoso от внешних приложений
4. Virtuoso Universal Server - для хранения датасетов и реализации SPARQL endpoint.
5. Pubby - для отображения датасетов.

При развертывании приложения в университете ИТМО используется OpenVPN, для доступа к корпоративной базе данных университета.

На первом этапе на сервер устанвливается служебное программное обеспечение: jre, open vpn клиент, git для выгрузки проекта из репозитория.

На втором этапе загружается программное средство sparqlify и настраивается VPN тунель до сети университета ИТМО, проверяется доступность базы данных университета.

На третьем этапе запускается выгрзука данных из БД и преобразование этих данных в RDF. Устанавливается Virtuoso и запускается загрузка данных в Virtuoso. Если процесс проходит успешно, на настраивается cron задача для автоматизации получения этих данных.

На следующем этапе устанавливается Pubby, Nginx и настраиватется роутинг приложения.

Тестируется доступность SPARQL endpoint, датасетов, и корректность работы RESTful API прослойки, приложение развернуто.

0 comments on commit 5b9ca7b

Please sign in to comment.