oxrdf/
vocab.rs

1//! Provides ready to use [`NamedNodeRef`](super::NamedNodeRef)s for basic RDF vocabularies.
2
3pub mod rdf {
4    //! [RDF](https://www.w3.org/TR/rdf11-concepts/) vocabulary.
5    use crate::named_node::NamedNodeRef;
6
7    /// The class of containers of alternatives.
8    pub const ALT: NamedNodeRef<'_> =
9        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt");
10    /// The class of unordered containers.
11    pub const BAG: NamedNodeRef<'_> =
12        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag");
13    /// The first item in the subject RDF list.
14    pub const FIRST: NamedNodeRef<'_> =
15        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#first");
16    /// The class of HTML literal values.
17    pub const HTML: NamedNodeRef<'_> =
18        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML");
19    /// The class of language-tagged string literal values.
20    pub const LANG_STRING: NamedNodeRef<'_> =
21        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString");
22    /// The class of RDF lists.
23    pub const LIST: NamedNodeRef<'_> =
24        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#List");
25    /// The empty list.
26    pub const NIL: NamedNodeRef<'_> =
27        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#nil");
28    /// The object of the subject RDF statement.
29    pub const OBJECT: NamedNodeRef<'_> =
30        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#object");
31    /// The predicate of the subject RDF statement.
32    pub const PREDICATE: NamedNodeRef<'_> =
33        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate");
34    /// The class of RDF properties.
35    pub const PROPERTY: NamedNodeRef<'_> =
36        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#Property");
37    /// The rest of the subject RDF list after the first item.
38    pub const REST: NamedNodeRef<'_> =
39        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#rest");
40    /// The class of ordered containers.
41    pub const SEQ: NamedNodeRef<'_> =
42        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq");
43    /// The class of RDF statements.
44    pub const STATEMENT: NamedNodeRef<'_> =
45        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement");
46    /// The subject of the subject RDF statement.
47    pub const SUBJECT: NamedNodeRef<'_> =
48        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#subject");
49    /// The subject is an instance of a class.
50    pub const TYPE: NamedNodeRef<'_> =
51        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#type");
52    /// Idiomatic property used for structured values.
53    pub const VALUE: NamedNodeRef<'_> =
54        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#value");
55    /// The class of XML literal values.
56    pub const XML_LITERAL: NamedNodeRef<'_> =
57        NamedNodeRef::new_unchecked("http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral");
58}
59
60pub mod rdfs {
61    //! [RDFS](https://www.w3.org/TR/rdf-schema/) vocabulary.
62    use crate::named_node::NamedNodeRef;
63
64    /// The class of classes.
65    pub const CLASS: NamedNodeRef<'_> =
66        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#Class");
67    /// A description of the subject resource.
68    pub const COMMENT: NamedNodeRef<'_> =
69        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#comment");
70    /// The class of RDF containers.
71    pub const CONTAINER: NamedNodeRef<'_> =
72        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#Container");
73    /// The class of container membership properties, `rdf:_1`, `rdf:_2`, ..., all of which are sub-properties of `member`.
74    pub const CONTAINER_MEMBERSHIP_PROPERTY: NamedNodeRef<'_> = NamedNodeRef::new_unchecked(
75        "http://www.w3.org/2000/01/rdf-schema#ContainerMembershipProperty",
76    );
77    /// The class of RDF datatypes.
78    pub const DATATYPE: NamedNodeRef<'_> =
79        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#Datatype");
80    /// A domain of the subject property.
81    pub const DOMAIN: NamedNodeRef<'_> =
82        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#domain");
83    /// The definition of the subject resource.
84    pub const IS_DEFINED_BY: NamedNodeRef<'_> =
85        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#isDefinedBy");
86    /// A human-readable name for the subject.
87    pub const LABEL: NamedNodeRef<'_> =
88        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#label");
89    /// The class of literal values, e.g. textual strings and integers.
90    pub const LITERAL: NamedNodeRef<'_> =
91        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#Literal");
92    /// A member of the subject resource.
93    pub const MEMBER: NamedNodeRef<'_> =
94        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#member");
95    /// A range of the subject property.
96    pub const RANGE: NamedNodeRef<'_> =
97        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#range");
98    /// The class resource, everything.
99    pub const RESOURCE: NamedNodeRef<'_> =
100        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#Resource");
101    /// Further information about the subject resource.
102    pub const SEE_ALSO: NamedNodeRef<'_> =
103        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#seeAlso");
104    /// The subject is a subclass of a class.
105    pub const SUB_CLASS_OF: NamedNodeRef<'_> =
106        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#subClassOf");
107    /// The subject is a subproperty of a property.
108    pub const SUB_PROPERTY_OF: NamedNodeRef<'_> =
109        NamedNodeRef::new_unchecked("http://www.w3.org/2000/01/rdf-schema#subPropertyOf");
110}
111
112pub mod xsd {
113    //! [RDF compatible XSD datatypes](https://www.w3.org/TR/rdf11-concepts/#dfn-rdf-compatible-xsd-types).
114    use crate::named_node::NamedNodeRef;
115
116    /// Absolute or relative URIs and IRIs.
117    pub const ANY_URI: NamedNodeRef<'_> =
118        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#anyURI");
119    /// Base64-encoded binary data.
120    pub const BASE_64_BINARY: NamedNodeRef<'_> =
121        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#base64Binary");
122    /// true, false.
123    pub const BOOLEAN: NamedNodeRef<'_> =
124        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#boolean");
125    /// 128…+127 (8 bit).
126    pub const BYTE: NamedNodeRef<'_> =
127        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#byte");
128    /// Dates (yyyy-mm-dd) with or without timezone.
129    pub const DATE: NamedNodeRef<'_> =
130        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#date");
131    /// Duration of time (days, hours, minutes, seconds only).
132    pub const DAY_TIME_DURATION: NamedNodeRef<'_> =
133        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#dayTimeDuration");
134    /// Date and time with or without timezone.
135    pub const DATE_TIME: NamedNodeRef<'_> =
136        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#dateTime");
137    /// Date and time with required timezone.
138    pub const DATE_TIME_STAMP: NamedNodeRef<'_> =
139        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#dateTimeStamp");
140    /// Arbitrary-precision decimal numbers.
141    pub const DECIMAL: NamedNodeRef<'_> =
142        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#decimal");
143    /// 64-bit floating point numbers incl. ±Inf, ±0, NaN.
144    pub const DOUBLE: NamedNodeRef<'_> =
145        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#double");
146    /// Duration of time.
147    pub const DURATION: NamedNodeRef<'_> =
148        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#duration");
149    /// 32-bit floating point numbers incl. ±Inf, ±0, NaN.
150    pub const FLOAT: NamedNodeRef<'_> =
151        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#float");
152    /// Gregorian calendar day of the month.
153    pub const G_DAY: NamedNodeRef<'_> =
154        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#gDay");
155    /// Gregorian calendar month.
156    pub const G_MONTH: NamedNodeRef<'_> =
157        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#gMonth");
158    /// Gregorian calendar month and day.
159    pub const G_MONTH_DAY: NamedNodeRef<'_> =
160        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#gMonthDay");
161    /// Gregorian calendar year.
162    pub const G_YEAR: NamedNodeRef<'_> =
163        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#gYear");
164    /// Gregorian calendar year and month.
165    pub const G_YEAR_MONTH: NamedNodeRef<'_> =
166        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#gYearMonth");
167    /// Hex-encoded binary data.
168    pub const HEX_BINARY: NamedNodeRef<'_> =
169        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#hexBinary");
170    /// -2147483648…+2147483647 (32 bit).
171    pub const INT: NamedNodeRef<'_> =
172        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#int");
173    /// Arbitrary-size integer numbers.
174    pub const INTEGER: NamedNodeRef<'_> =
175        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#integer");
176    /// Language tags per [BCP47](http://tools.ietf.org/html/bcp47).
177    pub const LANGUAGE: NamedNodeRef<'_> =
178        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#language");
179    /// -9223372036854775808…+9223372036854775807 (64 bit).
180    pub const LONG: NamedNodeRef<'_> =
181        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#long");
182    /// XML Names.
183    pub const NAME: NamedNodeRef<'_> =
184        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#Name");
185    /// XML NCName.
186    pub const NC_NAME: NamedNodeRef<'_> =
187        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#NCName");
188    /// Integer numbers <0.
189    pub const NEGATIVE_INTEGER: NamedNodeRef<'_> =
190        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#negativeInteger");
191    /// XML NMTOKENs.
192    pub const NMTOKEN: NamedNodeRef<'_> =
193        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#NMTOKEN");
194    /// Integer numbers ≥0.
195    pub const NON_NEGATIVE_INTEGER: NamedNodeRef<'_> =
196        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#nonNegativeInteger");
197    /// Integer numbers ≤0.
198    pub const NON_POSITIVE_INTEGER: NamedNodeRef<'_> =
199        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#nonPositiveInteger");
200    /// Whitespace-normalized strings.
201    pub const NORMALIZED_STRING: NamedNodeRef<'_> =
202        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#normalizedString");
203    /// Integer numbers >0.
204    pub const POSITIVE_INTEGER: NamedNodeRef<'_> =
205        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#positiveInteger");
206    /// Times (hh:mm:ss.sss…) with or without timezone.
207    pub const TIME: NamedNodeRef<'_> =
208        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#time");
209    /// -32768…+32767 (16 bit).
210    pub const SHORT: NamedNodeRef<'_> =
211        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#short");
212    /// Character strings (but not all Unicode character strings).
213    pub const STRING: NamedNodeRef<'_> =
214        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#string");
215    /// Tokenized strings.
216    pub const TOKEN: NamedNodeRef<'_> =
217        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#token");
218    /// 0…255 (8 bit).
219    pub const UNSIGNED_BYTE: NamedNodeRef<'_> =
220        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#unsignedByte");
221    /// 0…4294967295 (32 bit).
222    pub const UNSIGNED_INT: NamedNodeRef<'_> =
223        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#unsignedInt");
224    /// 0…18446744073709551615 (64 bit).
225    pub const UNSIGNED_LONG: NamedNodeRef<'_> =
226        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#unsignedLong");
227    /// 0…65535 (16 bit).
228    pub const UNSIGNED_SHORT: NamedNodeRef<'_> =
229        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#unsignedShort");
230    /// Duration of time (months and years only).
231    pub const YEAR_MONTH_DURATION: NamedNodeRef<'_> =
232        NamedNodeRef::new_unchecked("http://www.w3.org/2001/XMLSchema#yearMonthDuration");
233}
234
235pub mod geosparql {
236    //! [GeoSpatial](https://opengeospatial.github.io/ogc-geosparql/) vocabulary.
237    use crate::named_node::NamedNodeRef;
238
239    /// Geospatial datatype like `"Point({longitude} {latitude})"^^geo:wktLiteral`
240    pub const WKT_LITERAL: NamedNodeRef<'_> =
241        NamedNodeRef::new_unchecked("http://www.opengis.net/ont/geosparql#wktLiteral");
242}