21 个版本
| 0.3.1 | 2021 年 6 月 14 日 |
|---|---|
| 0.3.0 | 2021 年 6 月 8 日 |
| 0.2.4 | 2021 年 5 月 28 日 |
| 0.1.14 | 2021 年 4 月 24 日 |
| 0.1.0 | 2020 年 7 月 28 日 |
在 #data-set 中排名 3
每月下载量 76
被 10 个 包使用(8 个直接使用)
380KB
6K SLoC
RDFtk: 核心部分
这个包提供了 RDF 抽象语法的实现,以及一个提供类似构建器体验的
Resource 类型。
来自 RDF 1.1 概念和抽象语法;
抽象语法的核心结构是一组三元组,每个三元组由一个主题、一个谓词和一个对象组成。这样的一组三元组被称为 RDF 图。RDF 图可以可视化为节点和有向弧图,其中每个三元组表示为节点-弧-节点链接。
RDF 图中可以有三种类型的节点:IRI、字面量和空白节点。
在这个库中,三元组或陈述以及主题、谓词和对象类型都在模块 statement 中。字面量作为对象在模块 literal 中得到支持。由模块 graph 提供描述图的特质。
还提供了其他功能,例如支持数据集(模块 model.data_set)以及支持对核心 RDF 抽象模型的扩展,如 RDF-star。
示例
use rdftk_core::{Literal, Statement, StatementList, SubjectNode};
use rdftk_iri::IRI;
use std::rc::Rc;
use std::str::FromStr;
pub fn make_statements() -> StatementList {
let mut statements: StatementList = Default::default();
statements.push(Statement::new(
SubjectNode::named(IRI::from_str("http://en.wikipedia.org/wiki/Tony_Benn").unwrap()),
IRI::from_str("http://purl.org/dc/elements/1.1/title").unwrap(),
Literal::new("Tony Benn").into(),
).into());
// ...
statements
}
变更
版本 0.3.1
- 添加了 PrefixMappingFactory 特质和 GraphFactory 上的 prefix_mapping_factory 方法。
版本 0.3.0
- 在模块 'model' 中描述的抽象 RDF API 现在完全是基于特质的。
- 模块 'simple' 中的实现提供了具体的内存类型。
- 添加了新的类型 LanguageTag 以更完整地表示这些值。
- 添加了功能的概念,表示数据集、图和陈述实现所支持的能力。
版本 0.2.4
- 创建了新的 Featured 特质,由许多类型实现,允许客户端查询各种可选功能。这也包括 has_index/has_all_indices 功能,因为所有索引查询现在都是功能查询。
版本 0.2.3
- 从 rdftk_io 复制了一些错误。
- 将 Io 变体重命名为 ReadWrite。
版本 0.2.2
- 重写了 API,以使用 Ref 类型,并在整个库中保持特质对象和类型的用法一致。
- 添加了数据集的工厂类型。
- 将 PrefixMappings 在 core::graph::mapping 模块中实现为具体类型。
- 向 ErrorKind 添加了 InvalidMatch 和 Io 变体。
- 向 Statement 添加了突变器。
版本 0.2.1
- 更改了 API,移除了 Graph 和 DataSet 的可变特质,将方法移动到它们的基特质中。
- 添加了图的工厂类型。
- 为图添加了 Skolemization 函数。
版本 0.2.0
- API 的更改,所有
Statement和陈述组件现在都作为Rc引用传递。- 添加了额外的 _ref 构造函数,以允许更干净的客户端代码。
- API 的更改,
Graph和DataSet现在使用类型参数来描述 query 方法返回的迭代器。 - API 的更改,
QName构造函数现在在无效值上返回错误而不是恐慌。 - 为字面量值添加了更多构造函数。
- 在字面量中添加了对
chrono::Duration的支持,以及 std 版本,因为 chrono 支持正确的输出格式。 - 在
SubjectNode和ObjectNode上添加了eq_方法,以简单测试内部值。 - 在库的各个部分添加了文档和示例。
版本 0.1.15
- 修复了 Clippy 建议。
- 从语句中移除了 Context。
- 向 Graph 添加了 value_factory 方法。
- 将所有单元测试放置在 tests 文件夹中。
版本 0.1.14
- 移除了独立的命名图。
- 添加数据集作为关联名称和图表的方式。
- 将CachingGraph重命名为ValueFactory,并使其独立。
版本 0.1.13
- 错误:修复了文字构造函数,以生成字符串的转义安全文字形式。
版本 0.1.12
- 修复:cargo fmt错误。
版本 0.1.11
- 添加:公开类型
StatementRef和StatementList,而不是在所有API中显然使用Rc。
版本 0.1.10
- 已弃用 通过向
Statement添加上下文(类型ContextNode)来支持数据集和Quads。
版本 0.1.9
- 在
Statement中支持RDF*。 - 向
Statement添加了额外的构造函数。 - 将资源方法
rdf_type重命名为instance_of以与RDF模式使用兼容。 - 向
QName添加了关联函数is_valid。
版本 0.1.8
- 显式导出
pub use *。
版本 0.1.7
- 将
Graph拆分为Graph和MutableGraph。 - 将
NamedGraph拆分为NamedGraph和MutableNamedGraph。 - 将
get_default_namespace添加到PrefixMappings特质中作为辅助函数。 - 修改了
PrefixMappings::compress和PrefixMappings::expand以使用引用。
版本 0.1.6
- 显式版本管理。
版本 0.1.5
- 为rdftk_memgraph构建更新。
版本 0.1.4
- 将所有本地依赖项仅限制为主/次版本值。
版本 0.1.3
- 将所有
IRI移动到接口上的IRIRef。 - 将
Graph和相关类型移入核心,并弃用rdftk_graph。
版本 0.1.2
- 清理更改。
版本 0.1.1
- 添加了
From以允许从IRI直接构建SubjectNode。 - 修复了
QName中的一个错误,该错误丢失了非前缀值中的":"。
版本 0.1.0
- 首次发布。
待办事项
待定
依赖关系
~7–10MB
~191K SLoC