1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.apache.any23.vocab;
18
19 import org.eclipse.rdf4j.model.IRI;
20
21 /**
22 * This vocabulary describes model of the yaml file.
23 *
24 * @author Jacek Grzebyta (grzebyta.dev [at] gmail.com)
25 */
26 public class YAML extends Vocabulary {
27
28 /*
29 * Namespace of YAML vocabulary
30 */
31 public static final String NS = "http://yaml.org/spec/1.2/spec.html#";
32
33 public static final String PREFIX = "yaml";
34
35 public static final String ROOT = "Root";
36
37 public static final String DOCUMENT = "Document";
38
39 public static final String NODE = "Node";
40
41 public static final String SEQUENCE = "Sequence";
42
43 public static final String MAPPING = "Mapping";
44
45 public static final String CONTAINS = "contains";
46
47 public static final String NULL = "Null";
48
49 private static final YAML _instance = new YAML();
50
51 private YAML() {
52 super(NS);
53 }
54
55 public static YAML getInstance() {
56 return _instance;
57 }
58
59 // Resources
60 /**
61 * <p>
62 * The root node. Representation of the YAML file. NB: one file may contain more than one documents represented by
63 * nodes; e.g.
64 * </p>
65 * <p>
66 * <code>
67 * %YAML 1.2
68 * ---
69 * - data1
70 * - data2
71 * ---
72 * - data3
73 * </code>
74 * </p>
75 * Contains two documents.
76 */
77 public final IRI root = createClass(NS, ROOT);
78
79 public final IRI document = createClass(NS, DOCUMENT);
80
81 public final IRI node = createClass(NS, NODE);
82
83 public final IRI sequence = createClass(NS, SEQUENCE);
84
85 public final IRI mapping = createClass(NS, MAPPING);
86 // property
87 public final IRI contains = createProperty(NS, CONTAINS);
88
89 public final IRI nullValue = createProperty(NS, NULL);
90 }