一个用于处理JSON-LD和在不同形式的RDF之间进行转换的算法库。
项目描述
TRLD
TRLD是一个可转换的算法实现,用于处理链接数据作为JSON-LD。这包括将数据转换为各种RDF语法以及词汇映射。
转换链接数据算法
TRLD是用类型化Python编写的,并特别关注支持转换。当前实现可以转换为
- Java
- Javascript
转换器是代码库的一部分,并且仅支持实现这些算法所需的小(有些冗余)类型注释Python子集。 它不是一个通用的转换器。
转录链接数据
在解析RDF时,将句法语句逐字转录到JSON-LD中,尽可能保持紧凑形式和排序。相反,序列化是通过将JSON-LD形状原样写出而完成的,使用选择的语法。
为了控制此数据的精确形状,请使用JSON-LD算法进行扩展、展平和紧缩。
将JSON-LD序列化为Turtle或TriG
目前,必须注意使用简单的JSON-LD上下文,以便Turtle或TriG序列化能够工作。这意味着,除了前缀和一些对语言索引和类型转换的支持之外,当将数据转录为Turtle或TriG时,JSON-LD 1.1的高级紧缩功能将不起作用。如果您处理此类紧缩数据,请确保先将其展开,并且最好将其重新紧缩为更简单的形式。
实现的算法
JSON-LD 1.1 (W3C 规范)
- 展开
- 压缩
- 扁平化
- RDF 序列化/反序列化
N-Quads (W3C 规范)
- 解析器
- 序列化器
TriG (W3C 规范)
- 解析器
- 序列化器
目标词汇映射 (实验性)
- 基本 RDFS & OWL
- 属性链
- 具象形式
- SKOS 匹配
运行
基于 Python 的命令行使用
$ python3 -m trld [-h] [-c CONTEXT] [-e [EXPAND_CONTEXT]] [-b BASE] [-f] \
[-i INPUT_FORMAT] [-o OUTPUT_FORMAT] [SOURCE ...]
基于 Java 的命令行使用
$ java -jar build/java/build/libs/trld-with-deps.jar [-f] [-c CONTEXT] FILE
基于 JS 的命令行使用
$ cd build/js
$ node -r esm lib/jsonld/cli.js [-f] [-c CONTEXT] FILE
构建 & 测试 (& 状态)
构建要求
- Make
- 对于 Python: Python 3.6+ (开发使用 mypy)
- 对于 Java: Java 8+ (使用 Gradle Wrapper)
- 对于 JS: Node 11+ (使用 ES6 & ESM)
对于 Python,这将运行 mypy 和测试套件
$ make pytest
[...]
python3 -m trld.jsonld.test [...]
Running test suite: cache/json-ld-api/tests/expand-manifest.jsonld
Ran 371 test cases. Passed: 367. Failed: 3. Errors: 1.
Running test suite: cache/json-ld-api/tests/compact-manifest.jsonld
Ran 242 test cases. Passed: 239. Failed: 2. Errors: 1.
Running test suite: cache/json-ld-api/tests/flatten-manifest.jsonld
Ran 55 test cases. Passed: 55. Failed: 0. Errors: 0.
Running test suite: cache/json-ld-api/tests/fromRdf-manifest.jsonld
Ran 51 test cases. Passed: 51. Failed: 0. Errors: 0.
Running test suite: cache/json-ld-api/tests/toRdf-manifest.jsonld
Ran 451 test cases. Passed: 401. Failed: 49. Errors: 1.
python3 -m trld.tvm.test
Running [...]: OK
python3 -m trld.trig.test | grep '^Ran '
Ran 335 tests. Passed 301, failed 34
python3 -m trld.trig.test_serializer | grep '^Examined '
Examined 335 tests. Round-tripped 232, passed 216, failed 13
对于其他语言,这将生成构建目录中每种语言的包,然后运行各自的测试套件
$ make java
[...]
java -cp build/java/build/libs/trld-with-deps.jar trld.jsonld.TestRunner [...]
Ran 371 test cases. Passed: 330. Failed: 14. Errors: 27.
java -cp build/java/build/libs/trld-with-deps.jar trld.trig.Test [...]
Ran 335 tests. Passed 252, failed 83
$ make js
[...]
1..551
# tests 551
# pass 540
# fail 11
[...] node [...] lib/trig/test.js [...]
Ran 335 tests. Passed 270, failed 65
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。
源分发
trld-0.2.0.tar.gz (60.3 kB 查看哈希值)
构建分发
trld-0.2.0-py3-none-any.whl (69.7 kB 查看哈希值)
关闭
trld-0.2.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d59aa5dea542b55e9c0f3b6ea795994560888f458362eda21eba21e8db735ea3 |
|
MD5 | 33a1d30250998afc6a97c17e2c1cdc6f |
|
BLAKE2b-256 | 81ccab76ca7b0ab9880240064a2ec622128dc5f8b1b37a2a87e67167be97968a |
关闭
trld-0.2.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ab0524f0660b573134e6b27384fe718bdf46436836e0e47f131f02c470b25ec5 |
|
MD5 | 2732dd1f2adf67aea5de3d7df28f1b32 |
|
BLAKE2b-256 | e3936cb05e1df0df3adbbff8b7ac5568b56cded6a6fff6dcb1e9abe7e0ebda97 |