Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

close #12 #14

Merged
merged 1 commit into from
Oct 17, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 прослойки, приложение развернуто.