Разработка Web-сервиса "Выбор музыкального инструмента"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



сс, классическая гитара и полуакустика. Данное распределение классов было сделано для лучшего понимания предметной области пользователем. Класс конструкция гитары содержит в себе классы: тип деки (то есть корпуса гитары), тип и количество струн, фирма производитель фирма. Класс производство гитар делится на классы: создание гитары мастером и фирменное производство.

Классы в данной онтологии (как и во всех других) имеют свои свойства (показаны на рис. 3.2)

Рисунок 3.2 - Свойства класса "Гитара"

Класс "Гитара" (а также все подклассы этого класса) имеют такие свойства, как: цвет, материал, название, количество струн, тип струн, цена, создатель гитары, тип корпуса, наличие звукоснинаметелей. Также каждое свойство (слот) имеет свой тип и/или ограничение на значение, это мы видим на Рисунке 3.3

Рисунок 3.3 - Свойство "Цена"

Свойство "Цена" имеет тип "float" (значение с плавающей запятой) и также ограничение на значение от 100 до 3000.

Также мы можем задать как тип свойства другой класс (рис. 3.4) или экземпляр другого класса (рис. 3.5)

Рисунок 3.4 - Свойство "Тип корпуса"

Рисунок 3.5 - Свойство "Производитель гитар"

Также, кроме свойств, классы имеют экземпляры (примеры), как показано на Рисунке 3.6.

Рисунок 3.6 - Экземпляры класса электро-басс и свойства этих экземпляров

Также, мы можем редактировать расположение и многое другое с помощью закладки Form в Protg (рис. 3.7)

Рисунок 3.7 - Form Editor

Выделенный объект мы можем двигать как угодно по форме, к тому же мы можем выставить тот слот, который будет показан на дисплее.

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

Рисунок 3.8 - Запрос к онтологии

На Рисунке 3.8 показан запрос сделанный к онтологии: вывести акустические гитары жёлтого света. К тому же выбранный запрос мы можем добавить в библиотеку запросов и по необходимости вызывать их оттуда.

Также запрос можно сделать с выбором по ограничению не только по одному значению или классу (рис. 3.9).

Рисунок 3.9 - Запрос к онтологии с несколькими ограничениями на слоты

4. РЕАЛИЗАЦИЯ ВЕБ-СЕРВИСА

.1 Web-сервисы

Говоря о web-сервисах, обычно подразумевают одно из двух:

) web-сервисы - это XML-приложения, осуществляющие связывание данных с программами, объектами, базами данных либо с деловыми операциями целиком. Между web-сервисом и программой осуществляется обмен ХМL-документами, оформленными в виде сообщений. Стандарты web-сервисов определяют формат таких сообщений, интерфейс, которому передается сообщение, правила привязки содержания сообщения к приложению, реализующему сервис, и обратно, а также механизмы публикации и поиска интерфейсов.

) web-сервисы как услуга, предоставляемая пользователю онлайн. Мы будем использовать именно это понимание web-сервиса в нашей работе.

Разрабатываемый Web-сервис представляет собой набор связанных html-страниц, реализующих интерфейс, содержит онтологию "Гитара" и php-файл, осуществляющий связь между html-страницами и онтологией посредством SPARQL-запросов.

.2 Язык SPARQL-запросов

- это язык запросов для RDF. SPARQL используется для представления запросов к разнообразным источникам данных, независимо от того, хранятся эти данные непосредственно в RDF либо представляются в виде RDF с помощью промежуточного программного обеспечения (middleware). SPARQL обладает возможностями формирования запросов к обязательным и необязательным графовым шаблонам вместе с их конъюнкциями и дизъюнкциями. SPARQL также поддерживает тестирование расширенного значения и ограничение запросов посредством исходного RDF-графа. Результаты запросов SPARQL могут быть представлены результирующими наборами или RDF-графами.

Большая часть запросов SPARQL включает набор шаблонов триплетов, который называется основным графовым шаблоном. Шаблоны триплетов похожи на RDF-триплеты, за исключением того, что каждый субъект, предикат и объект может быть переменной. Основной графовый шаблон соответствует подграфу RDF-данных, когда RDF-термины этого подграфа могут быть заменены переменными, а результат является RDF-графом, эквивалентным подграфу.

4.3 Разработка web-приложения "Выбор гитары"

Рисунок 4.1 - Начальная страница web-сервиса

Для выбора музыкального инструмента пользователю предлагается ответить на насколько вопросов о желаемых параметрах гитары (см. рис. 4.2).

Начальная страница реализовываемого сервиса имеет следующий вид:

Рисунок 4.2 - Страница "Выбор гитары"

товар онтология sparoql запрос

На основании параметров, отмеченных пользователем, формируется SPARQL-запрос следующего вида:

.my: .?obj{?obj my:color "yellow".

?obj rdf:type my:Bass .

?obj my:number_of_strings "4" .

?obj my:price ?price .(?price < 500.0) .

?obj my:producer_of_the_guitar ?producer .

?producer rdf:type "Cort" .

?obj my:sound_receivers "false" .

?obj my:material "linden" .

};

-запросы выполняются на php с помощью специальной библиотеки ARC [3]. В результате выполнения запроса пользователю представляется список подходящих гитар (рис. 4.3).

Рисунок 4.3 - Рекомендации для пользователя по выбору гитары

Если не н