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

 

СОДЕРЖАНИЕ


ВВЕДЕНИЕ

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ

1.1 Проблема выбора товара в Интернете

1.2 Проблема выбора товара

1.2 Проблема выбора музыкального инструмента

1.3.1 Выбор и подбор инструмента начинающему гитаристу

1.3.2 Выбор музыкального инструмента профессионалу

1.4 Постановка задачи

2. ОНТОЛОГИИ

2.1 Онтологии как часть концепции Semantic Web

2.2 Понятие онтологии

2.3 Применение онтологий

2.4 Типы онтологий

2.5 Свойства онтологий

3. РЕАЛИЗАЦИЯ ОНТОЛОГИИ

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

4.1 Web-сервисы

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

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

ВЫВОДЫ

ПЕРЕЧЕНЬ ССЫЛОК

ПРИЛОЖЕНИЕ А. ИСХОДНЫЙ КОД ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЕ Б. ОНТОЛОГИЯ "ГИТАРА"

ПРИЛОЖЕНИЕ В. ВIДОМIСТЬ БАКАЛАВРСЬКОЇ РОБОТИ


ВВЕДЕНИЕ


Сеть Интернет сегодня стала общепризнанным фактором деловой и общественной жизни. Новое поколение web-сервисов успешно сменяет традиционные Интернет-приложения. Такие сервисы, объединяющие разнородные системы на основе открытых стандартов, удобны для поддержания долговременных потоков бизнес-процессов при относительно небольших затратах.

Использование при создании web-приложений технологий Semantic Web, облегчает выполнение многих задач и обеспечивает множество преимуществ.

Использование для создания web-приложений онтологий облегчает решения проблем представления знаний и инженерии знаний, семантической интеграции информационных ресурсов, информационного поиска и т.д.

Целью бакалаврской работы является разработка web-сервиса (представление web-сервиса как услуга, предоставляемая пользователю онлайн). Мы будем использовать именно это понимание web-сервиса в нашей работе выбора музыкальных инструментов, функционирование которого основано на использовании онтологии, содержащей иерархию и характеристики инструментов, и SPARQL-запросов к этой онтологии.


1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ


.1 Продажа товара в Интернете


В настоящее время Интернет представляет собой один из самых активно развивающихся средств информации. По статистике, значительное число пользователей имеют доходы выше среднего и относятся к группе менеджеров среднего и высшего звена.

Создание сайта в Интернете обеспечивает новые возможности по расширению, информационной поддержке или рекламе бизнеса.

Профессионально созданный сайт обеспечивает легкость его нахождения по запросам в поисковых системах, поскольку целевую аудиторию составляют пользователи, которые ищут конкретную информацию в Интернете. Постоянный контакт с клиентами и партнёрами позволяет оперативно реагировать на изменения рынка и проводить своевременную коррекцию. Кроме того, расходы на рекламу в Интернете значительно ниже, чем в традиционных средствах.

Web-сайт сегодня является не только информационным средством или визиткой, а полноценным маркетинговым инструментом, привлекающим новых клиентов, приносящим прибыль.

Существует огромное количество справочно-информационных сайтов, предоставляющих полную информацию почти по любому запросу. Намного легче зайти на сайт и узнать всё необходимое, нежели "рыться" по газетам и журналам.

Информативный и полезный сайт является основным информационным ресурсом всей компании. При помощи сайта можно:

передать всю необходимую информацию о товарах и услугах компании, в том числе самые последние новости;

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

разрекламировать свою фирму, товары, услуги, так, чтобы иметь одновременно зрелищность и информативность телевизионной рекламы.


1.2 Проблема выбора товара


Выбор можно сделать на основании интуиции, то есть на основе ощущения того, что он правилен. Лицо, принимающее решение не занимается при этом сознательным взвешиванием "за" и "против" по каждой альтернативе и не нуждается даже в понимании ситуации. То, что мы называем озарением или шестым чувством, и есть интуитивный выбор. Однако, полагаясь исключительно на интуицию, приходится сталкиваться с непреходящей случайностью. С точки зрения статистики шансы на правильный выбор без какого-либо приложения логики невысоки.

Проблема выбора товара весьма актуальна в наше время. Например, выбор товара через Интернет-магазин.

Практически все люди сталкивались с проблемой выбора товара. Для человека выбрать подходящий товар из всего множества товаров, представленных на современном рынке, найти идеальное соотношение цена/качество, выбрать подходящий бренд, которому можно доверять, является весьма непростой задачей. Все эти поиски отнимают много времени и сил. В отличие от обычных магазинов интернет-магазины намного удобнее. Все, что нужно, собрано в одном месте, и заказ можно оформить, не выходя из дома или офиса, а выбранный Вами товар доставят туда, куда нужно. Количество товаров и услуг, которые можно заказать в Интернете, значительно превосходит предложения в остальных средствах массовой информации (каталоги, рекламные проспекты, объявления в газетах, телемагазины). При покупке товаров через Интернет появляется возможность внимательно изучить предложенные модели и не терять лишнего времени.


1.3 Проблема выбора музыкального инструмента (гитары)


Покупка инструмента - дело ответственное, к нему стоит подготовиться. Нельзя обойтись без полезной информации. Источниками могут стать друзья-музыканты или Интернет.

Прежде чем купить музыкальный инструмент, нужно определиться, как и где на нем можно будет играть, выяснить некоторые особенности инструмента, а потом принимать решение. Одним из наиболее популярных музыкальных инструментов среди начинающих и профессиональных музыкантов является гитара.

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

Акустическая гитара - инструмент, с которого начинают учиться играть. Достоинством акустики является ее самостоятельность и мобильность. Можно гитару купить, разучить несколько аккордов и успешно исполнять в дружеской компании популярные песни. Акустическая гитара выполняется из шпона дерева (фанеры). Акустические гитары имеют много разновидностей, отличаясь материалами, формой, шириной и длиной грифа, видом и количеством струн и пр. Имеются также электроакустические гитары со звукоснимателями - для аккомпанемента и ансамблевой игры. Наиболее распространена шестиструнная гитара.

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

Рассматривая вопрос, купить гитару подороже или подешевле, следует понимать - дешевый инструмент, скорее всего, будет невысокого качества. Лучше начинать обучение сразу с хорошего инструмента - это более эффективно. Плохая гитара не только не звучит и не держит строй, иногда даже сложно прижать струны к грифу. Такие занятия пользы не принесут. У акустической и электрогитары следует проверить звук. Акустическая гитара не должна дребезжать, а электрогитара - иметь посторонние призвуки. Наличие посторонних призвуков означает, что инструмент не обеспечивает необходимое качество звука.


