• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

Nepomuk

class.h

Go to the documentation of this file.
00001 /* This file is part of the Nepomuk-KDE libraries
00002    Copyright (c) 2007 Sebastian Trueg <trueg@kde.org>
00003 
00004    This library is free software; you can redistribute it and/or
00005    modify it under the terms of the GNU Library General Public
00006    License as published by the Free Software Foundation; either
00007    version 2 of the License, or (at your option) any later version.
00008 
00009    This library is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012    Library General Public License for more details.
00013 
00014    You should have received a copy of the GNU Library General Public License
00015    along with this library; see the file COPYING.LIB.  If not, write to
00016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00017    Boston, MA 02110-1301, USA.
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     // an alternative would be: QList<Property> rangeOf() and QList<Property> domainOf()
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

Nepomuk

Skip menu "Nepomuk"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.7
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal