Разработка 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 - Рекомендации для пользователя по выбору гитары
Если не н