RDF /三重存储是否适合存储应用程序数据? (与图元数据相对)

时间:2018-11-03 22:45:00

标签: database sparql rdf semantic-web schema.org

我正在尝试为“ personal information manager” / wiki类工具创建一个小型Web应用程序,在其中我可以HTML片段(或Markdown)的形式记录笔记,并用一些{{ 3}}微数据,并在某处中存储摘要和元数据以供查询。

到目前为止,我的理解是大多数语义数据存储(三元/四元存储或支持RDF的数据库)更适合于主要存储和查询元数据。因此,我可能还需要某种类型的传统存储(关系型,文档存储,键值甚至是非rdf图数据库),在这里我可以存储每个注释的全文以及{{ 1}},拥有笔记等的time of last access,并执行传统的(非语义)全文查询。

我开始寻找可以让我在一个地方存储数据元数据的商店。我发现了一些:Ontotext GraphDB,Stardog,MarkLogic等。所有这些似乎都可以满足我的要求,但是有一些相当有限的免费许可条款,这确实使我不愿深入研究它们:我更喜欢研究开放技术,我可以在真正的产品上使用。

在深入研究之前,我想知道:

  1. 如果我的假设是正确的:那我将需要使用一个存储来存储数据,而使用另一个存储来存储元数据。
  2. 考虑到我所描述的问题,如果有任何涉及自由/开源软件的设置,具有RDF / Sparql经验的开发人员可以推荐。

现在,我只是倾向于将https://schema.org/用于RDF存储和SPARQL查询,而对于其余数据则完全独立(很可能是PostgreSQL)。

1 个答案:

答案 0 :(得分:0)

  

在深入研究之前,我想知道:

     

如果我的假设是正确的:那我将需要使用一个存储来存储数据,而使用另一个存储来存储元数据。

不一定,不是,尽管在某些情况下这种区分可能有用。但是大多数RDF数据库都为数据和元数据提供可伸缩的存储。唯一的要求是您的(元)数据表示为RDF。如果您担心诸如文本查询之类的事情的性能,则其中大多数都支持通过Lucene,Solr或Elasticsearch进行全文索引。

  

考虑到我所描述的问题,如果有任何涉及自由/开源软件的设置,具有RDF / Sparql经验的开发人员可以推荐。

这真的不是问这个问题的正确地方。工具建议在StackOverflow上被认为是题外话,因为它们吸引了有偏见的答案。但是正如您所说的,您可以研究很多工具,包括开源/免费和商业工具。我建议您选择一个喜欢的外观,进行一些试验,或者与该特定工具的社区进行交流以解释您要尝试做的事情。 Apache Jena和Eclipse Rdf4j是两个受欢迎的开源项目,但是还有很多其他项目。