2010-03-31 3 views
3

Я рассматриваю возможность хранения содержимого веб-приложения в онтологии RDF или OWL вместо RDBMS.Может ли онтология правильно заменить РСУБД для веб-приложения?

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

Можно ли использовать онтологию вместо РСУБД для такого приложения?

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

+0

Я хотел бы видеть, что люди будут говорить об этом, а ... –

ответ

1

путь «сохранение содержания веб-приложение в RDF или OWL », вы имеете в виду« сохранение данных в связке XML-файлов »?

Причина, по которой люди используют РСУБД, не является их красотой. Я ненавижу семантику РСУБД. Много. В какой-то момент они всегда противоречат моей модели программирования. но они также дают много преимуществ.

В основном, вопрос в том, какие устройства хранения вы будете использовать? вы хотите, чтобы ваше хранилище было быстрым, поэтому оно должно иметь кэширование и индексирование для операции поиска. вы хотите, чтобы он был надежным, поэтому было бы неплохо иметь что-то надежное, что degrades gracefully. вы, вероятно, захотите, чтобы он мог обрабатывать параллелизм, поэтому вам понравится иметь ACID. и вам может потребоваться, чтобы он был легко масштабируемым, поэтому лучше всего было бы, если бы оно поддерживало хранение на распределенных машинах.
«Сохранение данных в связке XML-файлов», как я прямо выразился, просто не соответствует ни одному из этих критериев. Я не знаю, есть ли XML-ориентированные хранилища документов, но я думаю, что есть.

Почему RDBMS? Когда мы говорим СУРБД, мы на самом деле имеем в виду SQL. Могут быть альтернативы, но все, что вы придете в «нормальной жизни», это SQL в некотором роде. Большинство этих баз данных SQL имеют желаемые свойства. так что некоторые хранилища документов и некоторые хранилища ключей. разница в том, что SQL технически является стандартом (хотя реализации действительно сильно различаются), и потому что для большинства драйверов баз данных SQL существуют привязки практически на любом языке, и поскольку большинство этих систем баз данных существуют уже давно.

Нет, нет причин для использования РСУБД. Однако вы действительно должны использовать механизм хранения. Вы можете хранить RDF так, как хотите, но, вероятно, вам стоит взглянуть на Triplestore.

надеюсь, что это помогает

+0

@ back2dos, спасибо за Ваш ответ. Наверное, я имел в виду нечто более сильное, чем «куча XML-файлов». Я видел Triplestore и другие движки, такие как Seseme (Java), которые могут управлять большими и сложными онтологиями. Я полагал, что онтологии в целом были разработаны для того, чтобы расти невероятно большими и все еще функционируют так, почему бы не использовать их для веб-сайта? Что касается параллелизма и масштабируемости, меня интересует именно то, где RDF не хватает. Может быть, системы хранения данных предназначены для смягчения этих проблем? Единственный недостаток SQL, который я вижу сейчас, - это необработанная скорость. – Thomas

+0

@Thomas: Я не уверен, что онтологии должны расти настолько большими. Я думаю, что вся идея систем WWW и RESTful в целом должна быть распространена. RDF поддерживает это. На самом деле способность HTML и RDF ссылаться на другие документы/данные делает его настолько мощным. ИМХО, использующее RDF, немного скучает, если вы не ссылаетесь на другие источники, а другие источники не ссылаются на вас. когда вы все это выясняете, тогда замена механизма хранения должна быть наименьшей из ваших проблем.;) – back2dos

+0

Для меня то, что делает онтологии настолько мощными, это способность добавлять свойства к объектам по мере роста набора данных. Поэтому, если у меня есть несколько «собачьих» объектов в моей системе, и в один прекрасный день я решаю, что все собаки принадлежат к объекту «млекопитающих», я могу просто обновить определение, а не добавлять таблицы и изменять схему db. Я мог видеть ценность при настройке такой системы, как это, без подключения к любым внешним источникам. Хотя проблемы параллелизма и масштабируемости, которые вы подняли, заставляют меня подвергать сомнению это. – Thomas