LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
LinguisticGraph.h File Reference

A graph structure for linguistic analysis. More...

#include "Token.h"
#include "MorphoSyntacticData.h"
#include "ChainIdStruct.h"
#include <vector>
#include <boost/graph/adjacency_list.hpp>
#include "common/misc/depth_first_searchnowarn.hpp"
#include <boost/graph/breadth_first_search.hpp>
#include <boost/serialization/strong_typedef.hpp>

Go to the source code of this file.

Namespaces

namespace  boost
 

Typedefs

typedef Lima::LinguisticProcessing::LinguisticAnalysisStructure::Token * VertexTokenProp
 This vertex proprerty represents the linguistic object pointed by the node with position and length.
 
typedef boost::property< vertex_token_t, VertexTokenProp > VertexTokenProperty
 
typedef Lima::LinguisticProcessing::LinguisticAnalysisStructure::MorphoSyntacticData * VertexDataProp
 This vertex proprerty represents the linguitic object pointed by the node It points to only one word defined as a lemma and its category.
 
typedef boost::property< vertex_data_t, VertexDataProp, VertexTokenProperty > VertexDataProperty
 
typedef boost::property< boost::vertex_color_t, boost::default_color_type, VertexDataProperty > VertexLinguisticGraphColorProperty
 
typedef std::set< Lima::LinguisticProcessing::LinguisticAnalysisStructure::ChainIdStruct > VertexChainIdProp
 Property to identify the chains in the graph.
 
typedef boost::property< vertex_chain_id_t, VertexChainIdProp, VertexLinguisticGraphColorProperty > VertexChainIdProperty
 
typedef VertexChainIdProperty LinguisticVertexProperties
 Final declaration of the vertices properties.
 
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, LinguisticVertexProperties > LinguisticGraph
 Property to identify the chains in the graph.
 
typedef boost::graph_traits< LinguisticGraph >::edge_descriptor LinguisticGraphEdge
 typedefs to simplify the access to various graphs elements
 
typedef LinguisticGraph::edge_iterator LinguisticGraphEdgeIt
 
typedef LinguisticGraph::out_edge_iterator LinguisticGraphOutEdgeIt
 
typedef LinguisticGraph::in_edge_iterator LinguisticGraphInEdgeIt
 
typedef LinguisticGraph::vertex_descriptor LinguisticGraphVertex
 
typedef LinguisticGraph::vertex_iterator LinguisticGraphVertexIt
 
typedef LinguisticGraph::adjacency_iterator LinguisticGraphAdjacencyIt
 
typedef boost::property_map< LinguisticGraph, vertex_token_t >::type VertexTokenPropertyMap
 
typedef boost::property_map< LinguisticGraph, vertex_token_t >::const_type CVertexTokenPropertyMap
 
typedef boost::property_map< LinguisticGraph, vertex_data_t >::type VertexDataPropertyMap
 
typedef boost::property_map< LinguisticGraph, vertex_data_t >::const_type CVertexDataPropertyMap
 
typedef boost::property_map< LinguisticGraph, vertex_chain_id_t >::type VertexChainIdPropertyMap
 
typedef boost::property_map< LinguisticGraph, vertex_chain_id_t >::const_type CVertexChainIdPropertyMap
 
typedef std::set< LinguisticGraphVertex > SetOfLinguisticGraphVertices
 
typedef boost::property_map< LinguisticGraph, boost::vertex_color_t >::type VertexColorLinguisticGraphPropertyMap
 

Enumerations

enum  vertex_token_t { vertex_token = 1000 }
 
enum  vertex_data_t { vertex_data = 1001 }
 
enum  vertex_chain_id_t { vertex_chain_id = 1005 }
 

Functions

 boost::BOOST_INSTALL_PROPERTY (vertex, token)
 
 boost::BOOST_INSTALL_PROPERTY (vertex, data)
 
 boost::BOOST_INSTALL_PROPERTY (vertex, chain_id)
 
LIMA_LINGUISTICANALYSISSTRUCTURE_EXPORT QDebug & operator<< (QDebug &qd, LinguisticGraphEdge &edge)
 
LIMA_LINGUISTICANALYSISSTRUCTURE_EXPORT QDebug & operator<< (QDebug &qd, const LinguisticGraphEdge &edge)
 

Detailed Description

A graph structure for linguistic analysis.

Author
Gael de Chalendar (Gael..nosp@m.de-C.nosp@m.halen.nosp@m.dar@.nosp@m.cea.f.nosp@m.r)
Benoit Mathieu

Definition in file LinguisticGraph.h.

Typedef Documentation

◆ CVertexChainIdPropertyMap

typedef boost::property_map<LinguisticGraph,vertex_chain_id_t>::const_type CVertexChainIdPropertyMap

Definition at line 109 of file LinguisticGraph.h.

◆ CVertexDataPropertyMap

typedef boost::property_map<LinguisticGraph,vertex_data_t>::const_type CVertexDataPropertyMap

Definition at line 107 of file LinguisticGraph.h.

◆ CVertexTokenPropertyMap

typedef boost::property_map<LinguisticGraph,vertex_token_t>::const_type CVertexTokenPropertyMap

Definition at line 105 of file LinguisticGraph.h.

