This commit is contained in:
2026-08-16 15:50:10 -04:00
parent 8dcaa5b61f
commit 72a39e5baa
17 changed files with 290 additions and 182 deletions
+6
View File
@@ -42,4 +42,10 @@ pub(crate) enum Error {
#[error(transparent)]
TonicTransport(#[from] tonic::transport::Error),
#[error(transparent)]
TonicStatus(#[from] tonic::Status),
#[error(transparent)]
Tantivy(#[from] gl_search::tantivy::TantivyError),
}
+18 -8
View File
@@ -19,15 +19,14 @@ use ldp::reqwest_middleware::ClientBuilder;
use ldp::traverse::Traverse;
use oxigraph::io::{RdfFormat, RdfParser, RdfSerializer};
use oxigraph::model::{Dataset, Graph, Triple, TripleRef};
use tonic::Status;
use tracing::{debug, debug_span, error, field, Instrument};
use tracing::{debug_span, error, field, Instrument};
use tracing_subscriber::fmt::format::FmtSpan;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::util::SubscriberInitExt;
use tracing_subscriber::{EnvFilter, fmt};
use url::Url;
use gl_graph::index::index_ontology;
use gl_graph::language;
use gl_graph::indexer::Indexer;
use gl_graph::{language, CurieHelper};
use gl_inference::proto::ontology_client::OntologyClient;
use gl_inference::proto::OntologyQueryRequest;
@@ -75,7 +74,7 @@ fn main() -> color_eyre::Result<()> {
});
}
Some(Command::Search(args)) => {
for document in index.query(args.discriminant, &args.query, Schema::all_fields(), 500000)? {
for document in index.query(args.discriminant, &args.query, Schema::all_fields(), 5000)? {
println!("{}", gl_search::to_json(document));
}
}
@@ -92,8 +91,11 @@ fn main() -> color_eyre::Result<()> {
.build()?;
runtime.block_on(async {
let curie_helper = CurieHelper::new(gl_graph::PREFIXES.clone());
let indexer = Indexer::new(language::ENGLISH_OR_UNTAGGED.clone(), &curie_helper);
let mut client = OntologyClient::connect("http://[::1]:3000").await?;
let documents = index_ontology(&mut client, &language::ENGLISH_OR_UNTAGGED).await?;
let documents = indexer.ontology(&mut client).await?;
debug_span!("Index Ontology", documents = field::Empty).in_scope(|| {
for document in documents {
writer.add_document(document).unwrap();
@@ -126,7 +128,10 @@ fn main() -> color_eyre::Result<()> {
let span = debug_span!("Index Repository", rdf_sources = rdf_source_count, triples = field::Empty, documents = field::Empty);
let triple_count = async {
let mut client = OntologyClient::connect("http://[::1]:3000").await.unwrap();
let curie_helper = CurieHelper::new(gl_graph::PREFIXES.clone());
let indexer = Indexer::new(language::ENGLISH_OR_UNTAGGED.clone(), &curie_helper);
let mut client = OntologyClient::connect("http://[::1]:3000").await?;
let mut request = OntologyQueryRequest::default();
let mut output_buffer = Vec::new();
@@ -143,13 +148,18 @@ fn main() -> color_eyre::Result<()> {
request.prefixes = HashMap::new();
request.base = None;
let response = client.query(request).await.unwrap();
let response = client.query(request).await?;
let graph_with_inferences = RdfParser::from_format(RdfFormat::Turtle)
.for_slice(&response.get_ref().results)
.filter_map(Result::ok)
.map(Triple::from)
.collect::<Graph>();
let documents = indexer.graph(&graph_with_inferences)?;
for document in documents {
writer.add_document(document)?;
}
Ok::<usize, crate::error::Error>(graph_with_inferences.len())
}.instrument(span.clone()).await?;
span.record("triples", triple_count);
+1 -1
View File
@@ -6,7 +6,7 @@ use iced::futures::TryFutureExt;
use oxigraph::model::vocab::{rdf, rdfs, xsd};
use oxigraph::model::{
Dataset, Graph, GraphNameRef, LiteralRef, NamedNode, NamedNodeRef, NamedOrBlankNode,
NamedOrBlankNodeRef, Term, TermRef, Triple, TripleRef,
NamedOrBlankNodeRef, TermRef, Triple, TripleRef,
};
use oxigraph::sparql::{QueryResults, SparqlEvaluator};
use oxigraph::store::Store;