Nepomuk
ontology.h
Go to the documentation of this file.
00001 /* This file is part of the Nepomuk-KDE libraries 00002 Copyright (c) 2007 Sebastian Trueg <trueg@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #ifndef _NEPOMUK_ONTOLOGY_H_ 00021 #define _NEPOMUK_ONTOLOGY_H_ 00022 00023 #include <QtCore/QList> 00024 #include <QtCore/QUrl> 00025 #include <QtCore/QString> 00026 #include <QtCore/QSharedData> 00027 00028 #include "entity.h" 00029 #include "nepomuk_export.h" 00030 00031 00032 namespace Nepomuk { 00033 namespace Types { 00034 00035 class Class; 00036 class Property; 00037 00045 class NEPOMUK_EXPORT Ontology : public Entity 00046 { 00047 public: 00051 Ontology(); 00052 00062 Ontology( const QUrl& uri ); 00063 00067 Ontology( const Ontology& ); 00068 00072 ~Ontology(); 00073 00074 Ontology& operator=( const Ontology& ); 00075 00079 QList<Class> allClasses(); 00080 00086 Class findClassByName( const QString& name ); 00087 00095 Class findClassByLabel( const QString& label, const QString& language = QString() ); 00096 00101 QList<Property> allProperties(); 00102 00108 Property findPropertyByName( const QString& name ); 00109 00117 Property findPropertyByLabel( const QString& label, const QString& language = QString() ); 00118 }; 00119 } 00120 } 00121 00122 00123 #ifndef DISABLE_NEPOMUK_LEGACY 00124 00125 namespace Nepomuk { 00126 00127 class Class; 00128 class Property; 00129 00135 class KDE_DEPRECATED NEPOMUK_EXPORT Ontology 00136 { 00137 public: 00141 Ontology(); 00142 00146 Ontology( const Ontology& ); 00147 00151 ~Ontology(); 00152 00153 Ontology& operator=( const Ontology& ); 00154 00158 QUrl uri() const; 00159 00163 QList<const Class*> allClasses() const; 00164 00170 const Class* findClassByName( const QString& name ) const; 00171 00179 const Class* findClassByLabel( const QString& label, const QString& language = QString() ) const; 00180 00186 const Class* findClassByUri( const QUrl& uri ) const; 00187 00192 QList<const Property*> allProperties() const; 00193 00199 const Property* findPropertyByName( const QString& name ) const; 00200 00208 const Property* findPropertyByLabel( const QString& label, const QString& language = QString() ) const; 00209 00215 const Property* findPropertyByUri( const QUrl& uri ) const; 00216 00226 static const Ontology* load( const QUrl& uri ); 00227 00228 private: 00229 class Private; 00230 QSharedDataPointer<Private> d; 00231 00232 friend class OntologyManager; 00233 }; 00234 } 00235 00236 #endif // DISABLE_NEPOMUK_LEGACY 00237 00238 #endif
KDE 4.6 API Reference