/** * SKOS.java * Copyright 2010 by Michael Peter Christen * First released 22.4.2010 at http://yacy.net * * This file is part of YaCy Content Integration * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program in the file COPYING.LESSER. * If not, see <http://www.gnu.org/licenses/>. */ package net.yacy.cider.vocabulary; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.rdf.model.Property; import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.shared.PrefixMapping; /** * SKOS - Simple Knowledge Organization System * Vocabulary for the SKOS classification scheme: http://www.w3.org/2004/02/skos/ * See also the SKOS primer: http://www.w3.org/TR/skos-primer/ * @author Michael Christen */ public class SKOS { // define models public static final String CORE_NS = "http://www.w3.org/2004/02/skos/core#"; private static Model core_model = ModelFactory.createDefaultModel(); public static final String MAPPING_NS = "http://www.w3.org/2004/02/skos/mapping#"; private static Model mapping_model = ModelFactory.createDefaultModel(); public static final String EXTENSIONS_NS = "http://www.w3.org/2004/02/skos/extensions#"; private static Model extensions_model = ModelFactory.createDefaultModel(); static { // extend the prefix mapping with short forms for the SKOS vocabulary PrefixMapping prefixMapping = ModelFactory.getDefaultModelPrefixes(); prefixMapping.setNsPrefix("skos", CORE_NS); prefixMapping.setNsPrefix("skos", MAPPING_NS); prefixMapping.setNsPrefix("skos", EXTENSIONS_NS); ModelFactory.setDefaultModelPrefixes(prefixMapping); } public static final Resource ConceptScheme = core_model.createResource(CORE_NS + "ConceptScheme"), Concept = core_model.createResource(CORE_NS + "Concept"), Collection = core_model.createResource(CORE_NS + "Collection"), CollectableProperty = core_model.createResource(CORE_NS + "CollectableProperty"), OrderedCollection = core_model.createResource(CORE_NS + "OrderedCollection"), AND = mapping_model.createResource(MAPPING_NS + "AND"), OR = mapping_model.createResource(MAPPING_NS + "OR"), NOT = mapping_model.createResource(MAPPING_NS + "NOT"); public static final Property // core vocabulary core_prefLabel = core_model.createProperty(CORE_NS, "prefLabel"), core_altLabel = core_model.createProperty(CORE_NS, "altLabel"), core_hiddenLabel = core_model.createProperty(CORE_NS, "hiddenLabel"), core_symbol = core_model.createProperty(CORE_NS, "symbol"), core_prefSymbol = core_model.createProperty(CORE_NS, "prefSymbol"), core_altSymbol = core_model.createProperty(CORE_NS, "altSymbol"), core_note = core_model.createProperty(CORE_NS, "note"), core_definition = core_model.createProperty(CORE_NS, "definition"), core_example = core_model.createProperty(CORE_NS, "example"), core_semanticRelation = core_model.createProperty(CORE_NS, "semanticRelation"), core_broader = core_model.createProperty(CORE_NS, "broader"), core_narrower = core_model.createProperty(CORE_NS, "narrower"), core_related = core_model.createProperty(CORE_NS, "related"), core_inScheme = core_model.createProperty(CORE_NS, "inScheme"), core_hasTopConcept = core_model.createProperty(CORE_NS, "hasTopConcept"), core_member = core_model.createProperty(CORE_NS, "member"), core_memberList = core_model.createProperty(CORE_NS, "memberList"), core_subject = core_model.createProperty(CORE_NS, "subject"), core_primarySubject = core_model.createProperty(CORE_NS, "primarySubject"), core_isSubjectOf = core_model.createProperty(CORE_NS, "isSubjectOf"), core_isPrimarySubjectOf = core_model.createProperty(CORE_NS, "isPrimarySubjectOf"), core_subjectIndicator = core_model.createProperty(CORE_NS, "subjectIndicator"), // mapping vocabulary mapping_mappingRelation = mapping_model.createProperty(MAPPING_NS, "mappingRelation"), mapping_exactMatch = mapping_model.createProperty(MAPPING_NS, "exactMatch"), mapping_broadMatch = mapping_model.createProperty(MAPPING_NS, "broadMatch"), mapping_majorMatch = mapping_model.createProperty(MAPPING_NS, "majorMatch"), mapping_minorMatch = mapping_model.createProperty(MAPPING_NS, "minorMatch"), mapping_narrowMatch = mapping_model.createProperty(MAPPING_NS, "narrowMatch"), // extensions vocabulary extensions_broaderGeneric = extensions_model.createProperty(EXTENSIONS_NS, "broaderGeneric"), extensions_broaderInstantive = extensions_model.createProperty(EXTENSIONS_NS, "broaderInstantive"), extensions_broaderPartitive = extensions_model.createProperty(EXTENSIONS_NS, "broaderPartitive"), extensions_narrowerGeneric = extensions_model.createProperty(EXTENSIONS_NS, "narrowerGeneric"), extensions_narrowerInstantive = extensions_model.createProperty(EXTENSIONS_NS, "narrowerInstantive"), extensions_narrowerPartitive = extensions_model.createProperty(EXTENSIONS_NS, "narrowerPartitive"), extensions_relatedHasPart = extensions_model.createProperty(EXTENSIONS_NS, "relatedHasPart"), extensions_relatedPartOf = extensions_model.createProperty(EXTENSIONS_NS, "relatedPartOf"); }