1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4#[serde(rename_all = "snake_case")]
5pub enum GraphNeighborMode {
6 Children,
7 Parents,
8 Outgoing,
9 Incoming,
10 Neighborhood,
11}
12
13#[derive(Debug, Clone, Default, Serialize, Deserialize)]
14pub struct GraphFindQuery {
15 #[serde(default, skip_serializing_if = "Option::is_none")]
16 pub label_regex: Option<String>,
17 #[serde(default, skip_serializing_if = "Option::is_none")]
18 pub content_type: Option<String>,
19 #[serde(default, skip_serializing_if = "Option::is_none")]
20 pub semantic_role_regex: Option<String>,
21 #[serde(default, skip_serializing_if = "Option::is_none")]
22 pub tag_regex: Option<String>,
23 #[serde(default)]
24 pub case_sensitive: bool,
25 #[serde(default, skip_serializing_if = "Option::is_none")]
26 pub limit: Option<usize>,
27}