.
This commit is contained in:
+14
-9
@@ -3,14 +3,14 @@ use crate::navigator::Navigator;
|
||||
use crate::rdf::term_helper::{TermHelper, TermHelperMut};
|
||||
use crate::widget::iri_input::iri_input;
|
||||
use crate::widget::navigation_area::navigation_area;
|
||||
use gl_graph::CurieHelper;
|
||||
use gl_graph::{language, CurieHelper};
|
||||
use gl_search::{Schema, SearchIndex};
|
||||
use http::StatusCode;
|
||||
use iced::alignment::Horizontal;
|
||||
use iced::keyboard::{Event, key};
|
||||
use iced::widget::button::Style;
|
||||
use iced::widget::{
|
||||
button, center, column, combo_box, container, grid, mouse_area, opaque, operation, pick_list,
|
||||
button, center, column, combo_box, container, mouse_area, opaque, operation, pick_list,
|
||||
row, scrollable, space, stack, table, text, text_input, toggler,
|
||||
};
|
||||
use iced::window::Settings;
|
||||
@@ -23,10 +23,10 @@ use ldp::reqwest_middleware::{ClientBuilder, ClientWithMiddleware};
|
||||
use ldp::{RdfSource, RdfSourceUpdateResponse, ResourceRequestBuilder, SerializationOptions};
|
||||
use oxigraph::io::RdfFormat;
|
||||
use oxigraph::model::vocab::{rdf, rdfs};
|
||||
use oxigraph::model::{BaseDirection, Dataset, Graph, NamedNode, NamedOrBlankNode, NamedOrBlankNodeRef, Quad, Term, TermRef, Triple, TripleRef};
|
||||
use oxigraph::model::{BaseDirection, Graph, NamedNode, NamedOrBlankNode, NamedOrBlankNodeRef, Quad, Term, TermRef, Triple, TripleRef};
|
||||
use tracing::{debug, error, trace};
|
||||
use gl_graph::class::Class;
|
||||
use gl_graph::ontology::{Ontology, ReadOnlyEntity, ResourceDescription};
|
||||
use gl_graph::ontology::{ConnectedOntology, OntologyBuilder, ReadOnlyEntity, ResourceDescription};
|
||||
use gl_search::tantivy::schema::Value;
|
||||
use crate::tasks;
|
||||
|
||||
@@ -34,7 +34,7 @@ use crate::tasks;
|
||||
pub(crate) enum Message {
|
||||
None,
|
||||
ConnectToOntologyService(String),
|
||||
ConnectedToOntologyService(Ontology),
|
||||
ConnectedToOntologyService(ConnectedOntology),
|
||||
CacheDatatypes(HashMap<NamedNode, ResourceDescription>),
|
||||
CacheReadOnlyEntities(HashSet<ReadOnlyEntity>),
|
||||
PopulateCaches,
|
||||
@@ -106,7 +106,7 @@ struct SearchState {
|
||||
pub(crate) struct Publisher {
|
||||
http_client: ClientWithMiddleware,
|
||||
curie_helper: CurieHelper,
|
||||
ontology: Option<Ontology>,
|
||||
ontology: Option<ConnectedOntology>,
|
||||
read_only_entities: HashSet<ReadOnlyEntity>,
|
||||
abbreviated_datatypes: Vec<String>,
|
||||
resource_descriptions: HashMap<NamedNode, ResourceDescription>,
|
||||
@@ -192,7 +192,10 @@ impl Publisher {
|
||||
|
||||
match message {
|
||||
Message::ConnectToOntologyService(endpoint) => {
|
||||
task = tasks::connect_to_ontology_service(endpoint)
|
||||
let builder = OntologyBuilder::from_string(&endpoint, language::ENGLISH_OR_UNTAGGED.clone())
|
||||
.expect("Unable to parse endpoint of ontology service");
|
||||
|
||||
task = tasks::connect_to_ontology_service(builder)
|
||||
.chain(Task::done(Message::PopulateCaches));
|
||||
}
|
||||
Message::ConnectedToOntologyService(ontology) => {
|
||||
@@ -217,8 +220,10 @@ impl Publisher {
|
||||
self.read_only_entities = entities;
|
||||
}
|
||||
Message::LookupResourceDescription(node) => {
|
||||
if let Some(ontology) = &mut self.ontology {
|
||||
task = tasks::lookup_resource_description(ontology.clone(), node)
|
||||
if !self.resource_descriptions.contains_key(&node) {
|
||||
if let Some(ontology) = &mut self.ontology {
|
||||
task = tasks::lookup_resource_description(ontology.clone(), node)
|
||||
}
|
||||
}
|
||||
}
|
||||
Message::CacheResourceDescription(node, description) => {
|
||||
|
||||
Reference in New Issue
Block a user