Database 是否可以将RDF存储也用作面向文档的数据库?
假设我有大量异构JSON文档(即命名键值映射)和这些文档所附加的类层次结构(即命名集)。我需要设置一个数据结构,以允许:Database 是否可以将RDF存储也用作面向文档的数据库?,database,nosql,rdf,semantic-web,document-oriented-db,Database,Nosql,Rdf,Semantic Web,Document Oriented Db,假设我有大量异构JSON文档(即命名键值映射)和这些文档所附加的类层次结构(即命名集)。我需要设置一个数据结构,以允许: JSON文档上的CRUD操作 通过ID检索JSON文档非常快 快速检索附加到某个类的所有JSON文档 编辑类层次结构:添加/删除类,重新排列它们 我最初的想法是将JSON文档存储在面向文档的数据库中(如CouchDB或MongoDB),并将类层次结构存储在RDF存储中(如4store)1、2和4然后自然计算出来,而3则通过维护存储中每个类的附加文档ID列表来解决 但后来我发现
2
和4
然后自然计算出来,而3
则通过维护存储中每个类的附加文档ID列表来解决
但后来我发现,RDF存储实际上可以通过ID检索JSON文档的面向文档部分。乍一看,这似乎是正确的,但我仍然担心2
和3
。是否有一个RDF存储器能够以面向文档的db服务文档的速度检索文档(节点)?它将以多快的速度提供类似3
的查询?我听说过一些关于RDF存储速度慢、物化问题等的事情
是否有一个RDF存储也可以像CouchDB一样,轻松地按ID检索对象?使用面向文档的存储和RDF存储来存储、检索和编辑类似JSON的对象有什么区别?RDF数据库中最接近的东西是命名图。在命名图中,可以放置一组RDF三元组。根据需要,可以从一个或多个RDF文档断言这组三元组。假设您希望每个RDF文档有一个命名图。您可以使用反映文件位置的URI(URL或IRI)来命名图形。例如
http://yourdomain/files/rdf_file_1
或
4store是一个四元商店。Quad Store支持命名图,4store是专门为处理此问题而设计的
使用4store,您可以运行以下命令在命名图中断言三元组:
curl -T your_file.rdf http://your_4store_database/data/http://yourdomain/files/rdf_file_1
在/data/
之后,可以将图形标识符(IRI)放在要断言三元组的位置。有关更多详细信息,请参阅和
断言数据后,使用SPARQL,还可以使用命名图将查询指向该图:
SELECT * WHERE {
GRAPH <http://youdomain/files/rdf_file_1> {
.... some triple patterns in here ....
}
}
选择*WHERE{
图表{
……这里有一些三重模式。。。。
}
}
此外,4store还支持JSON,因此您可以直接在JSON中检索SPARQL结果集
如果您决定使用4store,您将在这里找到有价值的支持:您最初针对图形数据库(如)提出了这个问题。这就是为什么我想添加一些注释
SELECT * WHERE {
GRAPH <http://youdomain/files/rdf_file_1> {
.... some triple patterns in here ....
}
}