diff --git a/publish/src/app.rs b/publish/src/app.rs index 413405a..589df19 100644 --- a/publish/src/app.rs +++ b/publish/src/app.rs @@ -320,7 +320,15 @@ impl Publisher { if let Some(search_state) = &mut self.search_state { let type_ = match search_state.action { SearchResultClickAction::Predicate(_) => self.ontology.catalog_id(&rdf::PROPERTY.into_owned()), - SearchResultClickAction::Object(_) => self.ontology.catalog_id(&rdfs::CLASS.into_owned()), + SearchResultClickAction::Object(key) => { + self.document + .dataset() + .quads + .get(key) + .and_then(|quad| if quad.predicate == rdf::TYPE { + self.ontology.catalog_id(&rdfs::CLASS.into_owned()) + } else { None }) + }, SearchResultClickAction::URLInput => None, };