LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
languageData.h
Go to the documentation of this file.
1// Copyright 2002-2020 CEA LIST
2// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3//
4// SPDX-License-Identifier: MIT
5
6/***************************************************************************
7 * Copyright (C) 2004 by CEA - LIST *
8 * *
9 ***************************************************************************/
10
11
12
13#ifndef LIMA_COMMONS_LINGUISTICDATA_LANGUAGEDATA_H
14#define LIMA_COMMONS_LINGUISTICDATA_LANGUAGEDATA_H
15
16#include "common/LimaCommon.h"
19
20#include <stdexcept>
21#include <list>
22#include <vector>
23#include <set>
24
25namespace Lima
26{
27
28namespace Common
29{
30 namespace PropertyCode {
31 class PropertyCodeManager;
32 }
33 namespace XMLConfigurationFiles {
34 class XMLConfigurationFileParser;
35 }
36namespace MediaticData
37{
38#define LANGUAGEDATA_CLASSID "LanguageData"
39
40#define ID_NONE_1 L_NONE
41#define SYMBOLIC_NONE_1 "NONE_1"
42
45
46typedef uint64_t SyntacticRelationId;
47
61{
62public:
63
65
66 virtual ~LanguageData();
67
73 virtual void initialize(
74 MediaId lang,
75 const std::string& resourcesPath,
77
78 const PropertyCode::PropertyCodeManager& getPropertyCodeManager() const;
79
81 const std::vector<std::set<LinguisticCode> >& getMicrosForNENormalization() const;
82
84 bool isAnEmptyMacroCategory(LinguisticCode id) const ;
85
87 bool isAnEmptyMicroCategory(LinguisticCode id) const ;
88
89 bool isAConjugatedVerb(LinguisticCode id) const;
90
91 bool isAPropositionIntroductor(LinguisticCode id) const;
92
93 bool isTypeARelationForChain(ChainsType, uint64_t) const;
94
95 LinguisticCode compoundTense(LinguisticCode mode, LinguisticCode auxTense) const;
96 LinguisticCode compoundTense(std::string& mode, std::string& auxTense) const;
97
98 std::set< LinguisticCode >& getNounPhraseHeadMicroCategories();
99
100 const std::set< LinguisticCode >& getNounPhraseHeadMicroCategories() const;
101 const std::set< LinguisticCode >& getDefiniteMicroCategories() const;
102 const std::set< LinguisticCode >& getConjugatedVerbs() const;
103
104 typedef std::map<std::string,uint64_t> EntityTypes;
105 typedef std::map<uint64_t,std::string> EntityNames;
106
108 const std::string& typeName) const;
109 LinguisticCode getEntityType(const std::string& entity,
110 const std::string& typeName) const;
111
112 // same but using common types identifiers (defined in linguisticData)
113 LinguisticCode getEntityCommonType(const std::string& entity,
114 const std::string& typeName) const;
115
116 const std::string& getEntityName(const std::string& entity,
117 LinguisticCode type) const;
118
119 const EntityTypes& getEntityTypes(const std::string& entity) const;
120 // not a const reference because the result object is built
121 // inside the function
122 EntityNames getEntityNames(const std::string& entity) const;
123
124 const std::string& getSyntacticRelationName(SyntacticRelationId id) const;
125 SyntacticRelationId getSyntacticRelationId(const std::string& name) const;
126
134 const std::map<QString, QString>& getLimaToLanguageCodeMapping() const;
139 QString getLimaToLanguageCodeMappingValue(const QString& code) const;
142private:
143 LanguageData(const LanguageData& ld);
144 LanguageData& operator=(const LanguageData& ld);
146};
147
148} // MediaticData
149} // Common
150} // Lima
151
152#endif
#define LIMA_LINGUISTICDATA_EXPORT
Holds linguistic data for one language.
const std::string & getEntityName(const std::string &entity, LinguisticCode type) const
const EntityTypes & getEntityTypes(const std::string &entity) const
LinguisticCode getEntityCommonType(const std::string &entity, const std::string &typeName) const
LinguisticCode getEntityType(const std::string &entity, const std::string &typeName) const
std::map< uint64_t, std::string > EntityNames
LinguisticCode getEntityType(const EntityTypes &entityTypes, const std::string &typeName) const
EntityNames getEntityNames(const std::string &entity) const
const std::vector< std::set< LinguisticCode > > & getMicrosForNENormalization() const
std::map< std::string, uint64_t > EntityTypes
Holds mediatic data for one media.
Definition mediaData.h:50
Provide tools to parse a property file, and deal with the property coding system.
Parser class for the lima's xml configuration files.
ChainsType
syntactic chains type
NAUTITIA.