lsp_core/feature/
parse.rs1use bevy_ecs::{prelude::*, schedule::ScheduleLabel};
2
3pub use crate::systems::{
4 derive_classes, derive_prefix_links, derive_properties, derive_shapes, extract_type_hierarchy,
5 fetch_lov_properties, infer_types,
6};
7use crate::{
8 client::Client,
9 systems::{check_added_ontology_extract, derive_owl_imports_links, open_imports},
10};
11
12pub fn triples() {}
14pub fn prefixes() {}
16
17#[derive(ScheduleLabel, Clone, Eq, PartialEq, Debug, Hash)]
19pub struct Label;
20
21pub fn setup_schedule<C: Client + Resource>(world: &mut World) {
22 let mut parse_schedule = bevy_ecs::schedule::Schedule::new(Label);
23 parse_schedule.add_systems((
24 prefixes,
25 triples,
26 derive_prefix_links.after(prefixes),
27 derive_owl_imports_links.after(triples),
28 derive_classes.after(triples),
29 derive_properties.after(triples),
30 fetch_lov_properties::<C>.after(prefixes),
31 extract_type_hierarchy.after(triples),
32 infer_types.after(triples),
33 derive_shapes.after(triples),
34 check_added_ontology_extract.after(triples),
35 open_imports::<C>.after(triples),
36 ));
37 world.add_schedule(parse_schedule);
38}