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 #ifndef DISABLE_NEPOMUK_LEGACY
00170
00171 namespace Nepomuk {
00172
00173 class Ontology;
00174 class Property;
00175
00181 class KDE_DEPRECATED NEPOMUK_EXPORT Class : public Entity
00182 {
00183 public:
00187 Class();
00188
00192 Class( const Class& );
00193
00197 ~Class();
00198
00199 Class& operator=( const Class& );
00200
00201
00202 QList<const Property*> allProperties() const;
00203
00209 const Property* findPropertyByName( const QString& name ) const;
00210
00218 const Property* findPropertyByLabel( const QString& label, const QString& language = QString() ) const;
00219
00225 const Property* findPropertyByUri( const QUrl& uri ) const;
00226
00233 QList<const Class*> parentClasses() const;
00234
00241 QList<const Class*> subClasses() const;
00242
00249 bool isParentOf( const Class* other ) const;
00250
00257 bool isSubClassOf( const Class* other ) const;
00258
00269 static const Class* load( const QUrl& uri );
00270
00271 private:
00272 class Private;
00273 QSharedDataPointer<Private> d;
00274
00275 friend class OntologyManager;
00276 };
00277 }
00278
00279 #endif
00280 #endif