1 /* This file is part of the KDE semantic clipboard
2 Copyright (C) 2008 Tobias Wolf <twolf@access.unizh.ch>
3 Copyright (C) 2008 Sebastian Trueg <trueg@kde.org>
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
21 #ifndef _NEPOMUK_GRAPHRETRIEVER_H_
22 #define _NEPOMUK_GRAPHRETRIEVER_H_
31 class StatementIterator
;
41 * \class GraphRetriever graphretriever.h <nepomuk/graphretriever.h>
43 * \brief Utility class for retrieving RDF graphs from Web locations.
45 * GraphRetriever allows retrieval of multiple RDF graph fragments from
46 * the Web using HTTP GET. Target HTTP servers should support the RDF+XML
47 * request MIME type for this to work.
49 * Clients can queue multiple get requests and must follow the last get
50 * request with a call to either model() or serialization().
52 * \author Tobias Wolf <twolf@access.unizh.ch>
54 class GraphRetriever
: public KJob
60 * Custom and default constructor.
62 * @param parent The parent QObject.
64 GraphRetriever( QObject
* parent
= 0 );
71 static GraphRetriever
* retrieve( const QUrl
& uri
);
73 void setUrl( const QUrl
& url
);
78 * Adds a get request for the given URL.
80 * @param url An URL specifying the location of a graph fragment to get.
81 * @return True if the get request was accepted, false otherwise.
86 * Returns a new Soprano model constructed from the retrieved graph fragments. The
87 * client takes over ownership of the returned model.
89 * @return A new Soprano model constructed from the merged fragments.
91 Soprano::Model
* model() const;
93 Soprano::StatementIterator
statements() const;
99 void httpRequestFinished( KJob
* );