29#include <MemoryX/interface/components/CommonStorageInterface.h>
30#include <MemoryX/interface/components/PriorKnowledgeInterface.h>
42 "Comma separated list of MongoDB collection (<db>.<collection>) which store known "
43 "object classes. First collection will be used for writing.");
45 "RelationCollections",
47 "Comma separated list of MongoDB collection (<db>.<collection>) which store known "
48 "object classes relations. First collection will be used for writing.");
52 "Comma separated list of MongoDB collection (<db>.<collection>) which store "
53 "graphs. First collection will be used for writing.");
57 using EntityMap = std::map<std::string, EntityBasePtr>;
65 virtual public PriorKnowledgeInterface,
74 return "PriorKnowledge";
77 void onInitComponent()
override;
78 void onConnectComponent()
override;
90 void clear(const ::Ice::Current& = Ice::emptyCurrent)
override;
95 return Component::getObjectAdapter();
99 PersistentObjectClassSegmentBasePrx
100 getObjectClassesSegment(const ::Ice::Current& = Ice::emptyCurrent)
const override;
102 PersistentRelationSegmentBasePrx
103 getRelationsSegment(const ::Ice::Current& = Ice::emptyCurrent)
const override;
105 GraphMemorySegmentBasePrx
106 getGraphSegment(const ::Ice::Current&
c = Ice::emptyCurrent)
const override;
108 CommonStorageInterfacePrx
109 getCommonStorage(const ::Ice::Current& = Ice::emptyCurrent)
const override;
111 bool hasGraphSegment(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
113 bool isPriorCollection(const ::std::string& collNS,
114 const ::Ice::Current& = Ice::emptyCurrent)
override;
124 const NameList& collNameList);
128 std::string
getMemoryName(
const Ice::Current&)
const override;
130 const Ice::Current&)
override;
#define ARMARXCOMPONENT_IMPORT_EXPORT
Default component property definition container.
ComponentPropertyDefinitions(std::string prefix, bool hasObjectNameParameter=true)
Baseclass for all ArmarX ManagedIceObjects requiring properties.
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
PropertyDefinition< PropertyType > & defineOptionalProperty(const std::string &name, PropertyType defaultValue, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
PropertyDefinition< PropertyType > & defineRequiredProperty(const std::string &name, const std::string &description="", PropertyDefinitionBase::PropertyConstness constness=PropertyDefinitionBase::eConstant)
PriorKnowledgePropertyDefinitions(std::string prefix)
The PriorKnowledge class provides a database with common sense and/or prior knowldge.
CommonStorageInterfacePrx dataBasePrx
AbstractMemorySegmentPrx addGenericSegment(const std::string &segmentName, const Ice::Current &) override
NameList relationCollNames
void setSegmentReadCollections(const PersistentEntitySegmentBasePtr &segmentPrx, const NameList &collNameList)
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Ice::ObjectAdapterPtr getObjectAdapter() const override
std::string getMemoryName(const Ice::Current &) const override
std::string getDefaultName() const override
Retrieve default name of component.
::IceInternal::Handle<::Ice::ObjectAdapter > ObjectAdapterPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
IceUtil::Handle< PriorKnowledge > PriorKnowledgePtr
std::map< std::string, EntityBasePtr > EntityMap