.3.1 Выбор и подбор инструмента начинающему гитаристу

Выбор гитары для новичка сложен тем, что он не знает всего о гитарах. Во-первых, надо решить, на чем учиться играть - на акустической или электрогитаре. Как только выбор сделан, Вам нужно определиться с бюджетом на покупку. Избегайте покупки дешевого инструмента, так как он не только может сделать процесс обучения более сложным, но также у такого инструмента будет низкая стоимость при повторной продаже. Акустические гитары - с этими инструментами менее хлопотно учиться - не надо возиться с усилителями и кабелями, которые нужны при игре на электрогитаре. Но с другой стороны, на акустической гитаре сложнее играть. Низкое качество инструмента может сильно помешать быстрому прогрессу в обучении. Не стоит покупать дешевую акустику - инструмент немного подороже окупит себя в будущем.

1.3.2 Выбор профессионалов

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

Кроме этого, встает еще множество вводных задач. Например, многим концертирующим гитаристам очень важно иметь оборудование, которое можно легко перевозить (т.е. важны такие категории как размеры оборудования, его вес), чтобы оно было надежным и прочным, устойчивым к механическим воздействиям. Удобство работы имеет также немаловажное значение. Порой гитаристы вынуждены идти на компромиссы и получать максимальное удобство эксплуатации за счет некоторой потери качества. Добавьте сюда еще массу субъективных моментов. Даже внешний вид устройства, его цвет может повлиять на тот или иной выбор.

У некоторых музыкантов поиски своего звука превратились в какую-то хроническую болезнь, продолжающуюся всю творческую жизнь. Особенно это касается электрогитаристов (а также электроакустических). Электрогитаристы слышат звук гитары не от самого инструмента, как например саксофонисты или барабанщики, а звук, идущий из гитарного усилителя (или других усилительных систем). Оборудование, усилитель является не просто каким-то дополнением к инструменту, а по сути есть продолжение гитары, некоего сложного составного инструмента, состоящего из различных блоков. И здесь особо следует подчеркнуть, что само звучание этого комплексного инструмента во многом влияет на технику игры гитариста, определяя его исполнительский стиль.


1.4 Постановка задачи


В бакалаврской работе должны быть решены следующие задачи:

рассмотреть использование технологий Semantic Web, в частности, онтологий, в сфере построения web-приложений;

проанализировать предметную область;

определить технологию для разработки web-сервиса;

построить и разработать онтологию;

разработать web-приложение для выбора музыкального инструмента.


2. ОНТОЛОГИИ


2.1Онтологии как часть концепции Semantic Web


Впервые идея Semantic Web была предложена в 2001 году Тимом Бернерсом-Ли [1]. Единого определения понятия "Semantic Web" не существует. Например, на сайте консорциума W3С [2] утверждается, что "Семантический Web или Web данных - это расширение классического Web-а, позволяющее связать воедино ежедневно используемые нами данные. Семантический Web предоставляет стандартную инфраструктуру для обмена и повторного использования данных различными приложениями, предприятиями и сообществами. Он является результатом совместных усилий большого числа исследователей и индустриальных партнеров, направляемых консорциумом W3C."

Semantic Web - часть глобальной концепции развития сети Internet, целью которой является реализация возможности машинной обработки информации, доступной во Всемирной паутине. Основной акцент концепции делается на работе с метаданными, однозначно характеризующими свойства и содержание ресурсов Internet, вместо используемого в настоящее время текстового анализа документов. В Semantic Web предполагается повсеместное использование, во-первых, унифицированных идентификаторов ресурсов (URI), а во-вторых - онтологий и языков описания метаданных. Эта концепция была принята и продвигается консорциумом W3С. Для её внедрения предполагается создание сети документов, содержащих метаданные о ресурсах Web и существующей параллельно с ними. Тогда как сами ресурсы предназначены для восприятия человеком, метаданные используются машинами (поисковыми роботами и другими интеллектуальными агентами) для проведения однозначных логических заключений о свойствах этих ресурсов.

Онтологии позволяют создавать модели, более точно соответствующие реальности, чем другие способы классификации. В то же время использование онтологий для создания запросов и анализа не сложнее традиционных методов прежде всего потому, что онтологический граф или карта отражают отношения между самими сущностями, а не их идентификаторами. Несмотря на все эти достоинства, семантические методы не выходили за рамки исследовательских проектов до тех пор, пока в мае 2001 года Тим Бернерс-Ли вместе с Джеймсом Хендлером и Орой Лассилой не опубликовали в журнале Scientific American Magazine статью The Semantic Web. С тех пор и поныне Semantic Web все еще находится в процессе становления, будет ли она реализована, и, если да, то как именно, пока не ясно, но идеи, разработанные консорциумом W3C, стандарты и языки уже активно прилагаются к корпоративным системам.

В каком-то смысле история повторяется, происходящее сейчас с Semantic Web можно сравнить с тем, что было с Web-сервисами несколько лет назад. Сервисная идея, протоколы SOAP, UDDI, WSDL и другие зародились в Web, но их очень быстро приспособили к корпоративным системам, и родилась сервисная архитектура. Как следствие, сервисы, используемые в SOA, долгое время называли исключительно Web-сервисами, хотя с Web их роднило лишь использование общего стека стандартов. Постепенно сервисы отпочковались от Web и стали самостоятельной основой SOA.

Подход Semantic Web добавляет новое качество, позволяя пользоваться данными не "вслепую", а осознанно, определяя и связывая их таким образом, чтобы упростить поиск, автоматизировать работу с ними, перераспределять между приложениями и интегрировать. То, как данные представляются в Semantic Web, можно рассматривать как новый шаг в управлении данными, и вполне естественно воспользоваться этими преимуществами в корпоративных информационных системах. Нетрудно заметить, что единство всем компонентам информационной инфраструктуры (SOA, базы данных, бизнес-процессы, программное обеспечение) придает общий для них набор терминов и соглашений. Именно они связывают отдельные фрагменты в общую картину, то есть они семантически едины, они уже есть, но существуют неявно. Этот факт обычно упускали из виду, поэтому формальные интеграционные решения оказывались сложными, дорогими и часто провальными.

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


.2 Понятие онтологии


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

Поэтому онтологии получили широкое распространение в решении проблем представления знаний и инженерии знаний, семантической интеграции информационных ресурсов, информационного поиска и т.д.

