kDB: Knowledge DataBase
Loading...
Searching...
No Matches
Graph.h
1#include "TripleStreamListener.h"
2
3#include <QList>
4
5#include <knowRDF/Forward.h>
6
7namespace knowRDF
8{
10 {
11 public:
12 Graph();
13 virtual ~Graph();
14 public:
15 void clear();
16 const Node* getNode(const knowCore::Uri& _uri) const;
17 const Node* getNode(const BlankNode& _blankNode) const;
18 const Node* getNode(const Subject& _subject) const;
23 QList<const Node*> getSubjects(const knowCore::Uri& _predicate, const Object& _object) const;
24 QList<const Node*> nodes() const;
25 void removeTriple(const Triple& _triple);
26 public:
27 virtual void triple(const Triple& _triple);
28 void addTriples(const QList<Triple>& _triples);
29 private:
30 Node* createOrGetNode(const knowCore::Uri& _uri);
31 Node* createOrGetNode(const BlankNode& _blankNode);
32 Node* createOrGetNode(const Subject& _subject);
33 Node* createOrGetNode(const Object& _object);
34 template<typename _T_>
35 Node* getNCNode(const _T_& _arg)
36 {
37 return const_cast<Node*>(getNode(_arg));
38 }
39 struct Private;
40 Private* const d;
41 };
42} // namespace knowRDF
Definition Revision.h:9
Definition Uri.h:15
Definition BlankNode.h:25
Definition Graph.h:10
QList< QPair< const Node *, const Node * > > getNodes(const knowCore::Uri &_predicate) const
Definition Graph.cpp:142
Definition Node.h:17
Definition Object.h:11
Definition Subject.h:21
Definition TripleStreamListener.h:13
Definition Triple.h:19
Definition Graph.cpp:15