2 个版本
0.1.2 | 2024年3月25日 |
---|---|
0.1.1 | 2024年3月25日 |
0.1.0 |
|
#418 在 编码
765 每月下载量
在 42 个 crate(23 个直接使用)中使用
115KB
3.5K SLoC
Linked-Data 序列化和反序列化原语
此库提供了用于序列化和反序列化Linked-Data类型的原始特质。它附带 derive 宏(使用 derive
功能),可以自动为您实现这些原始特质。
示例
use iref::IriBuf;
use static_iref::iri;
#[derive(linked_data::Serialize, linked_data::Deserialize)]
#[ld(prefix("ex" = "http://example.org/"))]
struct Foo {
#[ld(id)]
id: IriBuf,
#[ld("ex:name")]
name: String,
#[ld("ex:email")]
email: String
}
let value = Foo {
id: iri!("http://example.org/JohnSmith").to_owned(),
name: "John Smith".to_owned(),
email: "[email protected]".to_owned()
};
let quads = linked_data::to_quads(rdf_types::generator::Blank::new(), &value)
.expect("RDF serialization failed");
for quad in quads {
use rdf_types::RdfDisplay;
println!("{} .", quad.rdf_display())
}
这将打印以下内容
<http://example.org/JohnSmith> <http://example.org/name> "John Smith" .
<http://example.org/JohnSmith> <http://example.org/email> "[email protected]" .
许可证
许可协议为以下之一
- Apache License, Version 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在工作中的任何贡献,将按上述方式双授权,没有任何额外的条款或条件。
依赖项
~11MB
~226K SLoC