Известны несколько подходов к определению понятия онтологии, но общепринятого определения до сих пор нет, поскольку в зависимости от каждой конкретной задачи удобно интерпретировать этот термин по-разному: от неформальных определений до описаний онтологий в понятиях и конструкциях логики и математики. Мы будем понимать этот термин следующим образом:

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

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

В центре большинства онтологий находятся классы, каждый из которых может иметь подклассы, представляющие собой более точные понятия, чем исходный класс. Все классы онтологии выстраиваются в одну или несколько иерархий и описывают понятия предметной области. При этом классы могут содержать атрибуты, которые описывают свойства и внутреннюю структуру понятий, лежащих в основе классов. Все подклассы наследуют атрибуты родительских классов. Каждый атрибут класса помимо названия имеет тип значения, разрешенные значения, число значений (мощность). Тип значения атрибута описывает, какие типы значений может содержать атрибут, например строку или целое число.

Существует также ограничение значения атрибута, состоящее в том, что он может принимать только определенные классы или экземпляры определенных классов. Разрешенные значения атрибута устанавливают ограничения на атрибут, но уже в рамках его типа, например заданный диапазон целых чисел. Мощность атрибута определяет, сколько значений он может иметь: только одно значение - это единичная мощность или любое число значений - множественная мощность. Онтология может включать и экземпляры классов, то есть такие классы, в которых установлены значения всех их атрибутов. Считается, что онтология вместе с набором индивидуальных экземпляров классов образует базу знаний, хотя на самом деле трудно определить, где кончается онтология и где уже начинается база знаний.


.3 Применение онтологий


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

Онтологии могут быть использованы везде, где требуется обработка данных, учитывающая их семантику. Приведем несколько вариантов использования онтологий:

- Использование онтологии для "извлечения значимой информации из web-страниц при индексировании". Предполагается повышение качества информационного поиска за счет удаления навигационной части из web-страниц, разделения web-страниц на содержательную и навигационную части. Данные методы основаны на выделении одинаковых частей страниц с одного сайта. В некоторой степени данная технология частично закрывает потребность в семантическом поиске.

- Для решения задачи повышения эффективности поиска в сети Интернет предлагается строить порталы знаний, каждый из которых предоставляет доступ к ресурсам сети Интернет определенной тематики. Основу таких порталов знаний составляют онтологии, содержащие описание структуры и типологии соответствующих сетевых ресурсов.

- Интересное применение онтологий - специалистами была построена "медицинская" онтология, позволяющая делать выводы. Задав симптомы, с помощью онтологий можно вывести диагноз.

- Еще одно применение основано на использование онтологии для построения инновационных цепочек в системе поддержки инновационной деятельности в регионе". Система реализуется в виде Интернет-портала и включает в себя, с одной стороны, информационную систему со средствами создания и интеграции связанных с инновациями разнородных информационных ресурсов, а с другой, - развитые средства персонального участия в инновационной деятельности специалистов различного профиля. Важным компонентом, обеспечивающим интеллектуализацию таких рабочих мест, является механизм, поддерживающий интерактивное построение инновационных цепочек. Создание цепочек выполняется по автоматически генерируемому сценарию, структура которого определяется структурой инновационной цепочки, заданной в онтологии инновационной деятельности и видом инновационного запроса.

Часто онтологии используют в качестве:

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

- Отображения на базу данных. Онтология предоставляет набор базовых терминов предметной области, с которыми приходится иметь дело в любом процессе измерения. Поэтому онтология является удобным базисом для разработки схемы данных измерительной системы. Она не является полной, поскольку любой конкретный процесс измерения имеет частные особенности, не задаваемые на уровне онтологии. Тем не менее, она определяет базовые понятия, которые в той или иной форме присутствуют или должны присутствовать в любой схеме данных.

- Формата хранения метаданных. Свойства онтологических терминов определяют состав и формат представления метаданных, содержащихся в системе. Эффективная поддержка метаданных является одной из ключевых задач инженерии информационных систем. Привлечение онтологии позволяет повысить эффективность реализации различных средств обработки данных благодаря формированию богатых массивов метаинформации в машинно-читаемой форме.

- Формата обмена данными. Открытые форматы обмена данными с внешними системами, основанные на онтологии, существенно упрощают задачу интеграции систем, относящихся к различным областям либо созданных различными разработчиками.

Существует также подход к интеллектуализации систем документооборота, основанный на использовании знаний о предметной области, лингвистическом анализе текста документов и его содержательном индексировании.


2.4 Типы онтологий


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

) Предметно-ориентированные (Domain-oriented):

Специфичные для данного домена (Domain-specific);

Медицина => кардиология => сердечная аритмия;

система управления светофорами;

Обобщение предметной области (Domain generalizations);

компоненты, органы, документы.

) Ориентированные на прикладную задачу (Task-oriented):

Специфичные для данной задачи (Task-specific);

дизайн конфигурации, инструкция, планирование;

Обобщающие задачи (Task generalizations);

решение проблем, например, UPML.

) Базовая техническая онтология. (Basic technical ontology):

тепло, энергия, сила.

) Общие онтологии (Generic ontologies):

Категории верхнего уровня ("Top-level categories");

- Элементы и измерения (Units and dimensions).


2.5 Свойства онтологий


Классификации свойств онтологии. Несмотря на недостаточное представление в литературе "качества" в концептуальном моделировании предлагаются "критерии качества", рекомендуемые для оценивания онтологий. В литературе приводятся примеры различных списков критериев качества онтологий и концептуальных моделей .

Эти свойства относятся как к отдельным определениям в моделях онтологий, так и к моделям онтологий в целом. Некоторые свойства имеют отношение к корректности отражения "онтологией реального мира" и могут быть оценены только экспертами (возможно, разумнее говорить о корректности отражения моделью онтологии сложившейся онтологии). Другие свойства касаются структуры (архитектуры) онтологии, синтаксиса определений, содержания в определениях.

Некоторые авторы предлагают относить некоторые свойства (или критерии) к "внешнему" качеству моделей онтологий (т.е. удовлетворению пользователей), а другие свойства - к "внутреннему" качеству понятий (the intrinsic properties of concepts) .

Можно провести аналогию с понятиями технологии разработки программного обеспечения. Согласно внешними свойствами качества (external quality factors) называют те свойства концептуальных моделей и созданных на их основе программных продуктов, которые могут наблюдаться пользователем, а внутренними свойствами (internal factors) - те, которые можно измерить только в терминах самого продукта, т.е. воспринимаемые (заметные) только профессионалами, имеющими доступ к содержимому модели (или тексту программ). Здесь понятие внутреннее свойство понимается более "узко".

