RDF / Triple Stores 是否适合存储应用程序数据? (与图形元数据相反)

Are RDF / Triple Stores suited for storing application data? (as opposed to the graph Metadata)

我正在尝试为“personal information manager" / wiki kind of tool where I can take notes in the form of HTML snippets (or maybe Markdown), annotate them with some https://schema.org/ 微数据创建一个小型网络应用程序,并将代码段和元数据存储在某处 以供查询。

到目前为止,我的理解是大多数语义数据存储(triple/quad 存储,或支持 RDF 的数据库)更适合主要存储和查询 元数据。所以我可能还想要某种传统存储(关系、文档存储、键值,甚至是非 rdf 图数据库),我可以在其中存储每个注释的全文,也许还有一些其他位,例如 time of last accessuser-id 拥有笔记等,还执行传统(非语义)全文查询。

我开始寻找可以让我将数据 元数据存储在一个地方的商店。我发现了一些:Ontotext GraphDB、Stardog、MarkLogic 等。所有这些似乎都完全符合我的要求,但有一些非常有限的免费许可条款,这真的阻碍了我深入研究它们:我更喜欢研究开放技术我可能会用在真正的产品上。

在深入挖掘之前,我想知道:

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

现在我只是倾向于将 Apache Jena 用于 RDF 存储和 SPARQL 查询,以及对其余数据完全独立的东西(最有可能是 PostgreSQL)。

Before digging deeper, I was wondering:

If my assumption is correct: that I'll need to use one store for the data and another for the metadata.

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

if there's any setup involving free/open source software that developers with experience in RDF/Sparql can recommend, given the problem I describe.

这里真的不是问这个问题的合适地方。工具推荐在 Whosebug 上被认为是题外话,因为它们会吸引有偏见的答案。但如前所述,有很多工具可供您研究,包括 open-source/free 和商业工具。我建议您选择一个您喜欢的外观,进行一些试验,或许可以与该特定工具的社区交谈以解释您想要做什么。 Apache Jena 和 Eclipse Rdf4j 是两个流行的开源项目,但还有很多其他项目。