1   /*
2    * RDFpro - An extensible tool for building stream-oriented RDF processing libraries.
3    * 
4    * Written in 2014 by Francesco Corcoglioniti with support by Marco Amadori, Michele Mostarda,
5    * Alessio Palmero Aprosio and Marco 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 java.util.Arrays;
17  import java.util.Collections;
18  import java.util.HashSet;
19  import java.util.Set;
20  
21  import org.openrdf.model.Namespace;
22  import org.openrdf.model.URI;
23  import org.openrdf.model.impl.NamespaceImpl;
24  import org.openrdf.model.impl.ValueFactoryImpl;
25  
26  /**
27   * Constants for the VOID Extension (VOIDX) vocabulary.
28   *
29   * @see <a href="http://rdfpro.fbk.eu/ontologies/voidx">vocabulary specification</a>
30   */
31  public final class VOIDX {
32  
33      /** Recommended prefix for the vocabulary namespace: "voidx". */
34      public static final String PREFIX = "voidx";
35  
36      /** Vocabulary namespace: "http://rdfpro.fbk.eu/ontologies/voidx#". */
37      public static final String NAMESPACE = "http://rdfpro.fbk.eu/ontologies/voidx#";
38  
39      /** Immutable {@link Namespace} constant for the vocabulary namespace. */
40      public static final Namespace NS = new NamespaceImpl(PREFIX, NAMESPACE);
41  
42      // PROPERTIES
43  
44      /** Property voidx:label. */
45      public static final URI LABEL = createURI("label");
46  
47      /** Property voidx:example. */
48      public static final URI EXAMPLE = createURI("example");
49  
50      /** Property voidx:type. */
51      public static final URI TYPE = createURI("type");
52  
53      /** Property voidx:source. */
54      public static final URI SOURCE = createURI("source");
55  
56      /** Property voidx:globalStats. */
57      public static final URI GLOBAL_STATS = createURI("globalStats");
58  
59      /** Property voidx:sourceStats. */
60      public static final URI SOURCE_STATS = createURI("sourceStats");
61  
62      /** Property voidx:tboxTriples. */
63      public static final URI TBOX_TRIPLES = createURI("tboxTriples");
64  
65      /** Property voidx:aboxTriples. */
66      public static final URI ABOX_TRIPLES = createURI("aboxTriples");
67  
68      /** Property voidx:typeTriples. */
69      public static final URI TYPE_TRIPLES = createURI("typeTriples");
70  
71      /** Property voidx:sameAsTriples. */
72      public static final URI SAME_AS_TRIPLES = createURI("sameAsTriples");
73  
74      /** Property voidx:averageProperties. */
75      public static final URI AVERAGE_PROPERTIES = createURI("averageProperties");
76  
77      // ALL TERMS
78  
79      public static Set<URI> TERMS = Collections.unmodifiableSet(new HashSet<URI>(Arrays.asList(
80              LABEL, EXAMPLE, TYPE, SOURCE, GLOBAL_STATS, SOURCE_STATS, TBOX_TRIPLES, ABOX_TRIPLES,
81              TYPE_TRIPLES, SAME_AS_TRIPLES, AVERAGE_PROPERTIES)));
82  
83      // HELPER METHODS
84  
85      private static URI createURI(final String localName) {
86          return ValueFactoryImpl.getInstance().createURI(NAMESPACE, localName);
87      }
88  
89      private VOIDX() {
90      }
91  
92  }