Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

TripleSinkReifier.h

00001 // See the file LICENSE in the some directory as this file for legal
00002 // notices about this software.   
00003 // $Id: TripleSinkReifier_8h-source.html,v 1.8 2001/10/10 20:40:58 sandro Exp $
00004 #ifndef DEV_W3_ORG__2001_BLINDFOLD_SRC_TRIPLESINKREIFIER_H
00005 #define DEV_W3_ORG__2001_BLINDFOLD_SRC_TRIPLESINKREIFIER_H
00006 #include "config.h"
00007 
00008 #include "TripleAdder.h"
00009 #include "Symbol.h"
00010 
00025 class TripleSinkReifier : public TripleAdder {
00026       
00027 public:
00028 
00029     // STANDARD MEMBER FUNCTIONS
00030     TripleSinkReifier();
00031     TripleSinkReifier(const TripleSinkReifier& other);
00032     const TripleSinkReifier& operator=(const TripleSinkReifier& other);
00033     bool operator==(const TripleSinkReifier& other) const;
00034     bool operator<(const TripleSinkReifier& other) const;
00035     size_t hash() const;
00036     friend std::ostream& operator<<(std::ostream& s, const TripleSinkReifier& me);
00037     std::ostream& print_to(std::ostream& stream) const; 
00038     ~TripleSinkReifier();       
00039 
00040     // (RE)IMPLEMENTATION OF INHERITED MEMBERS
00041 
00042     // CLASS-SPECIFIC PUBLIC INTERFACE
00043 
00048     TripleSinkReifier(TripleSink* sink);
00049 
00063     virtual void addTo(Symbol statementSet, Symbol subject, 
00064                Symbol predicate, Symbol object);
00065 
00066 
00078     virtual void includeIn(Symbol superset, Symbol subset);
00079 
00090     virtual void include(Symbol subset);
00091 
00092 #if 0
00093 
00098     struct Vocab {
00099     Vocab(SymbolSpace* space) : 
00100         subject(space, "http://www.w3.org/1999/02/22-rdf-syntax-ns#subject"),
00101         predicate(space, "http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate"),
00102         object(space, "http://www.w3.org/1999/02/22-rdf-syntax-ns#object"),
00103         type(space, "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),
00104         in(space, "foo#in"),
00105         subset(space, "foo#subset"),
00106         includedSet(space, "foo#includedSet")
00107         {
00108         }
00109     Symbol subject, predicate, object, type, in, subset, includedSet;
00110     } *vocab;
00111 
00112 #endif
00113 
00114     virtual void setSink(TripleSink* sink);
00115 
00116 private:
00117 
00118 
00119 };     
00120 
00121 
00122 STANDARD_EXTERNAL(TripleSinkReifier)
00123 
00124 #endif   /* TRIPLESINKREIFIER */  // -*-C++-*-

Home to blindfold. This page generated via doxygen 1.2.11.1 Wed Oct 10 16:40:33 2001.