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.algorithms.qtl.filters;
020
021import java.util.ArrayList;
022import java.util.List;
023
024import org.semanticweb.owlapi.vocab.SKOSVocabulary;
025
026import org.apache.jena.sparql.vocabulary.FOAF;
027import org.apache.jena.vocabulary.RDFS;
028
029public class Filters {
030        
031        public static List<String> getSkosFilterProperties(){
032                List<String> filters = new ArrayList<>();
033                
034//              filters.add(SKOSVocabulary.COMMENT.getIRI().toString());
035                filters.add(SKOSVocabulary.DEFINITION.getIRI().toString());
036                filters.add(SKOSVocabulary.PREFLABEL.getIRI().toString());
037                filters.add(SKOSVocabulary.ALTLABEL.getIRI().toString());
038                
039                return filters;
040        }
041        
042        public static List<String> getRDFSFilterProperties(){
043                List<String> filters = new ArrayList<>();
044                
045                filters.add(RDFS.comment.toString());
046                filters.add(RDFS.label.toString());
047                filters.add(RDFS.isDefinedBy.toString());
048                filters.add(RDFS.seeAlso.toString());
049                
050                return filters;
051        }
052        
053        public static List<String> getDBPediaFilterProperties(){
054                List<String> filters = new ArrayList<>();
055                
056                filters.add("http://dbpedia.org/property/pageId");
057                filters.add("http://dbpedia.org/property/revisionId");
058                filters.add("http://dbpedia.org/ontology/abstract");
059                filters.add("http://dbpedia.org/ontology/thumbnail");
060                filters.add("http://dbpedia.org/property/wikiPageUsesTemplate");
061                
062                return filters;
063        }
064        
065        public static List<String> getFOAFFilterProperties(){
066                List<String> filters = new ArrayList<>();
067                
068                filters.add(FOAF.page.toString());
069                filters.add(FOAF.homepage.toString());
070                filters.add(FOAF.depiction.toString());
071                filters.add(FOAF.Image.toString());
072                filters.add(FOAF.familyName.toString());
073                filters.add(FOAF.birthday.toString());
074                filters.add(FOAF.name.toString());
075                filters.add(FOAF.firstName.toString());
076//              filters.add(FOAF.givenname.toString());
077                filters.add(FOAF.primaryTopic.toString());
078                
079                return filters;
080        }
081        
082        public static List<String> getPurlFilterProperties(){
083                List<String> filters = new ArrayList<>();
084                
085                filters.add("http://purl.org/dc/elements/1.1/language");
086                filters.add("http://purl.org/dc/elements/1.1/rights");
087                        
088                return filters;
089        }
090        
091        public static List<String> getAllFilterProperties(){
092                List<String> filters = new ArrayList<>();
093                
094                filters.addAll(Filters.getDBPediaFilterProperties());
095                filters.addAll(Filters.getSkosFilterProperties());
096                filters.addAll(Filters.getRDFSFilterProperties());
097                filters.addAll(Filters.getPurlFilterProperties());
098                filters.addAll(Filters.getFOAFFilterProperties());
099                
100                return filters;
101        }
102
103}