This commit is contained in:
2026-08-13 22:44:37 -04:00
parent a723b52191
commit 8dcaa5b61f
5 changed files with 244 additions and 181 deletions
Generated
+136 -125
View File
@@ -77,7 +77,7 @@ dependencies = [
"ndk-context", "ndk-context",
"ndk-sys", "ndk-sys",
"num_enum", "num_enum",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -336,9 +336,9 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
[[package]] [[package]]
name = "async-trait" name = "async-trait"
version = "0.1.91" version = "0.1.92"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae36dc4177970ef04fde5178d3e2429882def40e57a451f919c098f72baa6cec" checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -359,9 +359,9 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
[[package]] [[package]]
name = "aws-lc-rs" name = "aws-lc-rs"
version = "1.17.3" version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00bdb5da18dac48ca2cc7cd4a98e533e8635a58e2361d13a1a4ee3888e0d72f1" checksum = "ce2b2dcc879c3bae0d371e77c99f2238400ef24ec001394befa67b6e543add9e"
dependencies = [ dependencies = [
"aws-lc-sys", "aws-lc-sys",
"zeroize", "zeroize",
@@ -369,9 +369,9 @@ dependencies = [
[[package]] [[package]]
name = "aws-lc-sys" name = "aws-lc-sys"
version = "0.43.0" version = "0.44.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43103168cc76fe62678a375e722fc9cb3a0146159ac5828bc4f0dfd755c2224c" checksum = "f09fae7be8bb3174e05c6afdb34199e6dc0c7c04ba9fa237b1967adfbde27483"
dependencies = [ dependencies = [
"cc", "cc",
"cmake", "cmake",
@@ -591,13 +591,13 @@ dependencies = [
[[package]] [[package]]
name = "bytemuck_derive" name = "bytemuck_derive"
version = "1.11.0" version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f65693059b6b9c588b9f62fed1cedbf0a8b805631457ea162d68f0de186f3de5" checksum = "fc0e56a716f1e132ff6bf4bdac1c944a3fcdc1cae65f70a4a2a1ac3b401d2d1f"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.119", "syn 3.0.3",
] ]
[[package]] [[package]]
@@ -640,9 +640,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.4.0" version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9" checksum = "5d262e149917187838d5b42777c8253bcb64500067342904e7d429499a6f277e"
dependencies = [ dependencies = [
"find-msvc-tools", "find-msvc-tools",
"jobserver", "jobserver",
@@ -712,9 +712,9 @@ dependencies = [
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.6.5" version = "4.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "301b56658598e48f3648647ac6fc887be7e7108eddfa4e9b63fcf3ec58c0cadf" checksum = "473c7e07f409a8d772161724aa8db6a765a2532a70f9667eeb7b49d3d02fbdca"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@@ -722,9 +722,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.6.5" version = "4.6.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94a65403d1a1bd28f7dc68eb8506e8874808ee5eecb59298de588e2e1407a078" checksum = "7b48fea5a88e9ae728a2dcbedbfc0e730f7d60da42e1cb049a83c9fb8b789889"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@@ -1304,10 +1304,11 @@ dependencies = [
[[package]] [[package]]
name = "eyre" name = "eyre"
version = "0.6.12" version = "0.6.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" checksum = "c08309dbcc659c5549a24ddb9b27027640641b282ef5768267c7e675558986a3"
dependencies = [ dependencies = [
"autocfg",
"indenter", "indenter",
"once_cell", "once_cell",
] ]
@@ -1336,9 +1337,9 @@ dependencies = [
[[package]] [[package]]
name = "find-msvc-tools" name = "find-msvc-tools"
version = "0.1.9" version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" checksum = "26b73573e6edcd2af0cdf47bd6cb58f0b3839491263c314eaad1ccf24430e1de"
[[package]] [[package]]
name = "fixedbitset" name = "fixedbitset"
@@ -1375,9 +1376,9 @@ dependencies = [
[[package]] [[package]]
name = "font-types" name = "font-types"
version = "0.12.2" version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a7299a780854a6d391be2ae1c8521c9368471b559dbfd6a8dbd9f407eaff100" checksum = "75382bc7392ef10aad10935f92fc3db36d2d4dad0e5d96d8d65e04f89a07ec39"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
] ]
@@ -1459,9 +1460,9 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
[[package]] [[package]]
name = "futures" name = "futures"
version = "0.3.33" version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a88cf1f829d945f548cf8fec32c61b1f202b6d93b45848602fc02af4b12ad218" checksum = "9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3"
dependencies = [ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",
@@ -1474,9 +1475,9 @@ dependencies = [
[[package]] [[package]]
name = "futures-channel" name = "futures-channel"
version = "0.3.33" version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "262590f4fe6afeb0bc83be1daa64e52657fe185690a958af7f3ad0e92085c5ae" checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-sink", "futures-sink",
@@ -1484,15 +1485,15 @@ dependencies = [
[[package]] [[package]]
name = "futures-core" name = "futures-core"
version = "0.3.33" version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7" checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e"
[[package]] [[package]]
name = "futures-executor" name = "futures-executor"
version = "0.3.33" version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6754879cc9f2c66f88c6e5c35344bb0bdb0708b0352b1201815667c7eabc7458" checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-task", "futures-task",
@@ -1501,9 +1502,9 @@ dependencies = [
[[package]] [[package]]
name = "futures-io" name = "futures-io"
version = "0.3.33" version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4577ecaa3c4f96589d473f679a71b596316f6641bc350038b962a5daf0085d7a" checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed"
[[package]] [[package]]
name = "futures-lite" name = "futures-lite"
@@ -1520,32 +1521,32 @@ dependencies = [
[[package]] [[package]]
name = "futures-macro" name = "futures-macro"
version = "0.3.33" version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d6d3cde68c518367be28956066ddfef33813991b77a55005a69dae04bf3b10b" checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.119", "syn 3.0.3",
] ]
[[package]] [[package]]
name = "futures-sink" name = "futures-sink"
version = "0.3.33" version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e34418ac499d6305c2fb5ad0ed2f6ac998c5f8ca209b4510f7f94242c647e307" checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d"
[[package]] [[package]]
name = "futures-task" name = "futures-task"
version = "0.3.33" version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109" checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd"
[[package]] [[package]]
name = "futures-util" name = "futures-util"
version = "0.3.33" version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa" checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc"
dependencies = [ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",
@@ -1631,7 +1632,7 @@ dependencies = [
"gl-search", "gl-search",
"oxigraph", "oxigraph",
"oxilangtag", "oxilangtag",
"thiserror 2.0.19", "thiserror 2.0.20",
"tracing", "tracing",
] ]
@@ -1643,7 +1644,7 @@ dependencies = [
"num-traits", "num-traits",
"oxigraph", "oxigraph",
"prost", "prost",
"thiserror 2.0.19", "thiserror 2.0.20",
"tokio", "tokio",
"tonic", "tonic",
"tonic-prost", "tonic-prost",
@@ -1670,7 +1671,7 @@ dependencies = [
"oxilangtag", "oxilangtag",
"rfd", "rfd",
"tar", "tar",
"thiserror 2.0.19", "thiserror 2.0.20",
"tokio", "tokio",
"tonic", "tonic",
"tracing", "tracing",
@@ -1687,7 +1688,7 @@ dependencies = [
"oxigraph", "oxigraph",
"subtitler", "subtitler",
"tantivy", "tantivy",
"thiserror 2.0.19", "thiserror 2.0.20",
"tracing", "tracing",
] ]
@@ -1745,7 +1746,7 @@ dependencies = [
"hashbrown 0.16.1", "hashbrown 0.16.1",
"log", "log",
"presser", "presser",
"thiserror 2.0.19", "thiserror 2.0.20",
"windows", "windows",
] ]
@@ -1897,9 +1898,9 @@ dependencies = [
[[package]] [[package]]
name = "http-body-util" name = "http-body-util"
version = "0.1.4" version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9f41fd6a08e4d4ec69df65976da761afd5ad5e58a9d4acb46bd1c953a9e3ff2" checksum = "23169fe34a5fbcdd3f3862e78fb9b6fccd5f02a6dc6f732547005d45631ce71c"
dependencies = [ dependencies = [
"bytes", "bytes",
"futures-core", "futures-core",
@@ -1996,7 +1997,7 @@ dependencies = [
[[package]] [[package]]
name = "iced" name = "iced"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"iced_core", "iced_core",
"iced_debug", "iced_debug",
@@ -2005,13 +2006,13 @@ dependencies = [
"iced_runtime", "iced_runtime",
"iced_widget", "iced_widget",
"iced_winit", "iced_winit",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
name = "iced_core" name = "iced_core"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"bitflags 2.13.1", "bitflags 2.13.1",
"bytes", "bytes",
@@ -2022,14 +2023,15 @@ dependencies = [
"raw-window-handle", "raw-window-handle",
"rustc-hash 2.1.3", "rustc-hash 2.1.3",
"smol_str 0.2.2", "smol_str 0.2.2",
"thiserror 2.0.19", "thiserror 2.0.20",
"unicode-segmentation",
"web-time", "web-time",
] ]
[[package]] [[package]]
name = "iced_debug" name = "iced_debug"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"iced_core", "iced_core",
"iced_futures", "iced_futures",
@@ -2039,7 +2041,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_futures" name = "iced_futures"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"futures", "futures",
"iced_core", "iced_core",
@@ -2053,7 +2055,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_graphics" name = "iced_graphics"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"bitflags 2.13.1", "bitflags 2.13.1",
"bytemuck", "bytemuck",
@@ -2064,14 +2066,13 @@ dependencies = [
"log", "log",
"raw-window-handle", "raw-window-handle",
"rustc-hash 2.1.3", "rustc-hash 2.1.3",
"thiserror 2.0.19", "thiserror 2.0.20",
"unicode-segmentation",
] ]
[[package]] [[package]]
name = "iced_program" name = "iced_program"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"iced_graphics", "iced_graphics",
"iced_runtime", "iced_runtime",
@@ -2080,30 +2081,30 @@ dependencies = [
[[package]] [[package]]
name = "iced_renderer" name = "iced_renderer"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"iced_graphics", "iced_graphics",
"iced_tiny_skia", "iced_tiny_skia",
"iced_wgpu", "iced_wgpu",
"log", "log",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
name = "iced_runtime" name = "iced_runtime"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"bytes", "bytes",
"iced_core", "iced_core",
"iced_futures", "iced_futures",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
name = "iced_tiny_skia" name = "iced_tiny_skia"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"cosmic-text", "cosmic-text",
@@ -2119,7 +2120,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_wgpu" name = "iced_wgpu"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"bitflags 2.13.1", "bitflags 2.13.1",
"bytemuck", "bytemuck",
@@ -2129,28 +2130,28 @@ dependencies = [
"iced_graphics", "iced_graphics",
"log", "log",
"rustc-hash 2.1.3", "rustc-hash 2.1.3",
"thiserror 2.0.19", "thiserror 2.0.20",
"wgpu", "wgpu",
] ]
[[package]] [[package]]
name = "iced_widget" name = "iced_widget"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"iced_renderer", "iced_renderer",
"iced_runtime", "iced_runtime",
"log", "log",
"num-traits", "num-traits",
"rustc-hash 2.1.3", "rustc-hash 2.1.3",
"thiserror 2.0.19", "thiserror 2.0.20",
"unicode-segmentation", "unicode-segmentation",
] ]
[[package]] [[package]]
name = "iced_winit" name = "iced_winit"
version = "0.15.0-dev" version = "0.15.0-dev"
source = "git+https://github.com/iced-rs/iced.git?branch=master#4cad51ba61e3d76a7e696ad5923d675a20994e34" source = "git+https://github.com/iced-rs/iced.git?branch=master#2b275718d19a5cf306537e1d2417a1f5e9d94ef4"
dependencies = [ dependencies = [
"arboard", "arboard",
"iced_debug", "iced_debug",
@@ -2160,7 +2161,7 @@ dependencies = [
"mundy", "mundy",
"objc2 0.5.2", "objc2 0.5.2",
"rustc-hash 2.1.3", "rustc-hash 2.1.3",
"thiserror 2.0.19", "thiserror 2.0.20",
"tracing", "tracing",
"wasm-bindgen-futures", "wasm-bindgen-futures",
"web-sys", "web-sys",
@@ -2349,7 +2350,7 @@ dependencies = [
"jni-sys 0.4.1", "jni-sys 0.4.1",
"log", "log",
"simd_cesu8", "simd_cesu8",
"thiserror 2.0.19", "thiserror 2.0.20",
"walkdir", "walkdir",
"windows-link", "windows-link",
] ]
@@ -2467,7 +2468,7 @@ dependencies = [
"parse_link_header", "parse_link_header",
"reqwest-middleware", "reqwest-middleware",
"slotmap", "slotmap",
"thiserror 2.0.19", "thiserror 2.0.20",
"tracing", "tracing",
] ]
@@ -2508,7 +2509,7 @@ dependencies = [
"bitflags 2.13.1", "bitflags 2.13.1",
"libc", "libc",
"plain", "plain",
"redox_syscall 0.9.1", "redox_syscall 0.9.2",
] ]
[[package]] [[package]]
@@ -2735,7 +2736,7 @@ dependencies = [
"once_cell", "once_cell",
"rustc-hash 1.1.0", "rustc-hash 1.1.0",
"spirv", "spirv",
"thiserror 2.0.19", "thiserror 2.0.20",
"unicode-ident", "unicode-ident",
] ]
@@ -3314,7 +3315,7 @@ dependencies = [
"sparesults", "sparesults",
"spareval", "spareval",
"spargebra", "spargebra",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -3342,7 +3343,7 @@ dependencies = [
"oxiri", "oxiri",
"oxrdf", "oxrdf",
"ryu-js", "ryu-js",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -3357,7 +3358,7 @@ dependencies = [
"oxsdatatypes", "oxsdatatypes",
"rand 0.9.5", "rand 0.9.5",
"sha2", "sha2",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -3370,7 +3371,7 @@ dependencies = [
"oxrdf", "oxrdf",
"oxrdfxml", "oxrdfxml",
"oxttl", "oxttl",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -3383,7 +3384,7 @@ dependencies = [
"oxiri", "oxiri",
"oxrdf", "oxrdf",
"quick-xml 0.37.5", "quick-xml 0.37.5",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -3402,7 +3403,7 @@ version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06fa874d87eae638daae9b4e3198864fe2cce68589f227c0b2cf5b62b1530516" checksum = "06fa874d87eae638daae9b4e3198864fe2cce68589f227c0b2cf5b62b1530516"
dependencies = [ dependencies = [
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -3415,7 +3416,7 @@ dependencies = [
"oxilangtag", "oxilangtag",
"oxiri", "oxiri",
"oxrdf", "oxrdf",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -3579,9 +3580,9 @@ checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3"
[[package]] [[package]]
name = "portable-atomic" name = "portable-atomic"
version = "1.14.0" version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3" checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
[[package]] [[package]]
name = "portable-atomic-util" name = "portable-atomic-util"
@@ -3722,9 +3723,9 @@ dependencies = [
[[package]] [[package]]
name = "pulldown-cmark-to-cmark" name = "pulldown-cmark-to-cmark"
version = "22.0.0" version = "22.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50793def1b900256624a709439404384204a5dc3a6ec580281bfaac35e882e90" checksum = "ab1ad36992cead65f02aa399a373a42730922f1525d988172634fdefdecb8a60"
dependencies = [ dependencies = [
"pulldown-cmark", "pulldown-cmark",
] ]
@@ -3761,7 +3762,7 @@ dependencies = [
"rustc-hash 2.1.3", "rustc-hash 2.1.3",
"rustls", "rustls",
"socket2", "socket2",
"thiserror 2.0.19", "thiserror 2.0.20",
"tokio", "tokio",
"tracing", "tracing",
"web-time", "web-time",
@@ -3784,7 +3785,7 @@ dependencies = [
"rustls", "rustls",
"rustls-pki-types", "rustls-pki-types",
"slab", "slab",
"thiserror 2.0.19", "thiserror 2.0.20",
"tinyvec", "tinyvec",
"tracing", "tracing",
"web-time", "web-time",
@@ -3948,7 +3949,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "046a7d674daf459825b32f5062056d6882db0d2f5a479fbd76ccfc870ac18709" checksum = "046a7d674daf459825b32f5062056d6882db0d2f5a479fbd76ccfc870ac18709"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"font-types 0.12.2", "font-types 0.12.3",
"once_cell", "once_cell",
] ]
@@ -3972,9 +3973,9 @@ dependencies = [
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.9.1" version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07507be7b4a5f9f26eeb41eeaebb1f5a7ff29dfb29739facc21d35bf8b11c21e" checksum = "f1c93da5bb2c5d4e6c0ef7abeead62c89169a0a4882bfb83ac892f2423aea2fe"
dependencies = [ dependencies = [
"bitflags 2.13.1", "bitflags 2.13.1",
] ]
@@ -4062,7 +4063,7 @@ dependencies = [
"async-trait", "async-trait",
"http", "http",
"reqwest", "reqwest",
"thiserror 2.0.19", "thiserror 2.0.20",
"tower-service", "tower-service",
] ]
@@ -4241,9 +4242,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f"
[[package]] [[package]]
name = "rustls-webpki" name = "rustls-webpki"
version = "0.103.13" version = "0.103.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" checksum = "0527518605e68109d875e248ea259b6758801cf165e4b2c2733ae3b51f12535a"
dependencies = [ dependencies = [
"aws-lc-rs", "aws-lc-rs",
"ring", "ring",
@@ -4631,7 +4632,7 @@ dependencies = [
"memchr", "memchr",
"oxrdf", "oxrdf",
"quick-xml 0.37.5", "quick-xml 0.37.5",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -4654,7 +4655,7 @@ dependencies = [
"sparesults", "sparesults",
"spargebra", "spargebra",
"sparopt", "sparopt",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -4668,7 +4669,7 @@ dependencies = [
"oxrdf", "oxrdf",
"peg", "peg",
"rand 0.9.5", "rand 0.9.5",
"thiserror 2.0.19", "thiserror 2.0.20",
] ]
[[package]] [[package]]
@@ -4734,7 +4735,7 @@ dependencies = [
"serde-wasm-bindgen", "serde-wasm-bindgen",
"serde_json", "serde_json",
"smallvec", "smallvec",
"thiserror 2.0.19", "thiserror 2.0.20",
"tokio", "tokio",
"tracing", "tracing",
"tracing-subscriber", "tracing-subscriber",
@@ -4867,7 +4868,7 @@ dependencies = [
"tantivy-stacker", "tantivy-stacker",
"tantivy-tokenizer-api", "tantivy-tokenizer-api",
"tempfile", "tempfile",
"thiserror 2.0.19", "thiserror 2.0.20",
"time", "time",
"typetag", "typetag",
"uuid", "uuid",
@@ -5013,11 +5014,11 @@ dependencies = [
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "2.0.19" version = "2.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9" checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f"
dependencies = [ dependencies = [
"thiserror-impl 2.0.19", "thiserror-impl 2.0.20",
] ]
[[package]] [[package]]
@@ -5033,9 +5034,9 @@ dependencies = [
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "2.0.19" version = "2.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd" checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -5371,7 +5372,7 @@ checksum = "050686193eb999b4bb3bc2acfa891a13da00f79734704c4b8b4ef1a10b368a3c"
dependencies = [ dependencies = [
"crossbeam-channel", "crossbeam-channel",
"symlink", "symlink",
"thiserror 2.0.19", "thiserror 2.0.20",
"time", "time",
"tracing-subscriber", "tracing-subscriber",
] ]
@@ -5923,7 +5924,7 @@ dependencies = [
"raw-window-handle", "raw-window-handle",
"rustc-hash 1.1.0", "rustc-hash 1.1.0",
"smallvec", "smallvec",
"thiserror 2.0.19", "thiserror 2.0.20",
"wgpu-core-deps-apple", "wgpu-core-deps-apple",
"wgpu-core-deps-emscripten", "wgpu-core-deps-emscripten",
"wgpu-core-deps-windows-linux-android", "wgpu-core-deps-windows-linux-android",
@@ -6002,7 +6003,7 @@ dependencies = [
"raw-window-metal", "raw-window-metal",
"renderdoc-sys", "renderdoc-sys",
"smallvec", "smallvec",
"thiserror 2.0.19", "thiserror 2.0.20",
"wasm-bindgen", "wasm-bindgen",
"wayland-sys", "wayland-sys",
"web-sys", "web-sys",
@@ -6419,7 +6420,7 @@ dependencies = [
"log", "log",
"os_pipe", "os_pipe",
"rustix 1.1.4", "rustix 1.1.4",
"thiserror 2.0.19", "thiserror 2.0.20",
"tree_magic_mini", "tree_magic_mini",
"wayland-backend", "wayland-backend",
"wayland-client", "wayland-client",
@@ -6502,9 +6503,9 @@ checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56"
[[package]] [[package]]
name = "xml-rs" name = "xml-rs"
version = "0.8.28" version = "0.8.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
[[package]] [[package]]
name = "yazi" name = "yazi"
@@ -6537,9 +6538,9 @@ dependencies = [
[[package]] [[package]]
name = "zbus" name = "zbus"
version = "5.18.0" version = "5.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe18fb60dc696039e738717b76eaea21e7a4489bbb1885020b43c94236d7e98a" checksum = "5db4be7c075cb421e4b7ee645541604239bd243ba7c357511f4ff3a74b555907"
dependencies = [ dependencies = [
"async-broadcast", "async-broadcast",
"async-executor", "async-executor",
@@ -6572,14 +6573,14 @@ dependencies = [
[[package]] [[package]]
name = "zbus_macros" name = "zbus_macros"
version = "5.18.0" version = "5.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe96480bed92df2b442a1a30df364e12d08eed03aeb061f2b8dc6afb2be91119" checksum = "2990635d09ade6df1868f72f8cac69a876a90981e8bd3c40b1be413f8dc88f40"
dependencies = [ dependencies = [
"proc-macro-crate", "proc-macro-crate",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.119", "syn 3.0.3",
"zbus_names", "zbus_names",
"zvariant", "zvariant",
"zvariant_utils", "zvariant_utils",
@@ -6596,6 +6597,15 @@ dependencies = [
"zvariant", "zvariant",
] ]
[[package]]
name = "zcheapstr"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1afec51604565183aeb5c54c20aeab286120d4e4460f7f76e3e8bb8c0d99473"
dependencies = [
"serde",
]
[[package]] [[package]]
name = "zeno" name = "zeno"
version = "0.3.3" version = "0.3.3"
@@ -6604,18 +6614,18 @@ checksum = "6df3dc4292935e51816d896edcd52aa30bc297907c26167fec31e2b0c6a32524"
[[package]] [[package]]
name = "zerocopy" name = "zerocopy"
version = "0.8.55" version = "0.8.56"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5a105cd7b140f6eeec8acff2ea38135d3cab283ada58540f629fe51e46696eb" checksum = "556764e583adb45a9f8d413c2a147fa7e8d821e48e12b14fd560b607998b75eb"
dependencies = [ dependencies = [
"zerocopy-derive", "zerocopy-derive",
] ]
[[package]] [[package]]
name = "zerocopy-derive" name = "zerocopy-derive"
version = "0.8.55" version = "0.8.56"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fe976fb70c78cd64cccfe3a6fc142244e8a77b70959b30faf9d0ac37ee228eb" checksum = "f2ab42fc20575779bd240faa45f94a74256f755c0fa9e89f0ede20d91d0cdfc1"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -6718,40 +6728,41 @@ dependencies = [
[[package]] [[package]]
name = "zvariant" name = "zvariant"
version = "5.13.1" version = "5.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bee2a0bcd2a907786a456fff45aaaaf54c9ba5f50b71ae9ec1a4edd200c94911" checksum = "b5e28c25bd8bb8da5a1f3e7065d0c156b9ee9a7973adf78b0e35eaefdf3b1b5c"
dependencies = [ dependencies = [
"endi", "endi",
"enumflags2", "enumflags2",
"serde", "serde",
"winnow", "winnow",
"zcheapstr",
"zvariant_derive", "zvariant_derive",
"zvariant_utils", "zvariant_utils",
] ]
[[package]] [[package]]
name = "zvariant_derive" name = "zvariant_derive"
version = "5.13.1" version = "5.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38a708216a18780796770bfe3f4739c7c83a3e8f789b755534bbbc06e4e23e12" checksum = "d496a145685283b67e232bd9e47377f6b60ad9d51e3601b23867f77c42477f96"
dependencies = [ dependencies = [
"proc-macro-crate", "proc-macro-crate",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.119", "syn 3.0.3",
"zvariant_utils", "zvariant_utils",
] ]
[[package]] [[package]]
name = "zvariant_utils" name = "zvariant_utils"
version = "3.5.0" version = "4.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90cb9383f9b45290407a1258b202d3f8f01db719eb60b4e4055c6375af4fc7c7" checksum = "629d80ece222cad20fe0e8741be493c4ab166acf3b85341bdc2cdbcfd8f3c2d6"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"serde", "serde",
"syn 2.0.119", "syn 3.0.3",
"winnow", "winnow",
] ]
+2 -2
View File
@@ -20,7 +20,7 @@ pub async fn index_ontology(
let description_filter = language.to_filter_expression("description"); let description_filter = language.to_filter_expression("description");
let mut request = OntologyQueryRequest::default(); let mut request = OntologyQueryRequest::default();
request.sparql_query = format!(r#"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> request.sparql_query = Some(format!(r#"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
@@ -34,7 +34,7 @@ SELECT ?class ?subject ?label ?description WHERE {{
OPTIONAL {{ ?subject skos:definition ?definition }} OPTIONAL {{ ?subject skos:definition ?definition }}
BIND(COALESCE(?definition, ?comment) AS ?description) BIND(COALESCE(?definition, ?comment) AS ?description)
{description_filter} {description_filter}
}}"#); }}"#));
let response = client.query(request).await.unwrap(); let response = client.query(request).await.unwrap();
let parser_output = QueryResultsParser::from_format(QueryResultsFormat::Json) let parser_output = QueryResultsParser::from_format(QueryResultsFormat::Json)
+70 -48
View File
@@ -110,60 +110,82 @@ impl Ontology for OntologyService {
ONTOLOGY_GRAPH.into_owned() ONTOLOGY_GRAPH.into_owned()
}; };
let mut evaluator = SparqlEvaluator::new();
for (name, iri) in &request.prefixes {
evaluator = evaluator.with_prefix(name, iri)
.map_err(|err| Status::internal(err.to_string()))?;
}
if let Some(base) = &request.base {
evaluator = evaluator.with_base_iri(base)
.map_err(|err| Status::internal(err.to_string()))?;
}
let mut query = evaluator.parse_query(&request.sparql_query)
.map_err(|err| Status::internal(err.to_string()))?;
query.dataset_mut().set_default_graph(vec![graph_name.clone()]);
let results = query.on_store(&self.ontology)
.execute()
.map_err(|err| Status::internal(err.to_string()))?;
let mut output_buffer = Vec::new(); let mut output_buffer = Vec::new();
match results { if let Some(sparql_query) = &request.sparql_query {
QueryResults::Boolean(result) => { let mut evaluator = SparqlEvaluator::new();
let serializer = QueryResultsSerializer::from_format(QueryResultsFormat::Json); for (name, iri) in &request.prefixes {
output_buffer = serializer.serialize_boolean_to_writer(output_buffer, result) evaluator = evaluator.with_prefix(name, iri)
.map_err(|err| Status::internal(err.to_string()))?; .map_err(|err| Status::internal(err.to_string()))?;
} }
QueryResults::Solutions(solutions) => {
let serializer = QueryResultsSerializer::from_format(QueryResultsFormat::Json);
let variables = Vec::from_iter(solutions.variables().iter().cloned());
let mut writer = serializer.serialize_solutions_to_writer(output_buffer, variables)?;
for solution in solutions.filter_map(Result::ok) {
writer.serialize(&solution)?;
}
output_buffer = writer.finish()?;
}
QueryResults::Graph(graph) => {
let mut serializer = RdfSerializer::from_format(RdfFormat::Turtle);
for (name, iri) in &request.prefixes {
serializer = serializer.with_prefix(name, iri)
.map_err(|err| Status::internal(err.to_string()))?;
}
if let Some(base) = &request.base {
serializer = serializer.with_base_iri(base)
.map_err(|err| Status::internal(err.to_string()))?;
}
let mut serializer = serializer.for_writer(output_buffer); if let Some(base) = &request.base {
for triple in graph.filter_map(Result::ok) { evaluator = evaluator.with_base_iri(base)
serializer.serialize_triple(triple.as_ref())?; .map_err(|err| Status::internal(err.to_string()))?;
}
output_buffer = serializer.finish()?;
} }
let mut query = evaluator.parse_query(sparql_query)
.map_err(|err| Status::internal(err.to_string()))?;
query.dataset_mut().set_default_graph(vec![graph_name.clone()]);
let results = query.on_store(&self.ontology)
.execute()
.map_err(|err| Status::internal(err.to_string()))?;
match results {
QueryResults::Boolean(result) => {
let serializer = QueryResultsSerializer::from_format(QueryResultsFormat::Json);
output_buffer = serializer.serialize_boolean_to_writer(output_buffer, result)
.map_err(|err| Status::internal(err.to_string()))?;
}
QueryResults::Solutions(solutions) => {
let serializer = QueryResultsSerializer::from_format(QueryResultsFormat::Json);
let variables = Vec::from_iter(solutions.variables().iter().cloned());
let mut writer = serializer.serialize_solutions_to_writer(output_buffer, variables)?;
for solution in solutions.filter_map(Result::ok) {
writer.serialize(&solution)?;
}
output_buffer = writer.finish()?;
}
QueryResults::Graph(graph) => {
let mut serializer = RdfSerializer::from_format(RdfFormat::Turtle);
for (name, iri) in &request.prefixes {
serializer = serializer.with_prefix(name, iri)
.map_err(|err| Status::internal(err.to_string()))?;
}
if let Some(base) = &request.base {
serializer = serializer.with_base_iri(base)
.map_err(|err| Status::internal(err.to_string()))?;
}
let mut serializer = serializer.for_writer(output_buffer);
for triple in graph.filter_map(Result::ok) {
serializer.serialize_triple(triple.as_ref())?;
}
output_buffer = serializer.finish()?;
}
}
} else {
let mut serializer = RdfSerializer::from_format(RdfFormat::Turtle);
for (name, iri) in &request.prefixes {
serializer = serializer.with_prefix(name, iri)
.map_err(|err| Status::internal(err.to_string()))?;
}
if let Some(base) = &request.base {
serializer = serializer.with_base_iri(base)
.map_err(|err| Status::internal(err.to_string()))?;
}
let mut serializer = serializer.for_writer(output_buffer);
let graph = self.ontology
.quads_for_pattern(None, None, None, Some(graph_name.as_ref()))
.filter_map(Result::ok);
for triple in graph {
serializer.serialize_triple(triple.as_ref())?;
}
output_buffer = serializer.finish()?;
} }
response.results = String::from_utf8_lossy(&output_buffer).to_string(); response.results = String::from_utf8_lossy(&output_buffer).to_string();
if request.turtle.is_some() { if request.turtle.is_some() {
+1 -1
View File
@@ -19,7 +19,7 @@ message OntologyClearResponse {
message OntologyQueryRequest { message OntologyQueryRequest {
optional string turtle = 1; optional string turtle = 1;
string sparql_query = 2; optional string sparql_query = 2;
map<string, string> prefixes = 3; map<string, string> prefixes = 3;
optional string base = 4; optional string base = 4;
} }
+35 -5
View File
@@ -17,8 +17,10 @@ use ldp::middleware::BasicAuthMiddleware;
use ldp::reqwest::Client; use ldp::reqwest::Client;
use ldp::reqwest_middleware::ClientBuilder; use ldp::reqwest_middleware::ClientBuilder;
use ldp::traverse::Traverse; use ldp::traverse::Traverse;
use oxigraph::model::Dataset; use oxigraph::io::{RdfFormat, RdfParser, RdfSerializer};
use tracing::{debug_span, error, field}; use oxigraph::model::{Dataset, Graph, Triple, TripleRef};
use tonic::Status;
use tracing::{debug, debug_span, error, field, Instrument};
use tracing_subscriber::fmt::format::FmtSpan; use tracing_subscriber::fmt::format::FmtSpan;
use tracing_subscriber::layer::SubscriberExt; use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::util::SubscriberInitExt; use tracing_subscriber::util::SubscriberInitExt;
@@ -56,7 +58,7 @@ fn main() -> color_eyre::Result<()> {
} else { None }; } else { None };
let mut request = OntologyQueryRequest::default(); let mut request = OntologyQueryRequest::default();
request.sparql_query = raw_query; request.sparql_query = Some(raw_query);
request.turtle = graph; request.turtle = graph;
request.prefixes = HashMap::from_iter(gl_graph::PREFIXES.iter().map(|(name, iri)| (name.clone(), iri.clone()))); request.prefixes = HashMap::from_iter(gl_graph::PREFIXES.iter().map(|(name, iri)| (name.clone(), iri.clone())));
request.base = args.base.clone(); request.base = args.base.clone();
@@ -122,8 +124,36 @@ fn main() -> color_eyre::Result<()> {
} }
} }
let span = debug_span!("Index Repository", rdf_sources = field::Empty, documents = field::Empty).entered(); let span = debug_span!("Index Repository", rdf_sources = rdf_source_count, triples = field::Empty, documents = field::Empty);
span.record("rdf_sources", rdf_source_count); let triple_count = async {
let mut client = OntologyClient::connect("http://[::1]:3000").await.unwrap();
let mut request = OntologyQueryRequest::default();
let mut output_buffer = Vec::new();
let mut serializer = RdfSerializer::from_format(RdfFormat::Turtle)
.for_writer(output_buffer);
for quad in &dataset {
serializer.serialize_triple(TripleRef::from(quad))?;
}
output_buffer = serializer.finish()?;
let turtle = String::from_utf8_lossy(&output_buffer).to_string();
request.sparql_query = None;
request.turtle = Some(turtle);
request.prefixes = HashMap::new();
request.base = None;
let response = client.query(request).await.unwrap();
let graph_with_inferences = RdfParser::from_format(RdfFormat::Turtle)
.for_slice(&response.get_ref().results)
.filter_map(Result::ok)
.map(Triple::from)
.collect::<Graph>();
Ok::<usize, crate::error::Error>(graph_with_inferences.len())
}.instrument(span.clone()).await?;
span.record("triples", triple_count);
Ok::<_, crate::error::Error>(writer) Ok::<_, crate::error::Error>(writer)
})?; })?;