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