kDB: Knowledge DataBase
Loading...
Searching...
No Matches
kDB::Repository::RDF::FocusNode Class Reference

#include <FocusNode.h>

Classes

struct  Private
 

Public Member Functions

 FocusNode (const FocusNode &_rhs)
 
FocusNodeoperator= (const FocusNode &_rhs)
 
 FocusNode (const kDB::Repository::Connection &_connection, const knowCore::Uri &_graph, const knowCore::Uri &_object_uri, const FocusNodeDeclaration &_declaration)
 
bool operator== (const FocusNode &_rhs) const
 
cres_qresult< bool > exists () const
 
bool isValid () const
 
FocusNodeDeclaration declaration () const
 
knowCore::Uri uri () const
 
knowCore::Uri graph () const
 
kDB::Repository::Connection connection () const
 
cres_qresult< bool > hasProperty (const knowCore::Uri &_property, const Transaction &_transaction=Transaction()) const
 
cres_qresult< knowCore::Valueproperty (const knowCore::Uri &_property, const Transaction &_transaction=Transaction()) const
 
template<typename _T_ >
requires (not std::is_base_of_v<knowCore::Value, _T_>)
cres_qresult< _T_ > property (const knowCore::Uri &_property) const
 
cres_qresult< void > setProperty (const knowCore::Uri &_property, const knowCore::Value &_value, const Transaction &_transaction=Transaction()) const
 
cres_qresult< void > addPropertyToList (const knowCore::Uri &_property, const knowCore::Value &_value, const Transaction &_transaction=Transaction()) const
 
cres_qresult< void > removePropertyFromList (const knowCore::Uri &_property, const knowCore::Value &_value, const Transaction &_transaction=Transaction()) const
 
cres_qresult< knowCore::ValueListpropertyList (const knowCore::Uri &_property, const Transaction &_transaction=Transaction()) const
 
cres_qresult< void > setPropertyInMap (const knowCore::Uri &_property, const knowCore::Uri &_key, const knowCore::Value &_value, const Transaction &_transaction=Transaction()) const
 
cres_qresult< knowCore::ValueHashpropertyMap (const knowCore::Uri &_property, const Transaction &_transaction=Transaction()) const
 
cres_qresult< knowCore::ValuepropertyMapValue (const knowCore::Uri &_property, const knowCore::Uri &_key, const Transaction &_transaction=Transaction()) const
 
template<typename _T_ >
requires (not std::is_base_of_v<knowCore::Value, _T_>)
cres_qresult< void > setProperty (const knowCore::Uri &_property, const _T_ &_value, const Transaction &_transaction=Transaction()) const
 
cres_qresult< QCborMap > toCborMap () const
 

Static Public Member Functions

static cres_qresult< FocusNodefromCborMap (const kDB::Repository::Connection &_connection, const knowCore::Uri &_graph, const QCborMap &_map)
 

Friends

class FocusNodeCollection
 

Detailed Description

FocusNode is a convenient class that treat a uri in a RDF graph as the root of an object with properties.

For instance for the following RDF Graph:

<a> a <object_type> ;
<property_1> "property value 1" ;
<property_2> "property value 2" .

The property values can be manipulated by creating:

FocusNode a("graph_uri"_kCu, "a"_kCu, Registry::get("object_type"));
Definition FocusNode.h:34

Member Function Documentation

◆ addPropertyToList()

cres_qresult< void > FocusNode::addPropertyToList ( const knowCore::Uri & _property,
const knowCore::Value & _value,
const Transaction & _transaction = Transaction() ) const

Set the value for the given property

◆ connection()

kDB::Repository::Connection FocusNode::connection ( ) const
Returns
the connection

◆ declaration()

FocusNodeDeclaration FocusNode::declaration ( ) const
Returns
the declaration defining this focus node.

◆ exists()

cres_qresult< bool > FocusNode::exists ( ) const
Returns
true if this focus node exists

◆ fromCborMap()

cres_qresult< FocusNode > FocusNode::fromCborMap ( const kDB::Repository::Connection & _connection,
const knowCore::Uri & _graph,
const QCborMap & _map )
static
Returns
a cbor map that represents the value.

◆ graph()

knowCore::Uri FocusNode::graph ( ) const
Returns
the uri of the graph which contains the focus node, i.e. the root of the properties

◆ hasProperty()

cres_qresult< bool > FocusNode::hasProperty ( const knowCore::Uri & _property,
const Transaction & _transaction = Transaction() ) const
Returns
if the given property is set

◆ isValid()

bool FocusNode::isValid ( ) const
Returns
true if this focus node is valid and exists.

◆ property() [1/2]

template<typename _T_ >
requires (not std::is_base_of_v<knowCore::Value, _T_>)
cres_qresult< _T_ > kDB::Repository::RDF::FocusNode::property ( const knowCore::Uri & _property) const
inline
Returns
a value for the given property

◆ property() [2/2]

cres_qresult< knowCore::Value > FocusNode::property ( const knowCore::Uri & _property,
const Transaction & _transaction = Transaction() ) const
Returns
a value for the given property

◆ propertyList()

cres_qresult< knowCore::ValueList > FocusNode::propertyList ( const knowCore::Uri & _property,
const Transaction & _transaction = Transaction() ) const

Get the values for the given list property

◆ propertyMap()

cres_qresult< knowCore::ValueHash > FocusNode::propertyMap ( const knowCore::Uri & _property,
const Transaction & _transaction = Transaction() ) const

Get the values for the given map property

◆ propertyMapValue()

cres_qresult< knowCore::Value > FocusNode::propertyMapValue ( const knowCore::Uri & _property,
const knowCore::Uri & _key,
const Transaction & _transaction = Transaction() ) const

Get the values for one element in the given map property

◆ removePropertyFromList()

cres_qresult< void > FocusNode::removePropertyFromList ( const knowCore::Uri & _property,
const knowCore::Value & _value,
const Transaction & _transaction = Transaction() ) const

Set the value for the given property

◆ setProperty() [1/2]

template<typename _T_ >
requires (not std::is_base_of_v<knowCore::Value, _T_>)
cres_qresult< void > kDB::Repository::RDF::FocusNode::setProperty ( const knowCore::Uri & _property,
const _T_ & _value,
const Transaction & _transaction = Transaction() ) const
inline

Set the value for the given property

◆ setProperty() [2/2]

cres_qresult< void > FocusNode::setProperty ( const knowCore::Uri & _property,
const knowCore::Value & _value,
const Transaction & _transaction = Transaction() ) const

Set the value for the given property

◆ setPropertyInMap()

cres_qresult< void > FocusNode::setPropertyInMap ( const knowCore::Uri & _property,
const knowCore::Uri & _key,
const knowCore::Value & _value,
const Transaction & _transaction = Transaction() ) const

Set the value for the given property

◆ toCborMap()

cres_qresult< QCborMap > FocusNode::toCborMap ( ) const
Returns
a cbor map that represents the value.

◆ uri()

knowCore::Uri FocusNode::uri ( ) const
Returns
the uri of the focus node, i.e. the root of the properties

The documentation for this class was generated from the following files: