1   /*
2    * RDFpro - An extensible tool for building stream-oriented RDF processing libraries.
3    * 
4    * Written in 2015 by Francesco Corcoglioniti with support by Alessio Palmero Aprosio and Marco
5    * Rospocher. Contact info on http://rdfpro.fbk.eu/
6    * 
7    * To the extent possible under law, the authors have dedicated all copyright and related and
8    * neighboring rights to this software to the public domain worldwide. This software is
9    * distributed without any warranty.
10   * 
11   * You should have received a copy of the CC0 Public Domain Dedication along with this software.
12   * If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
13   */
14  package eu.fbk.rdfpro.vocab;
15  
16  import org.openrdf.model.Namespace;
17  import org.openrdf.model.URI;
18  import org.openrdf.model.impl.NamespaceImpl;
19  import org.openrdf.model.impl.ValueFactoryImpl;
20  
21  /**
22   * Constants for the RDFpro Rules (RR) vocabulary.
23   *
24   * @see <a href="http://rdfpro.fbk.eu/ontologies/rules">vocabulary specification</a>
25   */
26  public final class RR {
27  
28      /** Recommended prefix for the vocabulary namespace: "rr". */
29      public static final String PREFIX = "rr";
30  
31      /** Vocabulary namespace: "http://dkm.fbk.eu/rdfpro-rules#". */
32      public static final String NAMESPACE = "http://rdfpro.fbk.eu/ontologies/rules#";
33  
34      /** Immutable {@link Namespace} constant for the vocabulary namespace. */
35      public static final Namespace NS = new NamespaceImpl(PREFIX, NAMESPACE);
36  
37      // CLASSES
38  
39      /** Class rr:Rule. */
40      public static final URI RULE = createURI("Rule");
41  
42      /** Class rr:FixpointRule. */
43      public static final URI FIXPOINT_RULE = createURI("FixpointRule");
44  
45      /** Class rr:NonFixpointRule. */
46      public static final URI NON_FIXPOINT_RULE = createURI("NonFixpointRule");
47  
48      /** Class rr:StaticTerm. */
49      public static final URI META_VOCABULARY_TERM = createURI("MetaVocabularyTerm");
50  
51      // PROPERTIES
52  
53      /** Property rr:delete. */
54      public static final URI DELETE = createURI("delete");
55  
56      /** Property rr:insert. */
57      public static final URI INSERT = createURI("insert");
58  
59      /** Property rr:where. */
60      public static final URI WHERE = createURI("where");
61  
62      /** Property rr:where. */
63      public static final URI PHASE = createURI("phase");
64  
65      /** Property rr:head. */
66      public static final URI HEAD = createURI("head"); // alias for rr:insert
67  
68      /** Property rr:body. */
69      public static final URI BODY = createURI("body"); // alias for rr:where
70  
71      /** Property rr:prefix. */
72      public static final URI PREFIX_PROPERTY = createURI("prefix");
73  
74      // FUNCTIONS
75  
76      /** Function rr:mint. */
77      public static final URI MINT = createURI("mint");
78  
79      /** Function rr:compatibleDatatype. */
80      public static final URI COMPATIBLE_DATATYPE = createURI("compatibleDatatype");
81  
82      /** Function rr:starSelectGraph. */
83      public static final URI STAR_SELECT_GRAPH = createURI("starSelectGraph");
84  
85      // HELPER METHODS
86  
87      private static URI createURI(final String localName) {
88          return ValueFactoryImpl.getInstance().createURI(NAMESPACE, localName);
89      }
90  
91      private RR() {
92      }
93  
94  }