построение хранилищ
-
Upload
yury-katkov -
Category
Documents
-
view
352 -
download
3
Transcript of построение хранилищ
Построение хранилищ онтологических баз знаний
Вехорев Михаил НиколаевичСПбГЭТУ «ЛЭТИ»
RDF-хранилище как класс информационных систем
RDF-хранилище может быть реализовано как самостоятельная информационная система, либо в рамках информационной системы, использующей его в качестве одного из компонентов, предназначенного работы с онтологиями. На данный класс информационных систем возлагаются следующие функции по работе с онтологиями:
• организация хранения онтологий в реляционной базе данных;
• предоставление интерфейса для извлечения информации из хранящихся онтологий, посредством SPARQL запросов к онтологиям или программного API;
• предоставление функций управления составом хранимых онтологий.
Требования, предъявляемые к RDF-хранилищам• Производительность RDF-хранилища, т.е. обеспечение
минимального времени выполнения типовых запросов к хранимым онтологиям.
• Минимальные затраты памяти. Под минимальными затратами памяти подразумевается эффективное использование оперативной памяти, а также дискового пространства для хранения БД.
• Универсальность подхода. Под универсальностью подразумевается возможность организации хранения любых существующих онтологий.
• Минимальное время развертывания полностью функционирующего RDF-хранилища. Данное требование складывается из временных затрат на проектирование разработку и развертывание конкретного RDF-хранилища. Универсальность подхода позволяет добиться минимального времени развертывания, за счет того, что не возникает необходимость адаптации под определенную предметную область онтологий.
• Стоимость решения. Под стоимостью решения подразумевается финансовые затраты, на разработку и развертывание RDF-хранилища как отдельной информационной системы или в рамках сложной системы, компонентом которой он является.
Компоненты RDF-хранилища
Основными компонентами данного класса систем являются:
• Парсер RDF (RDF Parser) – предназначен для извлечения информации из онтологий.
• Движок запросов RDF (RDF Query Engine) – позволяет получать информацию из RDF-хранилища посредством структурированных запросов.
• CУБД – компонент, предназначенный для организации хранения онтологий в реляционной базе данных. В качестве данного компонента RDF-хранилища могут использоваться существующие СУБД или свои собственные средства.
Архитектурные подходы к хранению онтологий
Подходы к хранению онтологий в БД
Хранение онтологий в базах данных является логическим развитием проблемы организации эффективного хранения онтологий. Теория баз данных разрабатывалась на протяжении последний десятков лет и в данной области достигнуты значительные практические достижения по повышению производительности систем баз данных. Потребность к организации эффективного хранения онтологий привела разработчиков к идее использования СУБД в качестве основы для хранения иерархически представленных данных.
Данные подходы разделяются на два подкласса:1. Основывающиеся на алгоритмах отображения
иерархической структуры классов в реляционную структуру таблиц базы данных.
2. Основанные на технологии хранения RDF-триплетов.
Ключевые факторы построения RDF-хранилищ Под ключевыми факторами построения RDF-хранилищ будем
понимать способы организации компонентов хранилища, существенно влияющие на производительность конечной системы (RDF-хранилища). К таким компонентам относятся:
1. Схема реляционной БД. Схема БД влияет на скорость выполнения запросов к хранилищу и методы отображения иерархической структуры онтологии в реляционную схему.
2. Трансформационная грамматика по преобразования SPARQL запросов к хранилищу в набор последовательных SQL запросов.
Проблема:Упрощенная схема БД, требующая сложной трансформационной грамматики, позволяет организовать универсальное хранилище онтологий. И наоборот, наиболее полная схема БД упрощает построение трансформационной грамматики, но приводит к сложности реализации универсального подхода.
Демонстрационный пример
Демонстрационный пример
Демонстрационный пример
Демонстрационный примерSELECT ?name WHERE { ?x а cl:Human. ?x pr:Age “35”. ?x pr:Name ?name }
Метод хранения RDF-триплетов// выборка подклассов класса cl:HumanSELECT result1(subject) FROM table_Triples WHERE (predicate='subClassOf' AND
object='cl:Human' ) OR (subject='cl:Human');// выборка всех экземпляров классов
SELECT result2(subject) FROM table_Triples WHERE predicate='instanceOf' AND object=result1(subject);
//определение существует ли экземпляр со значением свойства возраст равным 35SELECT result3(subject,object) FROM table_Triples WHERE (subject= result2(subject)) AND
(predicate='pr:Age') AND (object = ‘35’);//в случае если результат не пустой то определяем имя экземпляраSELECT result4(object) FROM table_Triples WHERE (subject = result3.subject AND
predicate='pr:Name');
Метод отображение иерархии классов// выборка названий имен таблиц для класса cl:Human и его потомковSELECT result1(tableName) FROM table_Hierarhy WHERE class=‘cl:Human' OR
subClass=‘cl:Human';// выборка записи со значением возраста равным 35SELECT result2(name) FROM result1(tableName) WHERE age=35;
Дальнейшие исследования
• Определение взаимовлияния схемы БД и трансформационной грамматики, преобразования SPARQL запросов в SQL запросы к БД.
• Автоматизация построения трансформационной грамматики на основе схемы БД.
• Разработка гибридных методов организации хранения онтологий.
• Оптимизация выполнения SPARQL запросов к RDF-хранилищу.