Nepomuk
class.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_CLASS_H_
00021 #define _NEPOMUK_CLASS_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 class Property;
00035
00049 class NEPOMUK_EXPORT Class : public Entity
00050 {
00051 friend class ClassPrivate;
00052
00053 public:
00057 Class();
00058
00068 Class( const QUrl& uri );
00069
00073 Class( const Class& );
00074
00078 ~Class();
00079
00083 Class& operator=( const Class& );
00084
00090 QList<Property> rangeOf();
00091
00097 QList<Property> domainOf();
00098
00104 Property findPropertyByName( const QString& name );
00105
00113 Property findPropertyByLabel( const QString& label, const QString& language = QString() );
00114
00123 QList<Class> parentClasses();
00124
00131 QList<Class> subClasses();
00132
00139 QList<Class> allParentClasses();
00140
00147 QList<Class> allSubClasses();
00148
00155 bool isParentOf( const Class& other );
00156
00163 bool isSubClassOf( const Class& other );
00164 };
00165 }
00166 }
00167
00168
00169 namespace Nepomuk {
00170
00171 class Ontology;
00172 class Property;
00173
00179 class KDE_DEPRECATED NEPOMUK_EXPORT Class : public Entity
00180 {
00181 public:
00185 Class();
00186
00190 Class( const Class& );
00191
00195 ~Class();
00196
00197 Class& operator=( const Class& );
00198
00199
00200 QList<const Property*> allProperties() const;
00201
00207 const Property* findPropertyByName( const QString& name ) const;
00208
00216 const Property* findPropertyByLabel( const QString& label, const QString& language = QString() ) const;
00217
00223 const Property* findPropertyByUri( const QUrl& uri ) const;
00224
00231 QList<const Class*> parentClasses() const;
00232
00239 QList<const Class*> subClasses() const;
00240
00247 bool isParentOf( const Class* other ) const;
00248
00255 bool isSubClassOf( const Class* other ) const;
00256
00267 static const Class* load( const QUrl& uri );
00268
00269 private:
00270 class Private;
00271 QSharedDataPointer<Private> d;
00272
00273 friend class OntologyManager;
00274 };
00275 }
00276
00277 #endif