00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _INFERENCE_RULESET_H_
00023 #define _INFERENCE_RULESET_H_
00024
00025 #include "soprano_export.h"
00026
00027 #include <QtCore/QSharedDataPointer>
00028 #include <QtCore/QStringList>
00029
00030
00031 namespace Soprano {
00032 namespace Inference {
00033
00037 enum StandardRuleSet {
00038 RDFS,
00039 NRL
00040 };
00041
00042 class Rule;
00043
00054 class SOPRANO_EXPORT RuleSet
00055 {
00056 public:
00060 RuleSet();
00061
00065 RuleSet( const RuleSet& );
00066
00070 ~RuleSet();
00071
00072 RuleSet& operator=( const RuleSet& );
00073
00074 void clear();
00075
00083 void insert( const QString& name, const Rule& rule );
00084
00089 int count() const;
00090
00091 Rule at( int index ) const;
00092 Rule operator[]( int index ) const;
00093
00094 Rule rule( const QString& name ) const;
00095 Rule operator[]( const QString& name ) const;
00096
00097 QStringList ruleNames() const;
00098
00099 QList<Rule> allRules() const;
00100
00106 static RuleSet standardRuleSet( StandardRuleSet );
00107
00108 private:
00109 class Private;
00110 QSharedDataPointer<Private> d;
00111 };
00112 }
00113 }
00114
00115 #endif