Skip to main content

rudof_rdf/rdf_core/vocabs/
shacl_node_expression.rs

1use crate::rdf_core::vocabs::RdfVocabulary;
2use crate::vocab_term;
3
4pub struct ShaclNodeExprVocab;
5
6impl RdfVocabulary for ShaclNodeExprVocab {
7    const BASE: &'static str = "http://www.w3.org/ns/shacl-node-expr#";
8}
9
10// Basic Node Expressions
11vocab_term!(ShaclNodeExprVocab, SHNEX_VAR, "var");
12vocab_term!(ShaclNodeExprVocab, SHNEX_PATH_VALUES, "pathValues");
13vocab_term!(ShaclNodeExprVocab, SHNEX_FOCUS_NODE, "focusNode");
14vocab_term!(ShaclNodeExprVocab, SHNEX_EXISTS, "exists");
15vocab_term!(ShaclNodeExprVocab, SHNEX_IF, "if");
16vocab_term!(ShaclNodeExprVocab, SHNEX_THEN, "then");
17vocab_term!(ShaclNodeExprVocab, SHNEX_ELSE, "else");
18
19// List Operator Expressions
20vocab_term!(ShaclNodeExprVocab, SHNEX_DISTINCT, "distinct");
21vocab_term!(ShaclNodeExprVocab, SHNEX_INTERSECTION, "intersection");
22vocab_term!(ShaclNodeExprVocab, SHNEX_CONCAT, "concat");
23vocab_term!(ShaclNodeExprVocab, SHNEX_REMOVE, "remove");
24vocab_term!(ShaclNodeExprVocab, SHNEX_FILTER_SHAPE, "filterShape");
25vocab_term!(ShaclNodeExprVocab, SHNEX_LIMIT, "limit");
26vocab_term!(ShaclNodeExprVocab, SHNEX_OFFSET, "offset");
27
28// Advanced Sequence Operations
29vocab_term!(ShaclNodeExprVocab, SHNEX_FLAT_MAP, "flatMap");
30vocab_term!(ShaclNodeExprVocab, SHNEX_FIND_FIRST, "findFirst");
31vocab_term!(ShaclNodeExprVocab, SHNEX_MATCH_ALL, "matchAll");
32
33// Aggregation Expressions
34vocab_term!(ShaclNodeExprVocab, SHNEX_COUNT, "count");
35vocab_term!(ShaclNodeExprVocab, SHNEX_MIN, "min");
36vocab_term!(ShaclNodeExprVocab, SHNEX_MAX, "max");
37vocab_term!(ShaclNodeExprVocab, SHNEX_SUM, "sum");
38
39// Miscellaneous Node Expressions
40vocab_term!(ShaclNodeExprVocab, SHNEX_INSTANCES_OF, "instancesOf");
41vocab_term!(ShaclNodeExprVocab, SHNEX_NODES_MATCHING, "nodesMatching");
42
43vocab_term!(ShaclNodeExprVocab, SHNEX_NODES, "nodes");