1

Тема: SPARQL или классификация

Добрый день, передо мной стоит задача сравнить 2 подхода к организации семантического поиска ресурсов в среде Грид.

В общих чертах: есть онтология  концептов в области высоко продуктивных вычислений (Кластера, сервера, хранилища данных и т.д.). Онтология включает в себя знания о различных программных и аппаратных системах (процессорах, операционных системах и программных библиотеках) и включает индивиды кластеров и т.д.
Используется она для матчмейкинга - подбора ресурсов, подходящих под запрос пользователя в условиях неточного совпадения. Например, есть кластер в информации о котором сказано, что он имеет операционку "RedHat". Если пользователь запрашивает кластер с операционкой "Unix", то на основе знаний об ОСах система возвращает ему кластер с RedHat, так как имеет сведения о том, что RedHat является Unix-подобной системой. Ну и так далее. Запросы могут включать в том числе и литералы и числа  (hasCpuCount > 10, hasHostName = "somehost").

Есть 2 подхода к организации такой системы:
1. Использовать SPARQL-запросы (вроде как на основе Sesame).
2. Организовывать запросы посредством онтологий и ризонера. Т.е. программа генерирует онтологию (которая ссылается на основную, обладающую знаниями) с классом ресурса, который подходит пользователю (описываея "достаточные" (defined) условия), а потом запускается ризонер и поводится классификация индивидов. Все, кто попал в класс затребованного ресурса, удовлетворяют требованиям.

Надеюсь, еще не устали от чтения. К счастью, мы уже подошли к вопросу. smile

Такие подходы описываются в различных научных статьях, притом говорится, что 2-й метод лучше и универсальней 1-го. Как аргумент приводится то, что пользователь может передавать с запросом дополнительные знания, например, указать, что программа X поддерживается операционкой Y, а потом указать запрос "найдите мне кластеры, на которых я мог бы запустить программу X".

Проблема в том, что я не вникал детально в SPARQL и не могу дать адекватную оценку этих методов. Я понимаю, что SPARQL скорее всего позволяет делать тоже подобные вещи. Помогите, пожалуйста, разобраться, какие еще есть преимущества у первого и второго подхода? Что можно сказать в пользу метода 2?

Отредактировано Xen0n (2012-05-15 15:09:26)

Thumbs up +1 Thumbs down

2

Re: SPARQL или классификация

Тут вопрос в том, что тебе важнее: гибкий язык запросов (то, что называется conjunctive query answering - CQA) и скорость или нетривиальный вывод. Если первое, то SPARQL, если второе, то хитрые танцы с reasoning'ом. Попробуй почитать про SPARQL 1.1 entailment regimes - их придумывали именно чтобы скрестить эти два подхода в разумных пределах. Вполне возможно, что SPARQL с режимом вывода OWL 2 QL вполне тебя устроит.

3

Re: SPARQL или классификация

Интересная исторя, ближе к делу!!