nepomuk/core
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 "nepomuk_export.h"
00029
00030
00031 namespace Nepomuk {
00032
00033 class Class;
00034 class Property;
00035
00039 class NEPOMUK_EXPORT Ontology
00040 {
00041 public:
00045 Ontology();
00046
00050 Ontology( const Ontology& );
00051
00055 ~Ontology();
00056
00057 Ontology& operator=( const Ontology& );
00058
00062 QUrl uri() const;
00063
00067 QList<const Class*> allClasses() const;
00068
00074 const Class* findClassByName( const QString& name ) const;
00075
00083 const Class* findClassByLabel( const QString& label, const QString& language = QString() ) const;
00084
00090 const Class* findClassByUri( const QUrl& uri ) const;
00091
00096 QList<const Property*> allProperties() const;
00097
00103 const Property* findPropertyByName( const QString& name ) const;
00104
00112 const Property* findPropertyByLabel( const QString& label, const QString& language = QString() ) const;
00113
00119 const Property* findPropertyByUri( const QUrl& uri ) const;
00120
00130 static const Ontology* load( const QUrl& uri );
00131
00132 private:
00133 class Private;
00134 QSharedDataPointer<Private> d;
00135
00136 friend class OntologyManager;
00137 };
00138 }
00139
00140 #endif