本体可以适当地替代 Web 应用程序的 RDBMS 吗?

发布于 2024-08-27 06:50:48 字数 256 浏览 8 评论 0原文

我正在考虑将 Web 应用程序的内容存储在 RDF 或 OWL 本体中,而不是 RDBMS 中。

然而,当我研究本体论时,它们似乎总是存在于可公开访问的数据存储的背景下,作为语义网络的支柱。我从未听说过它们被用作网络应用程序背后的内容引擎。

对于这样的应用程序使用本体而不是 RDBMS 是否合理?

(再次强调,这只是为了内容。用户数据、商业和类似的东西将保留在数据库中,因为我认为没有必要在那里重新发明轮子。)

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.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

相守太难 2024-09-03 06:50:48

“将 Web 应用程序的内容存储在 RDF 或 OWL 中”,您的意思是“将数据存储在一堆 XML 文件中”吗?

人们使用 RDBMS 的原因并不是它们的美丽。我讨厌 RDBMS 的语义。很多。它们总是在某些时候与我的编程模型相矛盾。但它们也提供了很多好处。

基本上,问题是,您将使用哪种存储引擎?您希望存储速度快,因此它应该具有用于​​搜索操作的缓存和索引。你希望它可靠,所以最好有一些健壮的东西,优雅地降级 。您可能希望它能够处理并发,因此您希望拥有 ACID 属性。并且您可能希望它易于扩展,因此最好是它支持分布式计算机上的存储。
正如我直言不讳地说的那样,“将数据存储在一堆 XML 文件中”根本不符合任何这些标准。我不知道是否存在面向 XML 的文档存储,但我想是有的。

那么为什么是关系数据库管理系统呢?当我们说 RDBMS 时,我们实际上指的是 SQL。可能还有其他选择,但您在“正常生活”中遇到的任何事情都是某种 SQL。大多数 SQL 数据库都具有所需的属性。一些文档存储和一些键值存储也是如此。区别在于,SQL 从技术上讲是一种标准(尽管实现确实有很大差异),并且因为对于大多数 SQL 数据库驱动程序来说,几乎任何语言都有绑定,并且因为大多数这些数据库系统已经存在很长时间了。

所以不,你没有理由使用 RDBMS。然而你确实应该使用存储引擎。您可以根据需要存储 RDF,但也许您确实应该看看 Triplestore

希望这有帮助

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文