29#define SEMLOGINIT LOGINIT("LP::SemanticAnalysis")
33namespace LinguisticProcessing
35namespace SemanticAnalysis
53ConstraintFunction(language,complement)
61 LDEBUG <<
"ClearSemanticRelation::operator()";
63 auto semanticData = std::dynamic_pointer_cast<SemanticRelationData>(analysis.
getData(
"SemanticRelationData"));
70 return semanticData->clearStoredRelations();
76 ConstraintFunction(language,complement)
84 LDEBUG <<
"SaveSemanticRelation::operator()";
86 auto semanticData = std::dynamic_pointer_cast<SemanticRelationData>(analysis.
getData(
"SemanticRelationData"));
93 return semanticData->addRelations(analysis);
99 ConstraintFunction(language,complement)
112 LDEBUG <<
"CreateSemanticRelation::operator()" << vertex1 << vertex2
113 << m_semanticRelationType;
116 auto semanticData = std::dynamic_pointer_cast<SemanticRelationData>(analysis.
getData(
"SemanticRelationData"));
117 if (semanticData ==
nullptr)
119 semanticData = std::make_shared<SemanticRelationData>();
120 analysis.
setData(
"SemanticRelationData", semanticData);
122 return semanticData->relation(vertex1,vertex2,m_semanticRelationType);
This file is the main header file for the data related to annotation graphs.
A graph that stores any data (annotations) referencing primarily nodes of a text anlaysis.
#define CreateSemanticRelationId
#define SaveSemanticRelationId
#define ClearSemanticRelationId
LinguisticGraph::vertex_descriptor LinguisticGraphVertex
Data used for Semantic Relation Annotation.
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
std::shared_ptr< AnalysisData > getData(const QString &id)
return AnalysisData by id
void setData(const QString &id, std::shared_ptr< AnalysisData > data)
set an analysisData with the given id.
An AnalysisData containing a LinguisticGraph with a language and an id.
ClearSemanticRelation(MediaId language, const LimaString &complement=LimaString())
bool operator()(AnalysisContent &analysis) const override
zero-ary constraint function : applies the function without a vertex indication (used for actions,...
CreateSemanticRelation(MediaId language, const LimaString &complement=LimaString())
bool operator()(const LinguisticAnalysisStructure::AnalysisGraph &graph, const LinguisticGraphVertex &v1, const LinguisticGraphVertex &v2, AnalysisContent &analysis) const override
binary constraint function : the constraint only applies on two vertices in the graph (the graph is a...
bool operator()(AnalysisContent &analysis) const override
zero-ary constraint function : applies the function without a vertex indication (used for actions,...
SaveSemanticRelation(MediaId language, const LimaString &complement=LimaString())
std::string limastring2utf8stdstring(const Lima::LimaString &phrase, uint32_t size0)
Convert a wide string to a string , in dest up to size bytes.
Automaton::ConstraintFunctionFactory< ClearSemanticRelation > ClearSemanticRelationFactory(ClearSemanticRelationId)
Automaton::ConstraintFunctionFactory< CreateSemanticRelation > CreateSemanticRelationFactory(CreateSemanticRelationId)
Automaton::ConstraintFunctionFactory< SaveSemanticRelation > SaveSemanticRelationFactory(SaveSemanticRelationId)