Regex-based citation edge extraction from German legal text.
Edges are typed per the Coupette/Katz/Bommarito 2021 schema.
Detected edge types in v0.1.0:
- cites "§ N Gesetz" / "Art. N Gesetz"
- verweist_iVm "i.V.m. §/Art. N"
Output is a { from: eli, citations: [{to, type, raw}] } graph
fragment. raw preserves the matched source text for diagnostics
and Juristen-review.
Pure in-WASM (regex), zero filesystem, zero network.
Reserved for next versions:
- 0.2: amends, superseded_by (requires title-line analysis)
- 0.3: transposes (requires cross-document EUR-Lex resolution —
belongs in a separate graph.resolve step rather than
here)
- 0.4: delegates_to_land / delegates_to_kommune
Signed-off-by: flemming-it <sf@flemming.it>
37 lines
857 B
TOML
37 lines
857 B
TOML
[package]
|
|
name = "graph_citation_extract"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
authors = ["Dr. Stefan Flemming <chain@flemming.ai>"]
|
|
license = "Apache-2.0"
|
|
publish = false
|
|
description = "F∆I module — extract typed citations from legal text into a graph-edge list"
|
|
repository = "https://git.flemming.ws/chain-modules/graph-citation-extract"
|
|
rust-version = "1.85"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "rlib"]
|
|
|
|
[dependencies]
|
|
chain-module-sdk = { git = "https://git.flemming.ai/fai/chain-module-sdk-rust.git", branch = "main" }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
regex = "1"
|
|
|
|
[profile.release]
|
|
opt-level = "s"
|
|
lto = true
|
|
codegen-units = 1
|
|
strip = "symbols"
|
|
|
|
[lints.rust]
|
|
unsafe_op_in_unsafe_fn = "warn"
|
|
|
|
[lints.clippy]
|
|
unwrap_used = "deny"
|
|
expect_used = "deny"
|
|
panic = "deny"
|
|
print_stdout = "deny"
|
|
print_stderr = "deny"
|
|
|
|
[workspace]
|