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
00124 namespace Nepomuk {
00125
00126 class Class;
00127 class Property;
00128
00134 class KDE_DEPRECATED NEPOMUK_EXPORT Ontology
00135 {
00136 public:
00140 Ontology();
00141
00145 Ontology( const Ontology& );
00146
00150 ~Ontology();
00151
00152 Ontology& operator=( const Ontology& );
00153
00157 QUrl uri() const;
00158
00162 QList<const Class*> allClasses() const;
00163
00169 const Class* findClassByName( const QString& name ) const;
00170
00178 const Class* findClassByLabel( const QString& label, const QString& language = QString() ) const;
00179
00185 const Class* findClassByUri( const QUrl& uri ) const;
00186
00191 QList<const Property*> allProperties() const;
00192
00198 const Property* findPropertyByName( const QString& name ) const;
00199
00207 const Property* findPropertyByLabel( const QString& label, const QString& language = QString() ) const;
00208
00214 const Property* findPropertyByUri( const QUrl& uri ) const;
00215
00225 static const Ontology* load( const QUrl& uri );
00226
00227 private:
00228 class Private;
00229 QSharedDataPointer<Private> d;
00230
00231 friend class OntologyManager;
00232 };
00233 }
00234
00235 #endif