kDB: Knowledge DataBase
Loading...
Searching...
No Matches
FocusNode.h
1#pragma once
2
3#include <knowCore/Value.h>
4#include <kDB/Forward.h>
5
6namespace kDB::Repository::RDF
7{
27 {
28 public:
29 FocusNode();
30 FocusNode(const FocusNode& _rhs);
31 FocusNode& operator=(const FocusNode& _rhs);
32 FocusNode(const kDB::Repository::Connection& _connection, const knowCore::Uri& _graph, const knowCore::Uri& _object_uri, const FocusNodeDeclaration& _declaration);
33 FocusNode(const kDB::Repository::Connection& _connection, const knowCore::Uri& _read_graph, const QList<knowCore::Uri>& _triplestores, const knowCore::Uri& _object_uri, const FocusNodeDeclaration& _declaration);
34 FocusNode(const kDB::Repository::Connection& _connection, const knowCore::Uri& _read_graph, const std::function<QList<knowCore::Uri>()>& _triplestores, const knowCore::Uri& _object_uri, const FocusNodeDeclaration& _declaration);
35 ~FocusNode();
43 knowCore::Uri uri() const;
47 knowCore::ReturnValue<bool> hasProperty(const knowCore::Uri& _property) const; // TODO kDB 5.0 add transaction argument
51 knowCore::ReturnValue<knowCore::Value> property(const knowCore::Uri& _property) const; // TODO kDB 5.0 add transaction argument
55 knowCore::ReturnVoid setProperty(const knowCore::Uri& _property, const knowCore::Value& _value) const;
56 knowCore::ReturnVoid setProperty(const knowCore::Uri& _property, const knowCore::Value& _value, const Transaction& _transaction) const; // TODO kDB 5.0 merge with above
60 template<typename _T_, std::enable_if_t<not std::is_base_of_v<knowCore::Value, _T_>, bool> = true>
61 knowCore::ReturnVoid setProperty(const knowCore::Uri& _property, const _T_& _value) const { return setProperty(_property, knowCore::Value::fromValue(_value)); }
65 knowCore::ReturnValue<QCborMap> toCborMap() const;
69 static knowCore::ReturnValue<FocusNode> fromCborMap(const kDB::Repository::Connection& _connection, const knowCore::Uri& _graph, const QCborMap& _map, const FocusNodeDeclarationsRegistry* _declaration_registry);
70 private:
71 struct Private;
72 QExplicitlySharedDataPointer<Private> d;
73 };
74}
Definition Revision.h:9
Definition Connection.h:25
Definition FocusNodeDeclaration.h:17
Definition FocusNodeDeclarationsRegistry.h:6
Definition FocusNode.h:27
knowCore::ReturnVoid setProperty(const knowCore::Uri &_property, const _T_ &_value) const
Definition FocusNode.h:61
knowCore::ReturnValue< bool > hasProperty(const knowCore::Uri &_property) const
Definition FocusNode.cpp:76
knowCore::ReturnValue< QCborMap > toCborMap() const
Definition FocusNode.cpp:211
knowCore::Uri uri() const
Definition FocusNode.cpp:71
FocusNodeDeclaration declaration() const
Definition FocusNode.cpp:66
static knowCore::ReturnValue< FocusNode > fromCborMap(const kDB::Repository::Connection &_connection, const knowCore::Uri &_graph, const QCborMap &_map, const FocusNodeDeclarationsRegistry *_declaration_registry)
Definition FocusNode.cpp:236
knowCore::ReturnVoid setProperty(const knowCore::Uri &_property, const knowCore::Value &_value) const
Definition FocusNode.cpp:131
knowCore::ReturnValue< knowCore::Value > property(const knowCore::Uri &_property) const
Definition FocusNode.cpp:89
Definition Transaction.h:19
Definition Uri.h:15
Definition Value.h:21
static Value fromValue(const _T_ &_value)
Definition Value.h:241