11 个版本
0.2.1 | 2021 年 6 月 14 日 |
---|---|
0.2.0 | 2021 年 6 月 8 日 |
0.1.9 | 2021 年 5 月 27 日 |
0.1.6 | 2021 年 4 月 24 日 |
0.1.0 | 2020 年 7 月 28 日 |
1098 在 网页编程
62 每月下载量
用于 3 个软件包(2 个直接使用)
555KB
9K SLoC
RDFtk: IO
本软件包提供读取和写入 Statement
和 Graph
的语言特征,以及这些特征在常见表示形式中的实现。
以下是一些著名的格式(参见维基百科了解不同序列化的描述),支持情况在最后一列中用R表示读支持,用W表示写支持。还有一个额外的模块 dot
,允许创建GraphViz dot文件,用于可视化图的结构。
模块 | 名称 | MIME 类型 | R/W |
---|---|---|---|
nt |
RDF 1.1 N-Triples;RDF图的基于行的语法 | application/n-三元组 |
R+W |
nq |
RDF 1.1 N-Quads;RDF数据集的基于行的语法 | application/n-四元组 |
W |
turtle |
RDF 1.1 Turtle;简洁的RDF三元组语言 | text/turtle |
W |
trig |
RDF 1.1 TriG;RDF数据集语言 | application/trig |
|
xml |
RDF 1.1 XML 语法 | application/rdf+xml |
W |
json |
RDF 1.1 JSON 另一种序列化 | application/rdf+json |
R+W |
n3 |
Notation3 (N3):一种可读的RDF语法 | text/rdf+n3 |
W |
TBD | 用于发布和交换的二进制RDF表示(HDT) | N/A | |
TBD | 使用Apache Thrift的RDF二进制 | application/x-binary-rdf |
|
TBD | JSON-LD 1.1;基于JSON的链接数据序列化 | application/ld+json |
|
TBD | RDFa 核心第1.1版 - 第三版 | text/html |
每个模块还将提供公共常量 NAME
、FILE_EXTENSION
和 MIME_TYPE
。
示例
示例:读取现有的NTriple文件。
use rdftk_io::nt::reader::NTriplesReader;
use rdftk_io::GraphReader;
use rdftk_memgraph::simple::graph_factory;
use std::fs::File;
use std::path::PathBuf;
let file_path = PathBuf::from("tests/w3c/nt/literal.nt");
let mut file = File::open(file_path).unwrap();
let reader = NTriplesReader::default();
let graph = reader.read(&mut file, graph_factory()).unwrap();
变更
版本 0.2.1
- 添加了JSON读取器。
版本 0.2.0
- 将rdftk_core依赖更新到0.3.0,这是一个重大的API更改。
- 现在所有读取操作都需要图工厂。
版本 0.1.9
- 在IRI解析中添加了Unicode转义处理。
- 所有NTriples的W3C测试用例现在都通过。
- 删除了本地错误模块,现在使用核心错误类型。
版本 0.1.8
- 使用新的样式接口,一致地使用特性和特例引用类型。
- 有一个工作的NTriple解析器。
版本 0.1.7
- 使用rdftk_core 0.2,这导致了Graph和DataSet特例签名的更改。
- 这导致GraphWriter和DataSetWriter特例的更改。
- 在lib.rs中应用了更多的警告。
- 修复了结果Clippy建议。
版本 0.1.6
- 使所有模块都有独立的读取/写入子模块。
- 将所有模块放在功能之后。
- 添加了JSON写入器。
- 重新编写NQuad写入器以写入数据集。
- 重新编写NTripe写入器以使用NQuad写入器。
- 修复了Turtle写入器的格式化。
- 添加了XML写入器。
版本 0.1.5
- 内部更改,使用
StatementRef
。
版本 0.1.4
- 核心crate中的API更改
- 将
PrefixMappings::compress
和PrefixMappings::expand
更改为引用。
- 将
版本 0.1.2
- 将所有
IRI
转换为IRIRef
。
版本 0.1.1
- 将所有本地依赖项仅设置为主要/次要值。
版本 0.1.0
- 第一个版本。
- 仅提供N-Triples、N-Quads和GraphViz的写支持。
待办事项
- 核心;N-Triples、N-Quads、N3和Turtle需要读取和写入支持。
- 扩展核心;RDF/XML、JSON-LD和RDFa需要读取和写入支持。
- 其余部分;RDF/JSON、TriG、HDT和BinaryRDF将按需实现。
依赖项
~7-10MB
~193K SLoC