#parser-serializer #turtle #n-triples #n-quads #async-io #n3 #tri-g

oxttl

与RDF Turtle(N-Triples、N-Quads、Turtle、TriG和N3)相关的语言的解析器和序列化器

7个版本

0.1.0-alpha.7 2024年8月22日
0.1.0-alpha.62024年5月22日
0.1.0-alpha.52024年3月25日
0.1.0-alpha.22024年1月25日

#698数据库接口

Download history 20/week @ 2024-05-02 24/week @ 2024-05-09 140/week @ 2024-05-16 190/week @ 2024-05-23 162/week @ 2024-05-30 266/week @ 2024-06-06 187/week @ 2024-06-13 299/week @ 2024-06-20 666/week @ 2024-06-27 299/week @ 2024-07-04 193/week @ 2024-07-11 151/week @ 2024-07-18 200/week @ 2024-07-25 180/week @ 2024-08-01 1270/week @ 2024-08-08 204/week @ 2024-08-15

1,868 每月下载量
用于 23 个crate(直接使用4个)

MIT/Apache

540KB
10K SLoC

OxTTL

Latest Version Released API docs Crates.io downloads actions status Gitter

Oxttl是一组用于TurtleTriGN-TriplesN-QuadsN3的解析器和序列化器。

还提供了对SPARQL-star的支持,但仅限于N3之外的编程语言(Turtle-starTriG-starN-Triples-starN-Quads-star)。

它设计为低级解析器,兼容同步和异步I/O。

使用示例:统计Turtle文件中的人数

use oxrdf::{NamedNodeRef, vocab::rdf};
use oxttl::TurtleParser;

let file = b"@base <http://example.com/> .
@prefix schema: <http://schema.org/> .
<foo> a schema:Person ;
    schema:name \"Foo\" .
<bar> a schema:Person ;
    schema:name \"Bar\" .";

let schema_person = NamedNodeRef::new("http://schema.org/Person").unwrap();
let mut count = 0;
for triple in TurtleParser::new().parse_read(file.as_ref()) {
    let triple = triple.unwrap();
    if triple.predicate == rdf::TYPE && triple.object == schema_person.into() {
        count += 1;
    }
}
assert_eq!(2, count);

许可

本项目采用Apache License 2.0或MIT许可,由您选择。

  • Apache License 2.0 (LICENSE-APACHE<http://www.apache.org/licenses/LICENSE-2.0>)
  • MIT许可 (LICENSE-MIT<http://opensource.org/licenses/MIT>)

任选其一。

贡献

除非您明确声明,否则您提交的任何有意包含在Oxigraph中的贡献,根据Apache-2.0许可证的定义,将根据上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~0.7–2.5MB
~47K SLoC