001/**
002 * Copyright (C) 2007 - 2016, Jens Lehmann
003 *
004 * This file is part of DL-Learner.
005 *
006 * DL-Learner is free software; you can redistribute it and/or modify
007 * it under the terms of the GNU General Public License as published by
008 * the Free Software Foundation; either version 3 of the License, or
009 * (at your option) any later version.
010 *
011 * DL-Learner is distributed in the hope that it will be useful,
012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014 * GNU General Public License for more details.
015 *
016 * You should have received a copy of the GNU General Public License
017 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
018 */
019package org.dllearner.kb.aquisitors;
020
021import org.apache.jena.graph.Node;
022import org.apache.jena.rdf.model.Literal;
023import org.apache.jena.rdf.model.Model;
024import org.apache.jena.rdf.model.RDFNode;
025import org.apache.jena.rdf.model.RDFVisitor;
026import org.apache.jena.rdf.model.Resource;
027
028/**
029 * This class is used to save disambiguated information for a blankNode in an RDF
030 * Graph. It is used to silently transport the info to the layer above.
031 * 
032 * @author Sebastian Hellmann
033 *
034 */
035public class RDFBlankNode implements RDFNode {
036        
037        
038        private RDFNode blankNode;
039        private int bNodeId;
040                
041        public RDFBlankNode(int id, RDFNode blankNode) {
042                super();
043                this.bNodeId = id;
044                this.blankNode = blankNode;
045        }
046        
047        public int getBNodeId(){
048                return bNodeId;
049        }
050        
051        
052        @Override
053        public String toString(){
054                //RBC
055                return "bnodeid: "+bNodeId+" ||"+blankNode;
056        }
057        
058        // overidden Functions
059        @SuppressWarnings("all")
060        public RDFNode as(Class view) {
061                
062                return blankNode.as(view);
063        }
064
065        @SuppressWarnings("all")
066        public boolean canAs(Class view) {
067                
068                return blankNode.canAs(view);
069        }
070
071        @Override
072        public RDFNode inModel(Model m) {
073                
074                return blankNode.inModel(m);
075        }
076
077        @Override
078        public boolean isAnon() {
079                
080                return blankNode.isAnon();
081        }
082
083        @Override
084        public boolean isLiteral() {
085                
086                return blankNode.isLiteral();
087        }
088
089        @Override
090        public boolean isResource() {
091                
092                return blankNode.isResource();
093        }
094
095        @Override
096        public boolean isURIResource() {
097                
098                return blankNode.isURIResource();
099        }
100
101        @Override
102        public Object visitWith(RDFVisitor rv) {
103                
104                return blankNode.visitWith(rv);
105        }
106
107        @Override
108        public Node asNode() {
109                
110                return blankNode.asNode();
111        }
112
113    /**
114     *{@inheritDoc}
115     */
116    @Override
117    public Model getModel() {
118        return blankNode.getModel();
119    }
120
121    /**
122     *{@inheritDoc}
123     */
124    @Override
125    public Resource asResource() {
126        return blankNode.asResource();
127    }
128
129    /**
130     *{@inheritDoc}
131     */
132    @Override
133    public Literal asLiteral() {
134        return blankNode.asLiteral();
135    }
136}