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
00021
00022 #ifndef _SOPRANO_RDF_SCHEMA_MODEL_H_
00023 #define _SOPRANO_RDF_SCHEMA_MODEL_H_
00024
00025 #include "filtermodel.h"
00026 #include "node.h"
00027 #include "soprano_export.h"
00028
00029 namespace Soprano {
00030
00031 class Model;
00032 class StatementIterator;
00033
00046 class SOPRANO_EXPORT RdfSchemaModel : public FilterModel
00047 {
00048 public:
00053 RdfSchemaModel( Model* parentModel = 0 );
00054
00058 ~RdfSchemaModel();
00059
00065 StatementIterator classes() const;
00066
00080 StatementIterator directSubClassOf( const Node& subClass, const Node& superClass = Node() ) const;
00081
00095 StatementIterator directSubPropertyOf( const Node& subProperty, const Node& superProperty = Node() ) const;
00096
00108 StatementIterator directType( const Node& someClass, const Node& someType ) const;
00109
00121 StatementIterator domain( const Node& prop, const Node& domain ) const;
00122
00129 StatementIterator properties() const;
00130
00142 StatementIterator range( const Node& prop, const Node& range ) const;
00143
00161 StatementIterator subClassOf( const Node& subClass, const Node& superClass = Node() ) const;
00162
00180 StatementIterator subPropertyOf( const Node& subProperty, const Node& superProperty = Node() ) const;
00181
00197 StatementIterator type( const Node& someClass, const Node& someType ) const;
00198
00206 bool isClass( const Node& resource ) const;
00207
00215 bool isProperty( const Node& resource ) const;
00216
00225 bool isDirectSubClassOf( const Node& subClass, const Node& superClass ) const;
00226
00235 bool isDirectSubPropertyOf( const Node& subProperty, const Node& superProperty ) const;
00236
00245 bool isDirectType( const Node& someClass, const Node& someType ) const;
00246
00258 bool isSubClassOf( const Node& subClass, const Node& superClass ) const;
00259
00271 bool isSubPropertyOf( const Node& subProperty, const Node& superProperty ) const;
00272
00284 bool isType( const Node& someClass, const Node& someType ) const;
00285
00286 private:
00287 class Private;
00288 Private* const d;
00289 };
00290 }
00291
00292 #endif
00293
00294