1 /*
2 * Copyright 2018-2022 Medical Information Systems Research Group (https://medical.zcu.cz),
3 * Department of Computer Science and Engineering, University of West Bohemia.
4 * Address: Univerzitni 8, 306 14 Plzen, Czech Republic.
5 *
6 * Author Petr Vcelak (vcelak@kiv.zcu.cz).
7 *
8 * This file is part of MRECore project.
9 *
10 * MRECore is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation, either version 3 of the License.
13 *
14 * MRECore is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with MRECore. If not, see <http://www.gnu.org/licenses/>.
21 */
22 package cz.zcu.mre.service.data;
23
24 import java.util.List;
25 import java.util.Map;
26 import org.apache.jena.ontology.OntClass;
27 import org.apache.jena.ontology.OntModel;
28 import org.apache.jena.ontology.OntProperty;
29 import org.apache.jena.util.iterator.ExtendedIterator;
30
31 /**
32 * Ontology Service.
33 *
34 * @author Petr Vcelak (vcelak@kiv.zcu.cz)
35 */
36 public interface OntologyService {
37
38 /**
39 * Get Ontology model.
40 *
41 * @return Ontology model.
42 */
43 OntModel getOntology();
44
45 Map<OntProperty, String> mapOfPropertyAndLabel(String prefLanguages);
46
47 Map<String, String> mapOfLocalNameAndLabel(String prefLanguage);
48
49 /**
50 * Get list of all vocabularies.
51 *
52 * @return List of vocabularies
53 */
54 List<OntClass> getVocabularyList();
55
56 ExtendedIterator<OntProperty> listProperties(OntClass ontClass);
57
58 ExtendedIterator<OntProperty> listProperties();
59
60 }