◆ LinguisticGraph

typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS,LinguisticVertexProperties> LinguisticGraph

Property to identify the chains in the graph.

Works like the PathIdProperty but each edge can belong to several chains in various paths, so the property is a set of objects composed of a path number, a chain number in the path and a chain type Final declaration of the edges properties

The boost graph based linguistic graph class. It represents the (possible) successions of tokens. Vertices are tokens (either simple, named entities, idiom, etc.) and edges reflect text order. It uses vecS for edges and vertices in order to have quick acces to specific indices in the vertices and edges lists

Definition at line 93 of file LinguisticGraph.h.

◆ LinguisticGraphAdjacencyIt

typedef LinguisticGraph::adjacency_iterator LinguisticGraphAdjacencyIt

Definition at line 103 of file LinguisticGraph.h.

◆ LinguisticGraphEdge

typedef boost::graph_traits<LinguisticGraph>::edge_descriptor LinguisticGraphEdge

typedefs to simplify the access to various graphs elements

Definition at line 96 of file LinguisticGraph.h.

◆ LinguisticGraphEdgeIt

typedef LinguisticGraph::edge_iterator LinguisticGraphEdgeIt

Definition at line 97 of file LinguisticGraph.h.

◆ LinguisticGraphInEdgeIt

typedef LinguisticGraph::in_edge_iterator LinguisticGraphInEdgeIt

Definition at line 99 of file LinguisticGraph.h.

◆ LinguisticGraphOutEdgeIt

typedef LinguisticGraph::out_edge_iterator LinguisticGraphOutEdgeIt

Definition at line 98 of file LinguisticGraph.h.

◆ LinguisticGraphVertex

typedef LinguisticGraph::vertex_descriptor LinguisticGraphVertex

Definition at line 100 of file LinguisticGraph.h.

◆ LinguisticGraphVertexIt

typedef LinguisticGraph::vertex_iterator LinguisticGraphVertexIt

Definition at line 102 of file LinguisticGraph.h.

◆ LinguisticVertexProperties

Final declaration of the vertices properties.

Definition at line 66 of file LinguisticGraph.h.

◆ SetOfLinguisticGraphVertices

Definition at line 111 of file LinguisticGraph.h.

◆ VertexChainIdProp

Property to identify the chains in the graph.

Each vertex can belong to several chains, so the property is a set of objects composed of a chain number in the path and a chain type

Definition at line 60 of file LinguisticGraph.h.

◆ VertexChainIdProperty

◆ VertexChainIdPropertyMap

typedef boost::property_map<LinguisticGraph,vertex_chain_id_t>::type VertexChainIdPropertyMap

Definition at line 108 of file LinguisticGraph.h.

◆ VertexColorLinguisticGraphPropertyMap

typedef boost::property_map<LinguisticGraph,boost::vertex_color_t>::type VertexColorLinguisticGraphPropertyMap

Definition at line 114 of file LinguisticGraph.h.

◆ VertexDataProp

This vertex proprerty represents the linguitic object pointed by the node It points to only one word defined as a lemma and its category.

Definition at line 48 of file LinguisticGraph.h.

◆ VertexDataProperty

Definition at line 50 of file LinguisticGraph.h.

◆ VertexDataPropertyMap

typedef boost::property_map<LinguisticGraph,vertex_data_t>::type VertexDataPropertyMap

Definition at line 106 of file LinguisticGraph.h.

◆ VertexLinguisticGraphColorProperty

typedef boost::property<boost::vertex_color_t, boost::default_color_type, VertexDataProperty> VertexLinguisticGraphColorProperty

Definition at line 54 of file LinguisticGraph.h.

◆ VertexTokenProp

This vertex proprerty represents the linguistic object pointed by the node with position and length.

Its orthographic alternatives (Token*) will be distributed through several vertices each having the same FullToken* for VertexLingProp

Definition at line 40 of file LinguisticGraph.h.

◆ VertexTokenProperty

typedef boost::property< vertex_token_t, VertexTokenProp > VertexTokenProperty

Definition at line 42 of file LinguisticGraph.h.

◆ VertexTokenPropertyMap

typedef boost::property_map<LinguisticGraph,vertex_token_t>::type VertexTokenPropertyMap

Definition at line 104 of file LinguisticGraph.h.

Enumeration Type Documentation

◆ vertex_chain_id_t

Enumerator
vertex_chain_id 

Definition at line 61 of file LinguisticGraph.h.

◆ vertex_data_t

Enumerator
vertex_data 

Definition at line 49 of file LinguisticGraph.h.

◆ vertex_token_t

Enumerator
vertex_token 

Definition at line 41 of file LinguisticGraph.h.

Function Documentation

◆ operator<<() [1/2]

LIMA_LINGUISTICANALYSISSTRUCTURE_EXPORT QDebug & operator<< ( QDebug &  qd,
const LinguisticGraphEdge &  edge 
)

Definition at line 22 of file LinguisticGraph.cpp.

◆ operator<<() [2/2]

LIMA_LINGUISTICANALYSISSTRUCTURE_EXPORT QDebug & operator<< ( QDebug &  qd,
LinguisticGraphEdge &  edge 
)

Definition at line 16 of file LinguisticGraph.cpp.