1 /* This file is part of the KDE Project
2 Copyright (c) 2007 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 <Nepomuk/Service>
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 Nepomuk::Service
39 OntologyLoader( QObject
* parent
= 0, const QList
<QVariant
>& args
= QList
<QVariant
>() );
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 an ontology has been updated. This holds for both
71 * locally installed ontology files (which are read automaticall)
72 * and those retrieved from the web via importOntology
74 void ontologyUpdated( const QString
& uri
);
77 * Emitted if updating an ontology failed. This holds for both
78 * locally installed ontology files (parsing may fail) and for
79 * those imported via importOntology.
81 void ontologyUpdateFailed( const QString
& uri
, const QString
& error
);
84 // a little async updating
85 void updateNextOntology();
86 void slotGraphRetrieverResult( KJob
* job
);