25 releases

0.1.52 Nov 1, 2024
0.1.20 Sep 2, 2024
0.1.5 Jul 30, 2024
0.0.10 Jan 29, 2024
0.0.3 Oct 30, 2023

#573 in Encoding

Download history 178/week @ 2024-08-17 202/week @ 2024-08-24 182/week @ 2024-08-31 36/week @ 2024-09-07 138/week @ 2024-09-14 19/week @ 2024-09-21 104/week @ 2024-09-28 161/week @ 2024-10-05 42/week @ 2024-10-12 344/week @ 2024-10-19 289/week @ 2024-10-26 68/week @ 2024-11-02 22/week @ 2024-11-09 15/week @ 2024-11-16 11/week @ 2024-11-23 12/week @ 2024-11-30

60 downloads per month
Used in 9 crates (7 directly)

MIT/Apache

1MB
22K SLoC

ShEx compact syntax

This module contains a compact syntax parser and serializer for ShEx.


lib.rs:

ShEx compact syntax parser

Example


use shex_ast::{Schema, Shape, ShapeExpr, ShapeExprLabel};
use shex_compact::ShExParser;

let str = r#"prefix : <http://example.org/>
             :S {}
            "#;

let schema = ShExParser::parse(str, None).unwrap();
let mut expected = Schema::new();
expected.add_prefix("", &IriS::new_unchecked("http://example.org/"));
expected.add_shape(
  ShapeExprLabel::iri_unchecked("http://example.org/S"),
  ShapeExpr::empty_shape(),
  false
);
assert_eq!(schema,expected)

Dependencies

~17–34MB
~456K SLoC