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.rdf.impl; 019 020import org.apache.jena.rdf.model.Resource; 021 022import org.fcrepo.kernel.api.identifiers.IdentifierConverter; 023import org.fcrepo.kernel.api.models.FedoraResource; 024import org.slf4j.Logger; 025 026import static org.apache.jena.graph.NodeFactory.createURI; 027import static org.apache.jena.graph.Triple.create; 028import static org.apache.jena.vocabulary.RDF.type; 029 030import static org.slf4j.LoggerFactory.getLogger; 031 032/** 033 * @author cabeer 034 * @author ajs6f 035 * @since 10/1/14 036 */ 037public class TypeRdfContext extends NodeRdfContext { 038 private static final Logger LOGGER = getLogger(TypeRdfContext.class); 039 040 /** 041 * Default constructor. 042 * 043 * @param resource the resource 044 * @param idTranslator the id translator 045 */ 046 public TypeRdfContext(final FedoraResource resource, 047 final IdentifierConverter<Resource, FedoraResource> idTranslator) { 048 super(resource, idTranslator); 049 050 concat(resource.getTypes().stream().map(uri -> create(subject(), type.asNode(), createURI(uri.toString())))); 051 } 052}