rdflib的确定性海龟序列化。
ttlser的Python项目详细描述
ttlser
rdflib的确定性海龟序列化。
文档
有关完整的规范和 关于实现的详细信息。
ttlser还包括许多其他turtle序列化程序,用于 特定的渲染需求。
ttlfmt
ttlser
提供一个ttlfmt
脚本,可以转换任何受支持的rdflib
格式化为序列化程序支持的输出格式或任何其他格式
rdflib序列化程序。如果要使用它,应该使用ttlser[ttlfmt]
安装。
已知问题
- 对称谓词:如果有类似
owl:disjointWith
的对称谓词,则 TTLSER需要了解这些情况,以便对这些案例进行适当的重新排序, 否则,最终会出现另一个工具重新排序序列化和 ttlser必须假设排序在语义上是有意义的。见 ^{} 在serializers.py中。 - 多个前缀:如果同一个iri前缀有多个curie前缀 然后,所选的将取决于指示顺序(当 新版本python中的stable不保证基于 数据的内容,而不是添加和删除的历史记录)。
- rdflib版本:如果没有更改,ttlser无法生成确定的结果 在https://github.com/RDFLib/rdflib/pull/649中添加。希望他们能合并 对于rdflib-5.0.0,ttlser同时依赖于neurdflib,其中包括 变化。一旦合并,ttlser将依赖于rdflib的版本 after和neurdflib将被弃用。
- 随机失败。每隔一段时间,列表序列化就会特定地失败。 原因并不明显(每次测试都是相同的输入文件),但可能是 因为用于实现bnode排序的定点函数有一个bug。
- 斯科特尔一团糟。原则上,这是按
rdfs:subClassOf
层次结构排序的 然后是natsort
,但实际上,它现在想做什么就做什么。我也是 相当确定测试模板scogood.ttl不正确。