1   package eu.fbk.dkm.pikes.rdf.vocab;
2   
3   import java.util.Arrays;
4   import java.util.Collections;
5   import java.util.HashSet;
6   import java.util.Set;
7   
8   import eu.fbk.rdfpro.vocab.VOID;
9   import org.eclipse.rdf4j.model.IRI;
10  import org.eclipse.rdf4j.model.Namespace;
11  import org.eclipse.rdf4j.model.impl.SimpleNamespace;
12  import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
13  
14  /**
15   * Constants for the KEM Core vocabulary.
16   */
17  public class KEM {
18  
19      /** Recommended prefix for the vocabulary namespace: "kem". */
20      public static final String PREFIX = "kem";
21  
22      /** Vocabulary namespace: "http://knowledgestore.fbk.eu/ontologies/kem/core#". */
23      public static final String NAMESPACE = "http://knowledgestore.fbk.eu/ontologies/kem/core#";
24  
25      /** Immutable {@link Namespace} constant for the vocabulary namespace. */
26      public static final Namespace NS = new SimpleNamespace(PREFIX, NAMESPACE);
27  
28      // CLASSES
29  
30      /** Class kem:Graph. */
31      public static final IRI GRAPH = createIRI("Graph");
32  
33      /** Class kem:Mention. */
34      public static final IRI MENTION = createIRI("Mention");
35  
36      /** Class kem:Fragment. */
37      public static final IRI FRAGMENT = createIRI("Fragment");
38  
39      /** Class kem:Resource. */
40      public static final IRI RESOURCE = createIRI("Resource");
41  
42      /** Class kem:Annotation. */
43      public static final IRI ANNOTATION = createIRI("Annotation");
44  
45      /** Class kem:Instance. */
46      public static final IRI INSTANCE = createIRI("Instance");
47  
48      /** Class kem:SemanticAnnotation. */
49      public static final IRI SEMANTIC_ANNOTATION = createIRI("SemanticAnnotation");
50  
51      /** Class kem:CompositeFragment. */
52      public static final IRI COMPOSITE_FRAGMENT = createIRI("CompositeFragment");
53  
54      /** Class kem:CompositeResource. */
55      public static final IRI COMPOSITE_RESOURCE = createIRI("CompositeResource");
56  
57      // OBJECT PROPERTIES
58  
59      /** Object property kem:conveys. */
60      public static final IRI CONVEYS = createIRI("conveys");
61  
62      /** Object property kem:hasAnnotation. */
63      public static final IRI HAS_ANNOTATION = createIRI("hasAnnotation");
64  
65      /** Object property kem:substantiates. */
66      public static final IRI SUBSTANTIATES = createIRI("substantiates");
67  
68      /** Object property kem:fragmentOf. */
69      public static final IRI FRAGMENT_OF = createIRI("fragmentOf");
70  
71      /** Object property kem:hasPart. */
72      public static final IRI HAS_PART = createIRI("hasPart");
73  
74      /** Object property kem:hasComponent. */
75      public static final IRI HAS_COMPONENT = createIRI("hasComponent");
76  
77      /** Object property kem:hasResourceAnnotation. */
78      public static final IRI HAS_RESOURCE_ANNOTATION = createIRI("hasResourceAnnotation");
79  
80      /** Object property kem:involves. */
81      public static final IRI INVOLVES = createIRI("involves");
82  
83      /** Object property kem:involvesSubjectOf. */
84      public static final IRI INVOLVES_SUBJECT_OF = createIRI("involvesSubjectOf");
85  
86      /** Object property kem:subject. */
87      public static final IRI SUBJECT = createIRI("subject");
88  
89      /** Object property kem:involvesReferentOf. */
90      public static final IRI INVOLVES_REFERENT_OF = createIRI("involvesReferentOf");
91  
92      /** Object property kem:refersTo. */
93      public static final IRI REFERS_TO = createIRI("refersTo");
94  
95      /** Object property kem:isAbout. */
96      public static final IRI IS_ABOUT = createIRI("isAbout");
97  
98  
99      // ALL TERMS
100 
101     /** Set of terms defined in this vocabulary. */
102     public static Set<IRI> TERMS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(GRAPH,
103             MENTION, FRAGMENT, RESOURCE, ANNOTATION, INSTANCE, SEMANTIC_ANNOTATION,
104             COMPOSITE_FRAGMENT, COMPOSITE_RESOURCE, CONVEYS, HAS_ANNOTATION, SUBSTANTIATES,
105             FRAGMENT_OF, HAS_PART, HAS_COMPONENT, HAS_RESOURCE_ANNOTATION, INVOLVES,
106             INVOLVES_SUBJECT_OF, SUBJECT, INVOLVES_REFERENT_OF, REFERS_TO, IS_ABOUT)));
107 
108     // HELPER METHODS
109 
110     private static IRI createIRI(final String localName) {
111         return SimpleValueFactory.getInstance().createIRI(NAMESPACE, localName);
112     }
113 
114     private KEM() {
115     }
116 
117 }