문제

I'm considering storing the content of a web app in an RDF or OWL ontology instead of an RDBMS.

However, when I research ontologies they seem to always exist in the context of publicly accessible data stores serving as the backbone of the semantic web. I've never heard of them being used as the content engine behind a web app.

Is it reasonable to use an ontology instead of an RDBMS for such an application?

(Again, this is just for content. User data, commerce and stuff like that will stay in a database as I see no need to reinvent the wheel there.)

도움이 되었습니까?

해결책

by "storing the content of a web app in an RDF or OWL", do you mean "storing the data in a bunch of XML files"?

the reason why people use RDBMS is not their beauty. I hate the semantics of RDBMS. A lot. They always contradict my programming model at some point. but they provide a lot of benefits as well.

basically, the question is, what kind of storage engine(s) will you use? you want your storage to be fast, so it should have caching and indexing for search operation. you want it to be reliable, so it would be nice to have something robust, that degrades gracefully. you'll probably want it to be able to handle concurrency, so you'll like to have ACID properties. and you might want it to be easily scalable, so the best would be if it support storage on distributed machines.
"storing the data in a bunch of XML files", as I bluntly put it, simply doesn't meet any of these criteria. I don't know whether or not there are XML-oriented document stores, but I imagine there are.

So why RDBMS? When we say RDBMS, we actually mean SQL. There may be alternatives, but anything you'll come accross in "normal life" is SQL in some sort. Most of these SQL databases have the desired properties. so do some document stores and some key-value-stores. the difference is, SQL technically is a standard (although implementations really vary a lot) and because for most SQL database drivers, there are bindings in virtually any language and because most of these database systems have been around for a long time.

So no, there is no reason for you to use RDBMS. However you really should use a storage engine. You can store RDF as you want, but probably you should really have a look at Triplestore.

hope this helps

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top