在gitlab中版本RDF存储的可能方法

在gitlab中版本RDF存储的可能方法,gitlab,rdf,database-versioning,Gitlab,Rdf,Database Versioning,在gitlab中对RDF存储进行版本化的可能方法有哪些?作为@UninformedUser,开发RDF存储就是出于这种动机。它对Sparql更新请求生成提交,还对数据执行简单的操作。为了表示存储库中的数据,它维护数据的规范表示。这种表示方式允许查看数据的差异,还可以很好地使用git的包文件来减少空间 保持三元组相当稳定的表示形式的一个良好开端是使用N-triples序列化,对三元组进行排序并使其唯一。 这可以在更新作业或()中看到。归结起来是: LC_ALL=C rapper -i <yo

在gitlab中对RDF存储进行版本化的可能方法有哪些?

作为@UninformedUser,开发RDF存储就是出于这种动机。它对Sparql更新请求生成提交,还对数据执行简单的操作。为了表示存储库中的数据,它维护数据的规范表示。这种表示方式允许查看数据的差异,还可以很好地使用git的包文件来减少空间

保持三元组相当稳定的表示形式的一个良好开端是使用N-triples序列化,对三元组进行排序并使其唯一。 这可以在更新作业或()中看到。归结起来是:

LC_ALL=C rapper -i <your input serialization> -o n-triples <your file> | sort -u > dump.nt
LC_ALL=C rapper-i-o n-triples | sort-u>dump.nt

使用
LC_ALL=C
设置区域设置对于在执行环境中保持相同的顺序很重要。

这个问题无法回答。RDF存储是一个数据库,没有人在基于Git的版本控制平台中存储数据库。我认为您可以通过创建一个数据库转储,然后将其发布为提交来实现这一点。。。把它放进Gitlab有什么意义?我的意思是,当然,您可以将RDF数据文件放入Github。显然,只有在编辑RDF数据时,三元组/四元组保持其在文件中的位置时,才能从中获得这些不错的Git内容,如更改和差异。否则,它将始终是一个完全不同的新文件。对于通过Git管理RDF数据,我建议您的目的是跟踪Git中的所有RDF数据更改,但不确定如何实现以及是否值得。您可以运行一个任务,定期将数据库导出到Turtle,然后在发生更改时提交该任务。它必须足够稳定——不变的数据库应该产生相同的文本,对数据的微小更改应该对文本表示产生微小更改。例如,没有空白节点的已排序N-Triples足够稳定,但也太冗长,不适合手动浏览。不过,这可能足以满足不同的需求。只需注意空白节点,因为它们在N个三元组中可能有不同的名称(或者在任何更新之后可能完全改变)。