В качестве другой основы для классификации предложены три "размерности" для оценивания качества концептуальных схем: синтаксическая, семантическая и прагматичная . Такая классификация напрямую не связана с "делением" на внешние и внутренние свойства. Это другой взгляд на качество.

С учетом наличия общего и специфичного в разных онтологиях и с учетом наших целей, возможно, более полезной была бы классификация, позволяющая отделить "типичные" свойства моделей онтологий от "специфичных" (специфичность может быть привнесена языком написания модели) и/или отделить свойства, которые можно объективно оценить, от тех, которые оцениваются субъективно (экспертами предметной области), и/или отделить свойства онтологий от свойств их моделей.

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

- в литературе приводятся примеры различных списков критериев качества онтологий и концептуальных моделей: в различных источниках наборы свойств, рекомендуемых для исследования качества онтологий, различны;

определения свойств, имеющих схожие названия, как правило, представляются авторами в разных терминах и имеют различную семантику.

Следующие примеры демонстрируют "популярные" свойства онтологии (или концептуальной модели) и различные их определения (либо пояснения).

Среди "типичных" свойств, оцениваемых, скорее, "субъективно" в литературе встречаются:

полнота представления понятий (completeness) означает, что понятия должны быть достаточно выразительными для охвата всех "существенных аспектов" реального мира (ссылаясь на требования пользователей и рынка) ;

полнота (completeness) означает, что концептуальная модель (схема) должна содержать все истинные утверждения

полнота (completeness) включает свойства: охват (scope); обстоятельность (exhaustiveness); степень детализации (granularity);

онтологическая полнота (ontological completeness) информационной системы относится к связи между специфицированной информационной системой и семиотической системой организации, в которой она работает. Онтологическая полнота (potentially complete) означает, что каждый нужный класс семиотической системы организации присутствует в информационной системе, описывающей ее;

истинность (validity) - концептуальная модель должна содержать истинные утверждения об области;

корректность (correctness) - концептуальная модель должна представлять реальный мир корректно, без ошибок ;

видимость (the visibility) семиотической системы организации (т.е. терминов предметной области) в семиотической системе информационных систем (в терминах модели онтологии);

уместность (relevance) - все необходимые объекты включены в концеп-туальную модель;

уместность понятий (relevance of concepts) - насколько подходящи предложенные понятия в контексте моделирования предметной области и насколько они общи (generic);

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

В вышеупомянутых классификациях эти свойства оказались бы, по-видимому, внешними и семантическими. Такие свойства интересны, скорее, пользователям, которые "понимают, как устроен реальный мир".

Следующие свойства (тоже оцениваемые "субъективно", а в вышеупомянутых классификациях, по-видимому, внешние, прагматические) имеют разные названия, но схожее содержание. Из них - четыре первых "специфичны" для моделей онтологий, представляющих структуру наследования, а три последних "типичны":

приспособляемость (adaptability) - насколько легко можно адаптировать понятия к индивидуальным потребностям (например, может ли пользователь определить свои собственные понятия, адаптировать свойства, и т.д.);

робастность (robustness) ссылается на способность приноравливаться к изменениям в предметной области без изменения базовой структуры понятия.

монотонная расширяемость (extendibility) означает, что онтология должна быть такой, чтобы можно было расширять и специализировать ее монотонно, т.е. определять новые термины для специфических использований на основе существующего словаря способом, не требующим проверки (revision) существующих определений;

затраты на расширение (expandability) - затраты на добавление новых определений и на добавление информации в существующие определения без изменения тех свойств, которые уже гарантированы процессом верификации онтологии;

стабильность (stability) - когда возникают "маленькие" изменения в знаниях (Universe of Discourse), надо делать маленькие изменения, чтобы получить концептуальную модель хорошего качества, отражающую знания;

чувствительность (sensitiveness) - насколько небольшие изменения в данном определении изменят хорошо определенные гарантированные свойства. После включения и модификации определения должно быть гарантировано, что 1) архитектура онтологии и архитектура определений остаются обоснованными, 2) определения - лексически и синтаксически корректными, 3) онтология и все определения удовлетворяют краткости, согласованности и полноте, в их тесной связи;

гибкость (flexibility) относится к способности изменять понятия для приспосабливания к новым требованиям.

Близкими между собой по смыслу "типичными" свойствами онтологий являются:

семантическая согласованность - модели ясны и организованы в соответствии с прикладной областью;

согласованность (consistency) понятий в концептуальных моделях с реальным миром плюс согласованность внутри определения понятия.

Однако первое из них оценивается, скорее, субъективно, а второе, отчасти, объективно.

Следующие свойства, в основном, объективные, по-видимому, характерны для произвольной онтологии:

согласованность между определениями и аксиомами (Consistency) - невозможность вывести противоречивые утверждения с использованием других определений и аксиом;

- cвязность (coherence): Онтология должна быть сцеплена: т.е. выводы (inferences) должны быть согласованы с определениями, по крайней мере "определяющие аксиомы" должны быть логически согласованы;

краткость (выразительность) (conciseness) - информация, собранная в онтологии, полезна и четка; множество свойств в определении класса точно и четко.

В вышеупомянутых классификациях эти свойства оказались бы, по-видимому, внутренними и семантическими.

Для онтологий, предусматривающих к определению на формальном языке комментарий на естественном языке, важно оценить согласованность (эквивалентность) каждого формального определения и неформальной части определения (комментария). Из литературы известно следующее свойство:

связность (internal coherence): для понятий, определенных неформально, таких как описанные естественным языком в документации и примерах. Если предложение, которое может выводиться из аксиом, ограничивает (contradicts) определение или пример, данный неформально, то онтология несвязна.

Оценивание такого свойства особенно актуально для "научных" онтологий, написанных на достаточно трудном для восприятия языке, таком как язык прикладной логики и оцениваемых поэтому экспертом, как правило, по комментариям. Для таких онтологий важно установить и уметь оценивать внутренние свойства модели онтологии, что "вне компетенции" эксперта.

Примерами названий прочих свойств из являются: гомогенность (homogeneity), явность (expliciteness), простота правил (rule simplisity), однозначность (ontological ambiguity), размер (size), модульность (modularity) документированность формальных определений, синтаксическая корректность (Correctness), минимальные онтологические обязательства (minimal ontological commitment), единообразие правил (rule uniformity).

