是否可以将RDF存储也用作面向文档的数据库?

前端之家收集整理的这篇文章主要介绍了是否可以将RDF存储也用作面向文档的数据库?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有大量的异构 JSON文档(即命名的键值映射)和这些文档附加到的类的层次结构(即命名集).我需要设置一个允许以下内容的数据结构:

> JSON文档的CRUD操作.
>快速通过ID检索JSON文档.
>快速检索附加到某个类的所有JSON文档.
>编辑类层次结构:添加/删除类,重新排列它们.

我最初提出了将JSON文档存储在面向文档的数据库(如CouchDB或MongoDB)中并将类层次结构存储在RDF存储(如4store)中的想法.然后,自然地计算出1,2和4,并通过维护存储器中每个类的附加文档ID的列表来解决3.

但后来我认为RDF存储实际上可以通过ID检索JSON文档的文档导向部分.乍一看,这似乎是正确的,但我仍然关注2和3.是否有一个RDF存储能够以速度面向文档的db的服务文档检索文档(节点)?它会以多快的速度提供3个类似的查询?我听说过RDF存储缓慢,具体化问题等等.

是否有一个RDF存储也适合通过ID随意检索对象,例如CouchDB?使用面向文档和RDF存储来存储,检索和编辑类似JSON的对象有什么区别?

解决方法

您可以在RDF数据库中使用的最接近的事物是命名图.在命名图中,您可以放置​​一组RDF三元组.可以根据您的需要从一个或多个RDF文档中声明这组三元组.假设您希望每个RDF文档都有一个命名图.您可以使用反映文件位置URL或IRI的URI来命名图形.例如 …
http://yourdomain/files/rdf_file_1

要么

file:///home/myrdffiles/file1

4store是一家四合一商店. Quad商店支持命名图形,4store专门设计用于处理此问题.

使用4store,您可以运行以下命令在命名图中断言三元组:

curl -T your_file.rdf http://your_4store_database/data/http://yourdomain/files/rdf_file_1

在/ data /之后,您可以将GRAPH标识符(IRI)放在三元组将被断言的位置.有关详细信息,请参见4store sparql server4store Client Libs.

使用SPARQL确定数据后,您还可以使用命名图将查询定向到该图:

SELECT * WHERE {
   GRAPH <http://youdomain/files/rdf_file_1> {
        .... some triple patterns in here ....
   }
}

此外,4store还支持JSON,因此您可以直接在JSON中检索SPARQL结果集.

如果你决定使用4store,你会在这里找到有价值的支持http://4store.org/contact

猜你在找的MsSQL相关文章