Nepomuk
ontology.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
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