001/*
002 * Copyright 2015 DuraSpace, Inc.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.fcrepo.kernel.api;
017
018/**
019 * A collection of RDF contexts that can be used to extract triples from FedoraResources. All implementations of the
020 * Fedora kernel are required to support these {@link TripleCategory}s, but may choose to support others.
021 *
022 * @author acoburn
023 * @since Dec 4, 2015
024 */
025public enum RequiredRdfContext implements TripleCategory {
026
027    /* A Minimal representation of Rdf Triples */
028    MINIMAL,
029
030    /* User-created properties Context */
031    PROPERTIES,
032
033    /* Versions Context */
034    VERSIONS,
035
036    /* Fixity Context */
037    FIXITY,
038
039    /* fedora:EmbedResources Context: embedded child resources */
040    EMBED_RESOURCES,
041
042    /* fedora:InboundReferences Context: assertions from other Fedora resources */
043    INBOUND_REFERENCES,
044
045    /* fedora:ServerManaged Context: all server-managed triples */
046    SERVER_MANAGED,
047
048    /* fedora:PreferMembership Context: ldp membership triples */
049    LDP_MEMBERSHIP,
050
051    /* fedora:PreferContainment Context: ldp containment triples */
052    LDP_CONTAINMENT
053}
054