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.api;
019
020/**
021 * A collection of RDF contexts that can be used to extract triples from FedoraResources. All implementations of the
022 * Fedora kernel are required to support these {@link TripleCategory}s, but may choose to support others.
023 *
024 * @author acoburn
025 * @since Dec 4, 2015
026 */
027public enum RequiredRdfContext implements TripleCategory {
028
029    /* A Minimal representation of Rdf Triples */
030    MINIMAL,
031
032    /* User-created properties Context */
033    PROPERTIES,
034
035    /* Versions Context */
036    VERSIONS,
037
038    /* Fixity Context */
039    FIXITY,
040
041    /* fedora:EmbedResources Context: embedded child resources */
042    EMBED_RESOURCES,
043
044    /* fedora:InboundReferences Context: assertions from other Fedora resources */
045    INBOUND_REFERENCES,
046
047    /* fedora:ServerManaged Context: all server-managed triples */
048    SERVER_MANAGED,
049
050    /* fedora:PreferMembership Context: ldp membership triples */
051    LDP_MEMBERSHIP,
052
053    /* fedora:PreferContainment Context: ldp containment triples */
054    LDP_CONTAINMENT
055}
056