001/*
002 * Licensed to DuraSpace under one or more contributor license agreements.
003 * See the NOTICE file distributed with this work for additional information
004 * regarding copyright ownership.
005 *
006 * DuraSpace licenses this file to you under the Apache License,
007 * Version 2.0 (the "License"); you may not use this file except in
008 * compliance with the License.  You may obtain a copy of the License at
009 *
010 *     http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018package org.fcrepo.kernel.modeshape;
019
020import static com.google.common.collect.ImmutableSet.of;
021import static org.apache.jena.rdf.model.ResourceFactory.createProperty;
022import static org.fcrepo.kernel.api.RdfLexicon.REPOSITORY_NAMESPACE;
023
024import java.util.Set;
025
026import org.apache.jena.rdf.model.Property;
027
028/**
029 * @author acoburn
030 */
031public final class RdfJcrLexicon {
032
033    /**
034     *  The core JCR namespace.
035     */
036    public static final String JCR_NAMESPACE = "http://www.jcp.org/jcr/1.0";
037
038    public static final String MODE_NAMESPACE = "http://www.modeshape.org/1.0";
039
040    public static final String MIX_NAMESPACE = "http://www.jcp.org/jcr/mix/1.0";
041
042    public static final String JCR_NT_NAMESPACE = "http://www.jcp.org/jcr/nt/1.0";
043
044    // IMPORTANT JCR PROPERTIES
045    public static final Property HAS_PRIMARY_IDENTIFIER =
046            createProperty(REPOSITORY_NAMESPACE + "uuid");
047    public static final Property HAS_PRIMARY_TYPE =
048            createProperty(REPOSITORY_NAMESPACE + "primaryType");
049    public static final Property HAS_NODE_TYPE =
050            createProperty(REPOSITORY_NAMESPACE + "hasNodeType");
051    public static final Property HAS_MIXIN_TYPE =
052            createProperty(REPOSITORY_NAMESPACE + "mixinTypes");
053
054    public static final Set<Property> jcrProperties = of(
055            HAS_PRIMARY_IDENTIFIER, HAS_PRIMARY_TYPE, HAS_NODE_TYPE,
056            HAS_MIXIN_TYPE);
057
058    private RdfJcrLexicon() {
059        // prevent instantiation
060    }
061}