Sommet concept. More...
#include "cogitant/graphobject.h"
Public Types | |
enum | ReferentType { RT_GENERIC, RT_INDIVIDUAL, RT_VALUE, RT_GENERICVALUE } |
Type du référent d'un sommet concept. More... | |
Public Types inherited from cogitant::GraphObject | |
enum | Type { OT_CONCEPT, OT_RELATION, OT_NESTING, OT_INTERNALGRAPH, OT_COREFERENCECLASS } |
Type d'objet. More... | |
Public Member Functions | |
Constructeurs - destructeur. | |
Concept () | |
Constructeur. More... | |
Concept (Concept const &c) | |
Constructeur par recopie. More... | |
~Concept () | |
Destructeur. More... | |
Modifications. | |
void | setType (iSet t) |
Modifie le type du concept, à l'aide d'un type primitif. More... | |
void | setType (ConceptType::ConjunctiveType const &t) |
Modifie le type du concept, à l'aide d'un type conjonctif. More... | |
void | setReferent (ReferentType rt, iSet im) |
Modifie la valeur du référent du sommet. More... | |
void | setGeneric (iSet t) |
Modifie le sommet concept en sommet concept générique. More... | |
void | setGeneric (ConceptType::ConjunctiveType const &t) |
Modifie le sommet concept en sommet concept générique muni du type conjonctif passé. More... | |
void | setIndividual (iSet t, iSet im) |
Modifie le sommet concept en sommet concept individuel. More... | |
void | setIndividual (ConceptType::ConjunctiveType const &t, iSet im) |
Modifie le sommet concept en sommet concept individuel. More... | |
void | setLabel (iSet t, ReferentType rt, iSet im) |
Modifie l'étiquette du sommet concept. More... | |
void | setLabel (ConceptType::ConjunctiveType const &t, ReferentType rt, iSet im) |
Modifie l'étiquette du sommet concept. More... | |
void | addType (iSet t) |
Ajoute un type à la conjonction de types. More... | |
void | addType (ConceptType::ConjunctiveType const &t) |
Ajoute un ensemble de types à la conjonction de types. More... | |
void | delType (iSet t) |
Supprime un type à la conjonction de types. More... | |
void | setGenericValue (iSet dt) |
Modifie le sommet concept en sommet valeur générique. More... | |
void | setValueLiteral (std::string const &v) |
Modifie l'étiquette du sommet concept pour le transformer en sommet concept valeur de type DatatypeManager::LITERAL. More... | |
void | setValueString (std::string const &v, iSet dt=DatatypeManager::STRING) |
Modifie l'étiquette du sommet concept pour le transformer en sommet concept valeur contenant une chaîne. More... | |
void | setValueInteger (long v, iSet dt=DatatypeManager::INTEGER) |
Modifie l'étiquette du sommet concept pour le transformer en sommet concept valeur contenant un entier. More... | |
void | setValueFloat (float v, iSet dt=DatatypeManager::FLOAT) |
Modifie l'étiquette du sommet concept pour le transformer en sommet concept valeur contenant un réel. More... | |
void | setValueUserDatatype (UserDatatypeValue *v, iSet udt) |
Modifie l'étiquette du sommet concept pour le transformer en sommet concept valeur d'un datatype utilisateur. More... | |
Concept & | operator= (Concept const &c) |
Affectation. More... | |
Accesseurs. | |
std::string | toString () const |
Transformation en chaîne de caractères. More... | |
Type | objectType () const |
Type de l'objet. More... | |
iSet | primitiveType () const |
Type de l'élément. More... | |
iSet | datatype () const |
Type de données du sommet. More... | |
std::string | label () const |
std::string | valueToString () const |
Conversion simple de la valeur en chaîne. More... | |
long | valueInteger () const |
Accès sans aucune vérification à la valeur. More... | |
float | valueFloat () const |
Accès sans aucune vérification à la valeur. More... | |
std::string const & | valueString () const |
Accès sans aucune vérification à la valeur. More... | |
UserDatatypeValue const * | valueOther () const |
Accès sans aucune vérification à la valeur. More... | |
ReferentType | referentType () const |
Type de référent. More... | |
iSet | individual () const |
Marqueur individuel. More... | |
bool | hasSupportType () const |
Est-ce que le type du sommet est un type de concept du support. More... | |
bool | hasDatatype () const |
Est-ce que le type du sommet est un type de données. More... | |
bool | hasPrimitiveType () const |
Est-ce que le type du sommet est défini sous la forme d'un type primitif. More... | |
bool | hasConjunctiveType () const |
Est-ce que le type du sommet est défini sous la forme d'un type conjonctif (c'est à dire un vecteur de iSet) ou un type primitif (un iSet). More... | |
ConceptType::ConjunctiveType const & | conjunctiveType () const |
Accès au type conjonctif. More... | |
void | conceptType (ConceptType::ConjunctiveType &result) const |
Cette méthode peut être appelée dans tous les cas, que le type du sommet soit défini sous la forme d'un type primitif ou sous la forme d'un type conjonctif. More... | |
iSet | type () const |
Retourne le type primitif. More... | |
bool | hasType (iSet t) const |
Est-ce que le type conjonctif contient le type primitif passé. More... | |
Public Member Functions inherited from cogitant::GraphObject | |
GraphObject () | |
Constructeur. More... | |
Concept * | asConcept () |
Conversion explicite de l'objet en sommet concept. More... | |
Relation * | asRelation () |
Conversion explicite de l'objet en sommet relation. More... | |
Nesting * | asNesting () |
Conversion explicite de l'objet en emboîtement. More... | |
InternalGraph * | asInternalGraph () |
Conversion explicite de l'objet en graphe interne. More... | |
CoreferenceClass * | asCoreferenceClass () |
Conversion explicite de l'objet en classe de coreference. More... | |
Concept const * | asConcept () const |
Conversion explicite de l'objet en sommet concept. More... | |
Relation const * | asRelation () const |
Conversion explicite de l'objet en sommet relation. More... | |
Nesting const * | asNesting () const |
Conversion explicite de l'objet en emboîtement. More... | |
InternalGraph const * | asInternalGraph () const |
Conversion explicite de l'objet en graphe interne. More... | |
CoreferenceClass const * | asCoreferenceClass () const |
Conversion explicite de l'objet en classe de coréférence. More... | |
Public Member Functions inherited from cogitant::CogitantObject | |
CogitantObject () | |
Constructeur. More... | |
CogitantObject (CogitantObject const &o) | |
Constructeur par recopie. More... | |
virtual | ~CogitantObject () |
Destructeur. More... | |
PropertySet * | properties () |
Accès à l'ensemble des propriétés. More... | |
std::string | className () const |
Nom de la classe. More... | |
PropertySet const * | properties () const |
Accès en lecture seule à l'ensemble des propriétés. More... | |
bool | hasProperties () const |
Existence de propriétés. More... | |
CogitantObject & | operator= (CogitantObject const &ob) |
Affectation. More... | |
Protected Attributes | |
iSet | m_primitivetype |
Type primitif. More... | |
union { | |
struct { | |
ConceptType::ConjunctiveType * m_conjunctivetype | |
Type conjonctif. More... | |
iSet m_individual | |
Marqueur individuel. More... | |
} m_genericindividual | |
Sommet concept "classique" : générique ou individuel. More... | |
struct { | |
bool m_generic | |
Valeur générique ou pas. More... | |
union { | |
long m_integer | |
Sommet concept valeur : long, utilisé dans le cas où DatatypeManager::isInteger(m_primitivetype). More... | |
float m_float | |
Sommet concept valeur : float, utilisé dans le cas où DatatypeManager::isFloat(m_primitivetype). More... | |
std::string * m_string | |
Sommet concept valeur : string, utilisé dans le cas où DatatypeManager::isString(m_primitivetype). More... | |
UserDatatypeValue * m_other | |
Sommet concept valeur : autre type de valeur. More... | |
} | |
Valeur portée par le sommet concept valeur. More... | |
} m_value | |
Sommet concept valeur. More... | |
}; | |
Partie variable de l'étiquette du sommet. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from cogitant::CogitantObject | |
virtual PropertySet * | allocProperties () const |
Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More... | |
Sommet concept.
cogitant::Concept::Concept | ( | ) |
Constructeur.
cogitant::Concept::Concept | ( | Concept const & | c | ) |
Constructeur par recopie.
cogitant::Concept::~Concept | ( | ) |
Destructeur.
void cogitant::Concept::addType | ( | iSet | t | ) |
Ajoute un type à la conjonction de types.
Cette méthode peut être appelée dans tous les cas, que le type du sommet soit un type primitif (auquel cas, le type devient un type conjonctif) ou un type déjà conjonctif. Aucune vérification n'est effectuée : il est possible d'ajouter deux fois le même type, ou d'utiliser un type conjonctif interdit.
t | nouveau type (primitif, repéré par son identificateur dans le support) à ajouter. |
void cogitant::Concept::addType | ( | ConceptType::ConjunctiveType const & | t | ) |
Ajoute un ensemble de types à la conjonction de types.
Cette méthode peut être appelée dans tous les cas, que le type du sommet soit un type primitif (auquel cas, le type devient un type conjonctif) ou un type déjà conjonctif. Aucune vérification n'est effectuée : il est possible d'ajouter deux fois le même type, ou d'utiliser un type conjonctif interdit.
t | ensemble de types à ajouter. |
void cogitant::Concept::conceptType | ( | ConceptType::ConjunctiveType & | result | ) | const |
Cette méthode peut être appelée dans tous les cas, que le type du sommet soit défini sous la forme d'un type primitif ou sous la forme d'un type conjonctif.
ConceptType::ConjunctiveType const& cogitant::Concept::conjunctiveType | ( | ) | const |
Accès au type conjonctif.
|
inline |
Type de données du sommet.
void cogitant::Concept::delType | ( | iSet | t | ) |
Supprime un type à la conjonction de types.
t | type à supprimer. |
|
inline |
Est-ce que le type du sommet est défini sous la forme d'un type conjonctif (c'est à dire un vecteur de iSet) ou un type primitif (un iSet).
Si cette méthode retourne true, il faut appeler conjunctiveType() pour connaître le type, sinon il faut appeler type().
References cogitant::ISET_NULL.
|
inline |
Est-ce que le type du sommet est un type de données.
References cogitant::DatatypeManager::isDatatype().
|
inline |
Est-ce que le type du sommet est défini sous la forme d'un type primitif.
Si cette méthode retourne true, il faut appeler type() pour connaître le type sinon il faut appeler conjunctiveType().
References cogitant::ISET_NULL.
|
inline |
Est-ce que le type du sommet est un type de concept du support.
References cogitant::DatatypeManager::isDatatype(), and cogitant::ISET_NULL.
bool cogitant::Concept::hasType | ( | iSet | t | ) | const |
Est-ce que le type conjonctif contient le type primitif passé.
t | type à rechercher. |
|
inline |
Marqueur individuel.
|
virtual |
Type de l'objet.
Cette méthode doit être redéfinie dans toutes les classes concrètes.
Implements cogitant::GraphObject.
|
inline |
Type de l'élément.
|
inline |
Type de référent.
References cogitant::DatatypeManager::isDatatype(), and cogitant::ISET_NULL.
void cogitant::Concept::setGeneric | ( | iSet | t | ) |
Modifie le sommet concept en sommet concept générique.
t | identifiant du type de concept (se rapporte à l'ensemble des types de concepts du support sur lequel le graphe est défini). |
void cogitant::Concept::setGeneric | ( | ConceptType::ConjunctiveType const & | t | ) |
Modifie le sommet concept en sommet concept générique muni du type conjonctif passé.
t | type conjonctif (se rapporte à l'ensemble des types de concepts du support sur lequel le graphe est défini). |
void cogitant::Concept::setGenericValue | ( | iSet | dt | ) |
Modifie le sommet concept en sommet valeur générique.
dt | identifiant de datatype. |
Modifie le sommet concept en sommet concept individuel.
t | identifiant du type de concept (se rapporte à l'ensemble des types de concepts du support sur lequel le graphe est défini). |
im | identifiant du marqueur individuel (se rapporte à l'ensemble des marqueurs individuels du support sur lequel le graphe est défini). |
void cogitant::Concept::setIndividual | ( | ConceptType::ConjunctiveType const & | t, |
iSet | im | ||
) |
Modifie le sommet concept en sommet concept individuel.
t | type conjonctif (se rapporte à l'ensemble des types de concepts du support sur lequel le graphe est défini). |
im | identifiant du marqueur individuel (se rapporte à l'ensemble des marqueurs individuels du support sur lequel le graphe est défini). |
void cogitant::Concept::setLabel | ( | iSet | t, |
ReferentType | rt, | ||
iSet | im | ||
) |
Modifie l'étiquette du sommet concept.
t | identifiant du type de concept (se rapporte à l'ensemble des types de concepts du support sur lequel le graphe est défini). |
rt | type du référent. |
im | identifiant du marqueur individuel (se rapporte à l'ensemble des marqueurs individuels du support sur lequel le graphe est défini). Cette valeur n'est prise en compte uniquement si rt = RT_INDIVIDUAL, sinon elle est ignorée. |
void cogitant::Concept::setLabel | ( | ConceptType::ConjunctiveType const & | t, |
ReferentType | rt, | ||
iSet | im | ||
) |
Modifie l'étiquette du sommet concept.
t | type conjonctif (se rapporte à l'ensemble des types de concepts du support sur lequel le graphe est défini). |
rt | type du référent. |
im | identifiant du marqueur individuel (se rapporte à l'ensemble des marqueurs individuels du support sur lequel le graphe est défini). Cette valeur n'est prise en compte uniquement si rt = RT_INDIVIDUAL, sinon elle est ignorée. |
void cogitant::Concept::setReferent | ( | ReferentType | rt, |
iSet | im | ||
) |
Modifie la valeur du référent du sommet.
rt | type du référent. |
im | identifiant du marqueur individuel (se rapporte à l'ensemble des marqueurs individuels du support sur lequel le graphe est défini). Cette valeur n'est prise en compte uniquement si rt = RT_INDIVIDUAL, sinon elle est ignorée. |
void cogitant::Concept::setType | ( | iSet | t | ) |
Modifie le type du concept, à l'aide d'un type primitif.
t | nouvelle valeur de m_primitivetype. |
void cogitant::Concept::setType | ( | ConceptType::ConjunctiveType const & | t | ) |
Modifie le type du concept, à l'aide d'un type conjonctif.
t | nouvelle valeur de m_conjunctivetype. |
void cogitant::Concept::setValueFloat | ( | float | v, |
iSet | dt = DatatypeManager::FLOAT |
||
) |
Modifie l'étiquette du sommet concept pour le transformer en sommet concept valeur contenant un réel.
v | nouvelle valeur. |
dt | nouveau type de données. |
void cogitant::Concept::setValueInteger | ( | long | v, |
iSet | dt = DatatypeManager::INTEGER |
||
) |
Modifie l'étiquette du sommet concept pour le transformer en sommet concept valeur contenant un entier.
v | nouvelle valeur. |
dt | nouveau type de données. |
void cogitant::Concept::setValueLiteral | ( | std::string const & | v | ) |
Modifie l'étiquette du sommet concept pour le transformer en sommet concept valeur de type DatatypeManager::LITERAL.
v | nouvelle valeur. |
void cogitant::Concept::setValueString | ( | std::string const & | v, |
iSet | dt = DatatypeManager::STRING |
||
) |
Modifie l'étiquette du sommet concept pour le transformer en sommet concept valeur contenant une chaîne.
v | nouvelle valeur. |
dt | nouveau type de données. |
void cogitant::Concept::setValueUserDatatype | ( | UserDatatypeValue * | v, |
iSet | udt | ||
) |
Modifie l'étiquette du sommet concept pour le transformer en sommet concept valeur d'un datatype utilisateur.
v | Valeur. |
udt | Datatype utilisateur. |
|
virtual |
Transformation en chaîne de caractères.
Il est préférable de redéfinir cette méthode dans les sous classes pour l'adapter aux spécificités de chaque classe. Habituellement, cette méthode doit retourner une chaîne assez courte.
Reimplemented from cogitant::CogitantObject.
iSet cogitant::Concept::type | ( | ) | const |
Retourne le type primitif.
Cette méthode retourne le type primitif s'il est défini, et dans le cas où le sommet est muni d'un type conjonctif, elle retourne un type primitif formant ce type conjonctif. Il n'est donc pas conseillé d'utiliser cette méthode.
|
inline |
Accès sans aucune vérification à la valeur.
Cette méthode ne doit être utilisée que si DatatypeManager::isFloat(datatype()).
|
inline |
Accès sans aucune vérification à la valeur.
Cette méthode ne doit être utilisée que si DatatypeManager::isInteger(datatype()).
|
inline |
Accès sans aucune vérification à la valeur.
Cette méthode ne doit être utilisée que si DatatypeManager::isUserDatatype(datatype()).
|
inline |
Accès sans aucune vérification à la valeur.
Cette méthode ne doit être utilisée que si DatatypeManager::isString(datatype()).
std::string cogitant::Concept::valueToString | ( | ) | const |
Conversion simple de la valeur en chaîne.
union { ... } |
Partie variable de l'étiquette du sommet.
Cette partie variable dépend du type du sommet : s'il s'agit d'un sommet générique ou d'un sommet individuel, la partie variable est composée d'un (pointeur sur) un type conjonctif et d'un marqueur individuel. S'il s'agit d'un sommet valeur, la partie variable contient la valeur.
ConceptType::ConjunctiveType* cogitant::Concept::m_conjunctivetype |
Type conjonctif.
Si le sommet concept a un type primitif, m_conjunctivetype vaut NULL, et le type primitif est contenu dans m_primitivetype.
float cogitant::Concept::m_float |
Sommet concept valeur : float, utilisé dans le cas où DatatypeManager::isFloat(m_primitivetype).
bool cogitant::Concept::m_generic |
Valeur générique ou pas.
struct { ... } cogitant::Concept::m_genericindividual |
Sommet concept "classique" : générique ou individuel.
iSet cogitant::Concept::m_individual |
Marqueur individuel.
Si le sommet concept est générique, m_individual vaut ISET_NULL.
long cogitant::Concept::m_integer |
Sommet concept valeur : long, utilisé dans le cas où DatatypeManager::isInteger(m_primitivetype).
UserDatatypeValue* cogitant::Concept::m_other |
Sommet concept valeur : autre type de valeur.
|
protected |
Type primitif.
Cet attribut mémorise si le sommet est générique ou individuel (dans ce cas, DatatypeManager::isDatatype(m_primitivetype) == false) ou un sommet valeur (... == true). Si le sommet concept générique ou individuel a un type conjonctif, m_primitivetype vaut ISET_NULL, et le type conjonctif est contenu dans m_genericindividual.m_conjunctivetype.
std::string* cogitant::Concept::m_string |
Sommet concept valeur : string, utilisé dans le cas où DatatypeManager::isString(m_primitivetype).
struct { ... } cogitant::Concept::m_value |
Sommet concept valeur.