1
/* This file is part of the KDE Project
2
Copyright (c) 2007-2010 Sebastian Trueg <trueg@kde.org>
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Library General Public
6
License version 2 as published by the Free Software Foundation.
8
This library is distributed in the hope that it will be useful,
9
but WITHOUT ANY WARRANTY; without even the implied warranty of
10
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
Library General Public License for more details.
13
You should have received a copy of the GNU Library General Public License
14
along with this library; see the file COPYING.LIB. If not, write to
15
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16
Boston, MA 02110-1301, USA.
19
#ifndef _NEPOMUK_SERVER_ONTOLOGY_LOADER_H_
20
#define _NEPOMUK_SERVER_ONTOLOGY_LOADER_H_
22
#include <QtCore/QObject>
23
#include <QtCore/QUrl>
32
// Hint: Using QString instead of QUrl for URIs since this API will be exported via DBus and not used otherwise
34
class OntologyLoader : public QObject
39
OntologyLoader( Soprano::Model* model, QObject* parent = 0 );
44
* Tries to find the ontology \p uri in the local Nepomuk store.
45
* \return The context (named graph) storing the ontology's statements
46
* or an invalid URI if the ontology could not be found.
48
QString findOntologyContext( const QString& uri );
51
* Update all installed ontologies that changed since the last update.
53
void updateLocalOntologies();
56
* Update all installed ontologies, independently of their status.
58
void updateAllLocalOntologies();
61
* Try to retrieve an ontology from the web.
62
* On success ontologyUpdated will be emitted. If the
63
* retrieval failed, ontologyUpdateFailed will be
66
void importOntology( const QString& url );
70
* Emitted once the update of the ontologies is done.
71
* This signal is emitted whenever the ontologies change
72
* and needed updating.
74
void ontologyLoadingFinished( Nepomuk::OntologyLoader* );
77
* Emitted once an ontology has been updated. This holds for both
78
* locally installed ontology files (which are read automaticall)
79
* and those retrieved from the web via importOntology
81
void ontologyUpdated( const QString& uri );
84
* Emitted if updating an ontology failed. This holds for both
85
* locally installed ontology files (parsing may fail) and for
86
* those imported via importOntology.
88
void ontologyUpdateFailed( const QString& uri, const QString& error );
91
// a little async updating
92
void updateNextOntology();
93
void slotGraphRetrieverResult( KJob* job );