Внутренние свойства моделей онтологий. Таким образом, доступные литературные источники дают некоторый "ориентир" в вопросах оценивания свойств и качества онтологий. Однако, "литература" не дает "руководства" для оценивания важных для "научных" онтологий свойств. Приводятся нестрогие определения желаемых свойств онтологий (и концептуальных моделей), и встречаются подробные описания конкретных случаев нарушения желаемых свойств в конкретных моделях онтологий. Эти "случаи нарушения" также строго не определены, а представлены на конкретных примерах (а примеры - на конкретном языке). Часто методы оценивания свойств онтологий зависят от языка представления (хотя сами свойства не зависят от языка) и описаны в литературе нестрого.

Классификация свойств по принципу внешнее-внутреннее довольно затруднительна. Возможно, более полезным было бы различать свойства онтологий и свойства моделей онтологий, и отслеживать, как существующие свойства онтологии "перерастают" в свойства модели онтологии в процессе ее проектирования. Полезным представляется выделение из всего множества свойств тех, которые могут быть оценены объективно, особенно для "научных" онтологий, написанных на достаточно трудном для восприятия формальном языке. А "объективные" свойства полезно классифицировать по их "типичности - специфичности".

Поэтому важно установить те внутренние свойства, которые пригодны для оценивания на практике в процессе создания онтологий, и оценивание которых является объективным (и может быть автоматизировано). Объективное оценивание согласованности понятий [модели] онтологии и связей между ними на этапе разработки и модифицирования онтологии дало бы возможность своевременно обнаружить те несоответствия, у которых есть риск проявиться внешне, т.е при использовании модели онтологии.

В связи с этим актуальна следующая задача - формирование набора подсвойств общепризнанных свойств модели онтологии, пригодного для оценивания разрабатываемых онтологий (в частности, "научных").

Требованиями к этим подсвойствам общепризнанных свойств являются: который:

описание способа оценивания свойства должно быть точным и однозначным;

- описание способа оценивания должно быть в терминах, не зависящих от языка написания онтологии.


3. РЕАЛИЗАЦИЯ ОНТОЛОГИИ


Для того, чтобы лучше понять, как формируются онтологии, рассмотрим пример онтологии про гитары. Основными понятиями этой предметной области являются: гитара, конструкция гитары, фирма-производитель, заказ мастеровой гитары.

Класс "Гитара" имеет следующие атрибуты:

- цвет (строка);

- материал (строка);

- название (строка);

- количество струн (строка);

- цена (строка);

- производитель гитары (значение является пример другого класса);

- тип корпуса (значением является другой класс);

- тип струн (значением является другой класс);

- звукосниматели (логический, булевский тип).

Класс "Конструкция гитары" имеет следующие два подкласса, кот в свою очередь имеет следующие атрибуты:

- Корпус:

- Цвет корпуса (строка);

- Материал корпуса (строка);

- Название корпуса (строка).

- Струны:

- Название струн (строка).

Класс "Фирма-производитель" имеет следующие атрибуты:

- Адрес фирмы (строка).;

- Название фирмы (строка).;

- Контактный телефон (строка).

Класс "Мастеровые гитары" имеет следующие атрибуты:

- Гитара (товар) (строка);

- Инициалы мастера (строка);

- Телефон мастера (строка);

- Заказ (логический, булевский тип).


Рисунок 3.1 - Иерархия классов


На Рисунке 3.1 представлена иерархия онтологии для предметной области "Гитара".

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

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


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


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


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


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

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

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


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


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


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

