Может ли онтология заменить СУБД для веб-приложения? - PullRequest
3 голосов
/ 01 апреля 2010

Я рассматриваю возможность хранения содержимого веб-приложения в онтологии RDF или OWL вместо RDBMS.

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

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

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

1 Ответ

2 голосов
/ 01 апреля 2010

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

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

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

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

Так что нет, у вас нет причин использовать RDBMS. Однако вы действительно должны использовать механизм хранения. Вы можете хранить RDF по своему усмотрению, но, вероятно, вам стоит взглянуть на Triplestore .

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

...