跳转到主要内容

为rdflib提供确定性海龟序列化。

项目描述

ttlser

PyPI version

为rdflib提供确定性海龟序列化。

文档

请参阅文档以获取完整规范和实现细节。

ttlser还包括许多针对特定渲染需求的其他turtle序列化程序。

ttlfmt

ttlser 提供了一个 ttlfmt 脚本,可以将任何 rdflib 支持的格式转换为序列化器或任何其他 rdflib 序列化器支持的输出格式。如果您想使用它,应该使用 ttlser[ttlfmt] 进行安装。

已知问题

  1. 对称谓词:如果您有像 owl:disjointWith 这样的对称谓词,那么 ttlser 需要知道它们,以便可以适当地重新排序这些情况,否则您将遇到其他工具重新排序序列化,而 ttlser 必须假设排序是语义上有意义的。请参阅 symmetric_predicatesserializers.py
  2. 多个前缀:如果存在多个 curie 前缀对应相同的 iri 前缀,则所选的前缀将取决于字典顺序(虽然在新版本的 Python 中是稳定的,但根据数据内容而不是添加和删除的历史记录,并不保证相同)。
  3. rdflib 版本:没有在 https://github.com/RDFLib/rdflib/pull/649 中添加的更改,ttlser 无法生成确定性的结果。希望这些更改将合并到 rdflib-5.0.0 中,在此期间,ttlser 依赖于包含这些更改的 neurdflib。一旦合并,ttlser 将依赖于 rdflib 的后续版本,neurdflib 将被弃用。
  4. 随机故障。有时列表序列化会失败,尤其是 specatcuarly。原因不明(每次测试都是相同的输入文件),但可能是实现 bnode 排名的固定点函数存在错误。
  5. scottl 是一个混乱的破坏者。在原则上,它通过 rdfs:subClassOf 层级排序,然后是 natsort,但在实践中,它目前想做什么就做什么。我也相当确信测试模板 scogood.ttl 是不正确的。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

ttlser-1.1.5.tar.gz (30.1 kB 查看哈希值)

上传时间 源代码

构建发行版

ttlser-1.1.5-py2.py3-none-any.whl (23.9 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持