Также, мы можем редактировать расположение и многое другое с помощью закладки Form в Protégé (рис. 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-запрос следующего вида:

$q = 'rdf: <#"justify">?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 - Рекомендации для пользователя по выбору гитары


Если не найдено ни одного подходящего инструмента, будет показано следующее сообщение:


Рисунок 4.4 - Сообщение в случае отсутствия подходящей гитары.


ВЫВОДЫ


В бакалаврской работе была рассмотрена проблема выбора товара, а конкретнее выбора товара в Интернете. Приобретения товара через Интернет-магазины дает многие преимущества, такие как: облегчает выбор товара, предоставляет более конкретную информацию о продаваемых товарах, упрощает покупку товара.

Онтология, применяемая в бакалаврской работе - это попытка формализации данной области знаний. Она состоит из иерархии классов музыкального инструмента "Гитара", класс "гитара" имеет свойства: цвет, материал, цена, тип гитары, производитель гитары, а также их связей и правил, для того, чтобы по этим свойствам можно подобрать нужную гитару.

В результате выполнения работы был создан web-сервис выбора музыкального инструмента "Гитара", реализованный с помощью применения технологий Semantic Web. Функционирование web-сервиса основано на использовании онтологии, содержащей иерархию и характеристики инструментов, а также их свойства и типы. Технология "связывания" онтологии и web-сервиса реализована с помощью SPARQL-запросов. SPARQL-запросы - это запросы к данным, представленным по модели RDF, а также протокол для передачи этих запросов и ответов на них. Под RDF мы понимаем формат данных (в виде ориентированного маркированного графа) для представления информации в всемирной паутине.


ПЕРЕЧЕНЬ ССЫЛОК


  1. Бернерс-Ли, Т. Семантическая Сеть [Текст] / Т. Бернерс-Ли, О. Лассила, Дж. Хендлер // Scientific American. - May 17, 2001, #"justify">W3C Semantic Web FAQ [Электронный ресурс] / W3C. - Режим доступа : www/ URL: #"justify">Easy RDF and SPARQL for LAMP systems [Электронный ресурс] / Benjamin Nowack, semsol, Germany. - Режим доступа : www/ URL: #"justify">OWL Web Ontology Language Guide [Электронный ресурс] / W3C. - Режим доступа : www/ URL: #"justify"> - Загл. с экрана.
  2. Абрамов, А.В. Онтология как метод описания предметных областей. [Текст] / А.В. Абрамов //. Открытые системы - 2005, #"justify">SPARQL Query Language for RDF [Электронный ресурс] / W3C. - Режим доступа : www/ URL: #"justify"> - Загл. с экрана.
  3. Анатолий Гладун, Веб-сервисы как основа деловых отношений // Телеком. Коммуникации и сети. - 2008. - №3. - с. 56.

8.Технология создания web-проекта [Электронный ресурс]. - Режим доступа: www/ URL: #"justify">.Web-сервисы для новичков [Электронный ресурс]. - Режим доступа: www/URL:#"justify">10.Павел Гусак. XML Web Services сервисы [Электронный ресурс]. - Режим доступа: www/URL: #"justify">.Андрей Колесов. Web-сервисы спасут компьютерный мир? [Электронный ресурс]. - Режим доступа: www/URL: #"justify">.Веб 2.0 [Электронный ресурс] // Материал из Википедии - свободной энциклопедии. - Режим доступа: www/URL: #"justify">13.Антон Орлов. PHP: авторизация доступа [Электронный ресурс]. - Режим доступа: www/URL: #"justify">14.Hendler, J. Current Status and Future Promise of the Semantic Web [Электронный ресурс] / O. Lassila, J. Hendler. - Режим доступа : www/ URL: #"justify">Semantics2006-keynote.ppt

15.Левшин, Д. Web, часть третья [Текст] / Д. Левшин // Открытые системы. - 2009. - №3.

.Berners-Lee, T. Isn't it semantic? (Interview with BCS managing editor Brian Runciman) [Электронный ресурс] / BCS . - Режим доступа : www/ URL: #"justify">=ConWebDoc.3337 - March 2006.- Загл. с экрана.


ПРИЛОЖЕНИЕ А.


ИСХОДНЫЙ КОД ПРИЛОЖЕНИЯ


<?php

include_once("arc/ARC2.php");

$parser = ARC2::getRDFParser();

$parser->parse('#"justify">$triples = $parser->getTriples();

$index = $parser->getSimpleIndex();

$config = array(

/* db */

'db_host' => '127.0.0.1',

'db_name' => 'my_db1',

'db_user' => 'root1',

'store_name' => 'my_store',

//'db_pwd' => '123',

);

$store = ARC2::getStore($config);(!$store->isSetUp()) {

$store->setUp();

}

$store->query('LOAD <#"justify">$value=null;

$value1=null;

$value2=null;

$value3=null;

$value4=null;(list($key,$val) = each($rdi))

{($val!=null)

$value=$val;

}

//echo $value;(list($key,$val) = each($rdi_1))

{($val!=null)

$value1=$val;

}

//echo $value1;(list($key,$val) = each($rdi_2))

{($val!=null)

$value2=$val;

}(list($key,$val) = each($rdi_3))

{($val!=null)

$value3=$val;

}

$q = 'rdf: <#"justify">?obj rdf:type my:'.$value.' .

?obj my:color \''.$value1.'\' .

?obj my:price ?price .(?price <'.$value2.') .

?obj my:proguser_of_the_guitar ?producer .

?producer rdf:type my:'.$value3.' .';($rdi_4){(list($key,$val) = each($rdi_4))

{($val!=null)

$value4=$val;

}

//echo $value4;

$q=$q.'?obj my:material \''.$value4.'\' .

}

';

}

$q=$q.'}';"<br/>";

//$rows = $store->query($q, 'rows');

//foreach ($rows as $r)

//print_r($r);

$r = '';($rows = $store->query($q, 'rows')) {($rows as $row) {

$myObj = explode("#", $row['obj']);

$r .= '<li>' . $myObj[1] . '</li>';

}

}'<p>Вам подходит гитара:</p>';

echo $r ? '<ul>' . $r . '</ul>' : 'Извините, подходящей гитары нет';

$store->reset();

?>

ПРИЛОЖЕНИЕ Б


ОНТОЛОГИЯ "ГИТАРА"


<?xml version="1.0"?>

<rdf:RDF:rdf="#"justify"><owl:Ontology rdf:about=""/>

<owl:Class rdf:ID="Strings">

<rdfs:subClassOf>

<owl:Class rdf:ID="Construction_of_the_guitar"/>

</rdfs:subClassOf>

</owl:Class>

<owl:Class rdf:ID="Guitar"/>

<owl:Class rdf:ID="Gibson">

<rdfs:subClassOf>

<owl:Class rdf:ID="Producer"/>

</rdfs:subClassOf>

</owl:Class>

<owl:Class rdf:ID="Body">

<rdfs:subClassOf rdf:resource="#Construction_of_the_guitar"/>

</owl:Class>

<owl:Class rdf:ID="Metal">

<rdfs:subClassOf rdf:resource="#Strings"/>

</owl:Class>

<owl:Class rdf:ID="Electro_classic_guitar">

<rdfs:subClassOf>

<owl:Class rdf:ID="Electro"/>

</rdfs:subClassOf>

</owl:Class>

<owl:Class rdf:ID="Nylon">

<rdfs:subClassOf rdf:resource="#Strings"/>

</owl:Class>

<owl:Class rdf:ID="Hollow_body">

<rdfs:subClassOf rdf:resource="#Body"/>

</owl:Class>

<owl:Class rdf:ID="Cort">

<rdfs:subClassOf rdf:resource="#Producer"/>

</owl:Class>

<owl:Class rdf:ID="Semi_hollow_body">

<rdfs:subClassOf rdf:resource="#Body"/>

</owl:Class>

<owl:Class rdf:ID="Electroacoustic">

<rdfs:subClassOf rdf:resource="#Guitar"/>

</owl:Class>

<owl:Class rdf:ID="Fender">

<rdfs:subClassOf rdf:resource="#Producer"/>

</owl:Class>

<owl:Class rdf:ID="Electro_bass">

<rdfs:subClassOf>

<owl:Class rdf:about="#Electro"/>

</rdfs:subClassOf>

</owl:Class>

<owl:Class rdf:ID="Solid_body">

<rdfs:subClassOf rdf:resource="#Body"/>

</owl:Class>

<owl:Class rdf:ID="Acoustic">

<rdfs:subClassOf rdf:resource="#Guitar"/>

</owl:Class>

<owl:Class rdf:about="#Electro">

<rdfs:subClassOf rdf:resource="#Guitar"/>

</owl:Class>

<owl:Class rdf:ID="Bass">

<rdfs:subClassOf rdf:resource="#Acoustic"/>

</owl:Class>

<owl:Class rdf:ID="Classic_guitar">

<rdfs:subClassOf rdf:resource="#Acoustic"/>

</owl:Class>

<owl:ObjectProperty rdf:ID="type_of_body">

<rdfs:range>

<owl:Class>

<owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Hollow_body"/>

<owl:Class rdf:about="#Semi_hollow_body"/>

<owl:Class rdf:about="#Solid_body"/>

</owl:unionOf>

</owl:Class>

</rdfs:range>

<rdfs:domain rdf:resource="#Guitar"/>

</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="proguser_of_the_guitar">

<rdfs:domain rdf:resource="#Guitar"/>

<rdfs:range>

<owl:Class>

<owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Cort"/>

<owl:Class rdf:about="#Fender"/>

<owl:Class rdf:about="#Gibson"/>

</owl:unionOf>

</owl:Class>

</rdfs:range>

</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="type_of_strings">

<rdfs:range>

<owl:Class>

<owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#Metal"/>

<owl:Class rdf:about="#Nylon"/>

</owl:unionOf>

</owl:Class>

</rdfs:range>

<rdfs:domain rdf:resource="#Guitar"/>

</owl:ObjectProperty>

<owl:DatatypeProperty rdf:ID="sound_receivers">

<rdfs:domain rdf:resource="#Guitar"/>

<rdfs:range rdf:resource="#"justify"></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="color">

<rdfs:domain rdf:resource="#Guitar"/>

<rdfs:range rdf:resource="#"justify"></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="color_of_body">

<rdfs:domain rdf:resource="#Body"/>

<rdfs:range rdf:resource="#"justify"></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="name_of_body">

<rdfs:domain rdf:resource="#Body"/>

<rdfs:range rdf:resource="#"justify"></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="price">

<rdfs:range rdf:resource="#"justify"><rdfs:domain rdf:resource="#Guitar"/>

</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="name_of_strings">

<rdfs:range rdf:resource="#"justify"><rdfs:domain rdf:resource="#Strings"/>

</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="number_of_strings">

<rdfs:domain rdf:resource="#Guitar"/>

<rdfs:range rdf:resource="#"justify"></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="material_of_body">

<rdfs:domain rdf:resource="#Body"/>

<rdfs:range rdf:resource="#"justify"></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="address">

<rdfs:domain rdf:resource="#Producer"/>

<rdfs:range rdf:resource="#"justify"></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="material">

<rdfs:domain rdf:resource="#Guitar"/>

<rdfs:range rdf:resource="#"justify"></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="name">

<rdfs:range rdf:resource="#"justify"><rdfs:domain rdf:resource="#Guitar"/>

</owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="phone_number">

<rdfs:domain rdf:resource="#Producer"/>

<rdfs:range rdf:resource="#"justify"></owl:DatatypeProperty>

<owl:DatatypeProperty rdf:ID="name_of_department">

<rdfs:range rdf:resource="#"justify"><rdfs:domain rdf:resource="#Producer"/>

</owl:DatatypeProperty>

<Fender rdf:ID="Fender_Musical_Instruments">

<name_of_department xml:lang="en">Fender_Musical_Instruments</name_of_department>

<phone_number xml:lang="en">951-898-4000</phone_number>

<address xml:lang="en">311 Cessna Cir Corona, CA, 92880-2521</address>

</Fender>

<Nylon rdf:ID="nylon_string_2">

<name_of_strings xml:lang="en">nylon_string_2</name_of_strings>

</Nylon>

<Electro_classic_guitar rdf:ID="Explorer_2008">

<name xml:lang="en">Explorer 2008</name>

<type_of_body>

<Solid_body rdf:ID="Solid_body_2">

<material_of_body xml:lang="en">cherry</material_of_body>

<color_of_body xml:lang="en">green</color_of_body>

<name_of_body xml:lang="en">Solid_body_2</name_of_body>

</Solid_body>

</type_of_body>

<color rdf:datatype="#"justify">>black</color>

<price rdf:datatype="#"justify">>1999.0</price>

<type_of_strings>

<Metal rdf:ID="metal_string_1">

<name_of_strings xml:lang="en">metal_string_1</name_of_strings>

</Metal>

</type_of_strings>

<material rdf:datatype="#"justify">>oak</material>

<number_of_strings rdf:datatype="#"justify">>6</number_of_strings>

<sound_receivers rdf:datatype="#"justify">>true</sound_receivers>

<proguser_of_the_guitar>

<Gibson rdf:ID="Gibson_departament">

<address xml:lang="en">UK</address>

<name_of_department xml:lang="en">Gibson_departament</name_of_department>

<phone_number xml:lang="en">5637226167</phone_number>

</Gibson>

</proguser_of_the_guitar>

</Electro_classic_guitar>

<Cort rdf:ID="department_of_cort_2">

<address xml:lang="en">LUXEMBOURG_PAPEN &amp; BONGAERTS MUSIC B.V.</address>

<phone_number xml:lang="en">82-2-3661-1981</phone_number>

<name_of_department xml:lang="en">department_of_cort_2</name_of_department>

</Cort>

<Electro_classic_guitar rdf:ID="Flying_V_1968">

<material rdf:datatype="#"justify">>oak</material>

<price rdf:datatype="#"justify">>1800.0</price>

<number_of_strings rdf:datatype="#"justify">>6</number_of_strings>

<sound_receivers rdf:datatype="#"justify">>true</sound_receivers>

<proguser_of_the_guitar>

<Gibson rdf:ID="Gibson_Shop">

<phone_number xml:lang="en">377173737</phone_number>

<name_of_department xml:lang="en"></name_of_department>

<address xml:lang="en">USA</address>

</Gibson>

</proguser_of_the_guitar>

<type_of_body rdf:resource="#Solid_body_2"/>

<type_of_strings rdf:resource="#metal_string_1"/>

<name xml:lang="en">Flying_V_1968</name>

<color rdf:datatype="#"justify">>green</color>

</Electro_classic_guitar>

<Classic_guitar rdf:ID="CDN_90_SCE">

<type_of_strings rdf:resource="#nylon_string_2"/>

<number_of_strings rdf:datatype="#"justify">>6</number_of_strings>

<sound_receivers rdf:datatype="#"justify">>false</sound_receivers>

<material xml:lang="en">cherry</material>

<type_of_body>

<Hollow_body rdf:ID="CDFE_304">

<name_of_body xml:lang="en">CDFE_304</name_of_body>

<color_of_body xml:lang="en">green</color_of_body>

<material_of_body xml:lang="en">cherry</material_of_body>

</Hollow_body>

</type_of_body>

<proguser_of_the_guitar rdf:resource="#Fender_Musical_Instruments"/>

<price rdf:datatype="#"justify">>169.0</price>

<name xml:lang="en">CDN_90_SCE</name>

<color xml:lang="en">yellow</color>

</Classic_guitar>

<Nylon rdf:ID="nylon_string_1">

<name_of_strings xml:lang="en">nylon_string_1</name_of_strings>

</Nylon>

<Bass rdf:ID="SJB6F_Fretless">

<type_of_strings rdf:resource="#metal_string_1"/>

<number_of_strings rdf:datatype="#"justify">>4</number_of_strings>

<proguser_of_the_guitar rdf:resource="#department_of_cort_2"/>

<type_of_body rdf:resource="#CDFE_304"/>

<name xml:lang="en">SJB6F_Fretless</name>

<sound_receivers rdf:datatype="#"justify">>false</sound_receivers>

<price rdf:datatype="#"justify">>330.0</price>

<material xml:lang="en">oak</material>

<color xml:lang="en">yellow</color>

</Bass>

<Electro_bass rdf:ID="A5">

<number_of_strings rdf:datatype="#"justify">>4</number_of_strings>

<name xml:lang="en">A5</name>

<type_of_strings>

<Metal rdf:ID="metal_string_2">

<name_of_strings xml:lang="en">metall_string_1</name_of_strings>

</Metal>

</type_of_strings>

<material xml:lang="en">linden</material>

<price rdf:datatype="#"justify">>450.0</price>

<proguser_of_the_guitar>

<Cort rdf:ID="department_of_cort_1">

<address xml:lang="en">LUXEMBOURG_PAPEN &amp; BONGAERTS MUSIC B.V.</address>

<name_of_department xml:lang="en">department_of_cort_1</name_of_department>

<phone_number xml:lang="en">82-2-3661-1981</phone_number>

</Cort>

</proguser_of_the_guitar>

<color xml:lang="en">black</color>

<sound_receivers rdf:datatype="#"justify">>true</sound_receivers>

<type_of_body>

<Solid_body rdf:ID="Solid_body_1">

<material_of_body xml:lang="en">cherry</material_of_body>

<color_of_body xml:lang="en">gray</color_of_body>

<name_of_body xml:lang="en">Solid_body_1</name_of_body>

</Solid_body>

</type_of_body>

</Electro_bass>

<Classic_guitar rdf:ID="CDN_95_SCE">

<material xml:lang="en">oak</material>

<price rdf:datatype="#"justify">>200.0</price>

<type_of_body>

<Hollow_body rdf:ID="CDFK_190">

<material_of_body xml:lang="en">linden</material_of_body>

<color_of_body xml:lang="en">purple</color_of_body>

<name_of_body xml:lang="en">CDFK_190</name_of_body>

</Hollow_body>

</type_of_body>

<number_of_strings rdf:datatype="#"justify">>6</number_of_strings>

<proguser_of_the_guitar>

<Fender rdf:ID="Fender_Musical_Instruments_UA">

<phone_number xml:lang="en">951-898-4000</phone_number>

<name_of_department xml:lang="en">Fender_Musical_Instruments_UA</name_of_department>

<address xml:lang="en">UA</address>

</Fender>

</proguser_of_the_guitar>

<name xml:lang="en">CDN_95_SCE</name>

<sound_receivers rdf:datatype="#"justify">>false</sound_receivers>

<type_of_strings rdf:resource="#nylon_string_1"/>

<color xml:lang="en">white</color>

</Classic_guitar>

<Electro_bass rdf:ID="A4">

<sound_receivers rdf:datatype="#"justify">>true</sound_receivers>

<number_of_strings rdf:datatype="#"justify">>4</number_of_strings>

<price rdf:datatype="#"justify">>669.0</price>

<proguser_of_the_guitar rdf:resource="#department_of_cort_2"/>

<color xml:lang="en">black</color>

<type_of_body rdf:resource="#Solid_body_1"/>

<material xml:lang="en">oak</material>

<name xml:lang="en">A4</name>

<type_of_strings rdf:resource="#metal_string_1"/>

</Electro_bass>

<Semi_hollow_body rdf:ID="Redtree1">

<color_of_body xml:lang="en">white</color_of_body>

<name_of_body xml:lang="en">Redtree1</name_of_body>

<material_of_body xml:lang="en">mahogany</material_of_body>

</Semi_hollow_body>

<Semi_hollow_body rdf:ID="Redtree2">

<name_of_body xml:lang="en">Redtree2</name_of_body>

<color_of_body rdf:datatype="#"justify">></color_of_body>

<material_of_body rdf:datatype="#"justify">></material_of_body>

</Semi_hollow_body>

<Bass rdf:ID="SJB5F">

<price rdf:datatype="#"justify">>333.0</price>

<color xml:lang="en">yellow</color>

<sound_receivers rdf:datatype="#"justify">>false</sound_receivers>

<name xml:lang="en">SJB5F</name>

<material xml:lang="en">linden</material>

<type_of_strings rdf:resource="#metal_string_1"/>

<number_of_strings rdf:datatype="#"justify">>4</number_of_strings>

<type_of_body rdf:resource="#CDFE_304"/>

<proguser_of_the_guitar rdf:resource="#department_of_cort_1"/>

</Bass>

<Electroacoustic rdf:ID="JZM_Deluxe">

<type_of_body rdf:resource="#Redtree1"/>

<material rdf:datatype="#"justify">>linden</material>

<color rdf:datatype="#"justify">>orange</color>

<type_of_strings rdf:resource="#nylon_string_1"/>

<number_of_strings rdf:datatype="#"justify">>6</number_of_strings>

<proguser_of_the_guitar rdf:resource="#Fender_Musical_Instruments"/>

<name xml:lang="en">JZM_Deluxe</name>

<sound_receivers rdf:datatype="#"justify">>true</sound_receivers>

</Electroacoustic>

<Electroacoustic rdf:ID="CFRT9">

<number_of_strings rdf:datatype="#"justify">>6</number_of_strings>

<material xml:lang="en">oak</material>

<name xml:lang="en">CFRT9</name>

<sound_receivers rdf:datatype="#"justify">>true</sound_receivers>

<type_of_strings rdf:resource="#metal_string_1"/>

<type_of_body rdf:resource="#Redtree2"/>

<color xml:lang="en">black</color>

<proguser_of_the_guitar rdf:resource="#Gibson_Shop"/>

<price rdf:datatype="#"justify">>429.0</price></Electroacoustic></rdf:RDF>

ВIДОМIСТЬ БАКАЛАВРСЬКОЇ РОБОТИ


ПозначенняНайменуванняДод. відомостіТекстові документи1 ГЮІК.ХХХХХХ.015 ПЗ Пояснювальна записка56 сГрафічні документи2 Рисунок 1Іерархія класів онтології 3 Рисунок 2Властивості класу "Гітара" 4 Рисунок 3Екземпляри класу5 Рисунок 4Зовнішній вигляд web-сервісу6 Рисунок 5Сторінка "Вибір гітарі"7 Рисунок 6Рекомендація користувачу щодо вибору гітари8 Рисунок 7Повідомлення у випадку, якщо відсутня потрібна гітара9 Рисунок 8Запит до онтології з декількома обмеженнями на властивостіІнші документи 8Презентаційний ролик


СОДЕРЖАНИЕ ВВЕДЕНИЕ 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ 1.1 Проблема выбора товара в Интернете 1.2 Проблема выбора товара 1.2 Пр

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