Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

List of all members
cogitant::ColoredGraphConstraint Class Reference

Contrainte de graphe conceptuel (ancienne représentation : graphe bicolore). More...

#include "cogitant/coloredgraph.h"

Inheritance diagram for cogitant::ColoredGraphConstraint:
cogitant::ColoredGraph cogitant::Graph cogitant::EnvironmentObject cogitant::ObservableObject cogitant::CogitantObject

Public Member Functions

Constructeurs - destructeur.
 ColoredGraphConstraint (bool positive, Environment const *env, GraphAllocator const *alloc=NULL)
 Constructeur. More...
 
 ColoredGraphConstraint (ColoredGraphConstraint const &o, Environment const *env=NULL, GraphAllocator const *alloc=NULL)
 Constructeur par recopie. More...
 
virtual ~ColoredGraphConstraint ()
 Destructeur. More...
 
Modifications.
void initNature ()
 Vérification de la propriété nature. More...
 
Accesseurs.
Type objectType () const
 Type de l'objet. More...
 
bool isPositive () const
 Est-ce que la contrainte est positive ?
 
bool isNegative () const
 Est-ce que la contrainte est négative ?
 
Opérateurs
ColoredGraphConstraintoperator= (ColoredGraphConstraint const &ob)
 Affectation. More...
 
- Public Member Functions inherited from cogitant::ColoredGraph
 ColoredGraph (Environment const *env, GraphAllocator const *alloc=NULL)
 Constructeur. More...
 
 ColoredGraph (Graph const &o, bool external=false, Environment const *env=NULL, GraphAllocator const *alloc=NULL)
 Constructeur par recopie. More...
 
virtual ~ColoredGraph ()
 Destructeur. More...
 
void color (iSet node, unsigned int c)
 Modification de la couleur d'un noeud du graphe. More...
 
unsigned int color (iSet node) const
 Accès à la couleur d'un noeud du graphe. More...
 
GraphSubset coloredSubset (unsigned int c) const
 Accès au sous ensemble des noeuds du graphe qui portent la couleur. More...
 
void coloredSubset (unsigned int c, GraphSubset &s) const
 Ajout des noeuds d'une couleur donnée à un sous ensemble donné. More...
 
ColoredGraphoperator= (Graph const &ob)
 Affectation. More...
 
- Public Member Functions inherited from cogitant::Graph
 Graph (Environment const *env, GraphAllocator const *alloc=NULL)
 Constructeur. More...
 
 Graph (Graph const &o, bool external=false, Environment const *env=NULL, GraphAllocator const *alloc=NULL)
 Constructeur par recopie. More...
 
 ~Graph ()
 Destructeur. More...
 
Set< GraphObject * > * nodes ()
 Ensemble des noeuds du graphe. More...
 
Set_Simple_Final< Set_Simple_Final< Edge > * > * edges ()
 Ensemble des arêtes du graphe. More...
 
GraphObjectnodes (iSet i)
 Accès direct à un noeud par son identificateur. More...
 
Set_Simple_Final< Edge > * edges (iSet i)
 Accès direct aux voisins d'un noeud par son identificateur. More...
 
iSet newInternalGraph (iSet idparent)
 Création d'un graphe interne (InternalGraph). More...
 
iSet newGenericConcept (iSet t, iSet idparent=0)
 Création d'un sommet Concept générique. More...
 
iSet newGenericConcept (ConceptType::ConjunctiveType const &t, iSet idparent=0)
 Création d'un sommet concept générique muni d'un type conjonctif. More...
 
iSet newGenericConcept (std::string const &t, iSet idparent=0)
 Création d'un sommet Concept générique. More...
 
iSet newGenericConcept (std::vector< std::string > const &t, iSet idparent=0)
 Création d'un sommet concept générique muni d'un type conjonctif. More...
 
iSet newIndividualConcept (iSet t, iSet im, iSet idparent=0)
 Création d'un sommet Concept individuel. More...
 
iSet newIndividualConcept (ConceptType::ConjunctiveType const &t, iSet im, iSet idparent=0)
 Création d'un sommet Concept individuel muni d'un type conjonctif. More...
 
iSet newIndividualConcept (std::string const &t, std::string const &im, iSet idparent=0)
 Création d'un sommet Concept individuel. More...
 
iSet newIndividualConcept (std::vector< std::string > const &t, std::string const &im, iSet idparent=0)
 Création d'un sommet Concept individuel muni d'un type conjonctif. More...
 
iSet newValueConcept (iSet t, std::string const &value, iSet idparent=0)
 Création d'un sommet Concept valeur. More...
 
iSet newValueConcept (std::string const &t, std::string const &value, iSet idparent=0)
 Création d'un sommet Concept valeur. More...
 
iSet newGenericValueConcept (iSet t, iSet idparent=0)
 Création d'un sommet Concept valeur avec la valeur générique du datatype passé. More...
 
iSet newGenericValueConcept (std::string const &t, iSet idparent=0)
 Création d'un sommet Concept valeur avec la valeur générique du datatype passé. More...
 
iSet newRelation (iSet t, iSet idparent=0)
 Création d'un sommet Relation. More...
 
iSet newRelation (std::string const &t, iSet idparent=0)
 Création d'un sommet Relation. More...
 
iSet newRelation (iSet t, std::vector< iSet > const &n, iSet idparent=0)
 Création d'un sommet Relation. More...
 
iSet newRelation (std::string const &t, std::vector< iSet > const &n, iSet idparent=0)
 Création d'un sommet Relation. More...
 
iSet newBinaryRelation (iSet t, iSet c1, iSet c2)
 Création d'un sommet Relation binaire. More...
 
iSet newBinaryRelation (std::string const &t, iSet c1, iSet c2)
 Création d'un sommet Relation binaire. More...
 
iSet newNesting (iSet t, iSet idparent)
 Création d'un emboîtement (Nesting). More...
 
iSet newNesting (std::string const &t, iSet idparent)
 Création d'un emboîtement (Nesting). More...
 
iSet newNesting (iSet t, iSet idparent, Graph const &g, bool fusioncc=false)
 Création d'un emboîtement (Nesting) contenant un graphe déjà créé. More...
 
iSet newCoreferenceClass (std::string name="")
 Création d'une classe de coréférence (CoreferenceClass). More...
 
iSet newNode (GraphObject const *o, iSet idparent=0)
 Création d'un objet dans le graphe par copie d'un objet existant. More...
 
void addGraph (Graph const &h, iSet parent=0, bool fusioncc=false, GraphSubset *subh=NULL)
 Ajout d'un sous ensemble de graphe au graphe. More...
 
void deleteObject (iSet i, bool compact=true, bool msg=true, bool pendingvertices=true)
 Suppression d'un objet. More...
 
void deleteObjects (GraphSubset const &gs, bool compact=true, bool msg=true, bool pendingvertices=true)
 Suppression d'objets. More...
 
void deleteNestings (iSet icn)
 Suppression des emboîtements d'un sommet concept. More...
 
void clear ()
 Vider le graphe. More...
 
void link (iSet r, unsigned int l, iSet c)
 Lie un sommet relation avec un sommet concept. More...
 
void recreateNeighbourhood (iSet r)
 Recalcule les voisins du sommet relation r après un changement de type). More...
 
void addCoreference (iSet concept, iSet coref)
 Ajout d'un sommet concept à une classe de coréférence. More...
 
void removeCoreference (iSet concept, iSet coref)
 Suppression d'un sommet concept d'une classe de coréférence. More...
 
iSet addCoreferenceLink (iSet c1, iSet c2)
 Ajout d'un lien de coréférence entre deux sommet soncepts. More...
 
iSet fusionCoreferenceClasses (iSet cc1, iSet cc2, bool compact=true)
 Fusion de deux classes de coréférence. More...
 
void addSimplifyConceptType (iSet icn, iSet ct)
 Ajout d'un type à un sommet concept et simplification du type de ce sommet. More...
 
void addSimplifyConceptType (iSet icn, ConceptType::ConjunctiveType const &ct)
 Ajout d'un type à un sommet concept et simplification du type de ce sommet. More...
 
void simplifyConceptType (iSet c)
 Simplification du type d'un sommet concept. More...
 
void changeConceptValue (iSet c, std::string const &v)
 Modifie la valeur portée par un sommet concept. More...
 
void removeProperty (Property::Type pt)
 Supprime la propriété passée de tous les GraphObject composant le graphe. More...
 
void changeProperty (iSet inode)
 Cette méthode se charge de notifier les observateurs du graphe avec un ObserverMessage::GRAPH_NODE_CHANGE. More...
 
virtual void reserveNodes (nSet const size)
 Réservation d'espace dans l'ensemble des noeuds (concepts, relations, emboîtements, graphes internes). More...
 
void setExternalMode (bool ext)
 Fixe le mode d'ajout des nouveaux noeuds. More...
 
void setInCoupleOfLambdas (CoupleOfLambdas const *r)
 Modification du couple de lambas-graphes contenant le graphe. More...
 
void compact (bool msg=true)
 Compactage des objets composant le graphe. More...
 
void merge (bool addtypes, iSet c1, iSet c2, bool compact=true, bool msg=true)
 Fusion de deux sommets concepts avec ajout au premier des types du second. More...
 
void join (iSet c1, iSet c2)
 Fusion de deux sommets concepts ayant la même étiquette et n'ayant pas d'emboîtements. More...
 
Type objectType () const
 Type de l'objet. More...
 
void individualMarkers (std::vector< iSet > &im)
 Ajoute à l'ensemble passé l'ensemble des marqueurs individuels utilisés dans l'EnvironmentObject. More...
 
std::string iSetString () const
 Retourne une chaine contenant l'identifiant de l'objet pouvant être utile pour du débogage. More...
 
Set< GraphObject * > const * nodes () const
 Ensemble des noeuds. More...
 
GraphObject const * nodes (iSet i) const
 Accès direct à un noeud par son identificateur. More...
 
Set_Simple_Final< Set_Simple_Final< Edge > * > const * edges () const
 Ensemble des arêtes étiquetées. More...
 
Set_Simple_Final< Edge > const * edges (iSet i) const
 Accès direct aux voisins d'un noeud par son identificateur. More...
 
bool edgeP (iSet a, iSet b, Edge::Label l) const
 Existence d'une arc étiqueté l entre les éléments a et b. More...
 
std::string coreferenceClassUniqueName () const
 Détermination d'un nom utilisé par aucune classe de coréférence. More...
 
CoupleOfLambdas const * inCoupleOfLambdas () const
 Couple de lambda-graphes dans laquelle se trouve le Graph. More...
 
GraphAllocator const * allocator () const
 Allocateur du graphe. More...
 
const_iterator begin () const
 Retourne un itérateur de début pour le parcours des éléments du graphe. More...
 
iterator begin ()
 Retourne un itérateur de début pour le parcours des éléments du graphe. More...
 
const_iterator end () const
 Retourne un itérateur de fin pour le parcours des éléments du graphe. More...
 
concept_const_iterator conceptBegin (iSet const idp=ISET_NULL) const
 
concept_iterator conceptBegin (iSet const idp=ISET_NULL)
 
concept_const_iterator conceptEnd (iSet const idp=ISET_NULL) const
 
relation_const_iterator relationBegin (iSet const idp=ISET_NULL) const
 
relation_iterator relationBegin (iSet const idp=ISET_NULL)
 
relation_const_iterator relationEnd (iSet const idp=ISET_NULL) const
 
nesting_const_iterator nestingBegin (iSet const idp=ISET_NULL) const
 
nesting_iterator nestingBegin (iSet const idp=ISET_NULL)
 
nesting_const_iterator nestingEnd (iSet const idp=ISET_NULL) const
 
internalgraph_const_iterator internalGraphBegin (iSet const idp=ISET_NULL) const
 
internalgraph_iterator internalGraphBegin (iSet const idp=ISET_NULL)
 
internalgraph_const_iterator internalGraphEnd (iSet const idp=ISET_NULL) const
 
coreferenceclass_const_iterator coreferenceClassBegin () const
 
coreferenceclass_iterator coreferenceClassBegin ()
 
coreferenceclass_const_iterator coreferenceClassEnd () const
 
iSet parent (iSet i) const
 Identificateur du parent d'un objet. More...
 
iSet root () const
 Identificateur du InternalGraph racine. More...
 
iSet nestedGraph (iSet nesting) const
 Identificateur du graphe emboîté dans l'emboîtement. More...
 
iSet relationNeighbour (iSet r, Edge::Label l) const
 Identificateur d'un voisin d'un sommet relation. More...
 
iSet findCoreferenceClass (std::string const &name) const
 Recherche d'une classe de coréférence par son nom. More...
 
iSet coreferenceClass (iSet concept) const
 Classe de coréférence d'un sommet concept. More...
 
iSet coreferenceClassVertex (iSet coref) const
 Accès à un sommet de la classe de coréférence. More...
 
bool coreferentConcepts (iSet c1, iSet c2, bool cc=true) const
 Est-ce que les deux sommets concepts sont coréférents (portent le même marqueur individuel ou associés à la même classe de coréférence) ou pas. More...
 
nSet size (GraphObject::Type t) const
 Nombre d'objets du graphe d'un type donné. More...
 
nSet conceptSize () const
 Nombre de sommets concepts. More...
 
nSet relationSize () const
 Nombre de sommets relations. More...
 
unsigned int relationArity (iSet r) const
 Arité du sommet relation. More...
 
iSet findIndividual (iSet m, iSet ig=0) const
 Recherche d'un sommet concept individuel étiqueté par le marqueur passé. More...
 
iSet findByIdentifier (std::string const &id) const
 Recherche d'un noeud du graphe par son identificateur chargé depuis un fichier (Property::IDENTIFIER). More...
 
void ensureObject (iSet i) const
 S'assure de l'existence d'un objet du graphe. More...
 
void ensureObject (iSet i, GraphObject::Type t) const
 S'assure de l'existence d'un objet du graphe et vérifie son type. More...
 
nSet heavyObjects () const
 Retourne le nombre d'objets ayant des propriétés (et occupant donc plus d'espace mémoire que les objets simples). More...
 
Graphoperator= (Graph const &ob)
 Affectation. More...
 
void printInternalInfo (std::ostream &os) const
 Affichage d'informations pouvant être utiles à l'optimisation. More...
 
- Public Member Functions inherited from cogitant::EnvironmentObject
 EnvironmentObject (Environment const *env)
 Constructeur. More...
 
 EnvironmentObject (EnvironmentObject const &o, Environment const *env=NULL)
 Constructeur par recopie. More...
 
 ~EnvironmentObject ()
 Destructeur. More...
 
GraphasGraph ()
 Conversion explicite de l'objet en graphe conceptuel. More...
 
RuleasRule ()
 Conversion explicite de l'objet en règle. More...
 
ConstraintasConstraint ()
 Conversion explicite de l'objet en contrainte. More...
 
ColoredGraphConstraintasColoredGraphConstraint ()
 Conversion explicite de l'objet en contrainte sous forme de graphe bicoloré. More...
 
CoupleOfLambdasasCoupleOfLambdas ()
 Conversion explicite de l'objet en couple de lambdas graphes. More...
 
virtual void setName (std::string const &n)
 Changement du nom de l'objet. More...
 
void setId (iSet id)
 Changement de l'identificateur d'environnement. More...
 
virtual void setEnvironment (Environment const *env)
 Changement de l'environnement de l'objet. More...
 
std::vector< EnvironmentObjectExtension * > & extensions ()
 Accès aux extensions de l'objet. More...
 
EnvironmentObjectExtensionextension (const char *id)
 Accès à une extension de l'objet par son identifiant. More...
 
void addExtension (EnvironmentObjectExtension *ext)
 Ajoute une extension. More...
 
Graph const * asGraph () const
 Conversion explicite de l'objet en graphe conceptuel. More...
 
Rule const * asRule () const
 Conversion explicite de l'objet en règle. More...
 
Constraint const * asConstraint () const
 Conversion explicite de l'objet en contrainte. More...
 
ColoredGraphConstraint const * asColoredGraphConstraint () const
 Conversion explicite de l'objet en contrainte sous forme de graphe bicoloré. More...
 
CoupleOfLambdas const * asCoupleOfLambdas () const
 Conversion explicite de l'objet en couple de lambdas graphes. More...
 
virtual std::string name () const
 Nom de l'objet. More...
 
iSet id () const
 Identificateur de l'objet dans l'Environment. More...
 
Environment const * environment () const
 Environnement dans lequel l'objet est défini. More...
 
Support const * support () const
 Support sur lequel l'objet est défini. More...
 
std::vector< EnvironmentObjectExtension * > const & extensions () const
 Accès aux extensions de l'objet. More...
 
EnvironmentObjectExtension const * extension (const char *id) const
 Accès à une extension de l'objet par son identifiant. More...
 
- Public Member Functions inherited from cogitant::ObservableObject
 ObservableObject ()
 Constructeur. More...
 
 ObservableObject (ObservableObject const &o)
 Constructeur par recopie. More...
 
 ~ObservableObject ()
 Destructeur. More...
 
ObserverSet const & observers () const
 Accès à l'ensemble des observateurs. More...
 
bool hasObservers () const
 Existence d'observateurs. More...
 
bool hasObservers (ObserverMessage::Type mt) const
 Existence d'observateurs qui écoutent le type de message passé. More...
 
void attachObserver (Observer *obs)
 Ajoute un nouvel observateur à l'objet. More...
 
void detachObserver (Observer *obs)
 Supprime le lien entre l'observateur et l'objet. More...
 
void notifyObservers (ObserverMessage const *msg)
 Envoie le message de modification à tous les observateurs. More...
 
- Public Member Functions inherited from cogitant::CogitantObject
 CogitantObject ()
 Constructeur. More...
 
 CogitantObject (CogitantObject const &o)
 Constructeur par recopie. More...
 
virtual ~CogitantObject ()
 Destructeur. More...
 
PropertySetproperties ()
 Accès à l'ensemble des propriétés. More...
 
virtual std::string toString () const
 Transformation en chaîne de caractères. 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...
 
CogitantObjectoperator= (CogitantObject const &ob)
 Affectation. More...
 

Additional Inherited Members

- Public Types inherited from cogitant::Graph
typedef Set< GraphObject * >::iterator iterator
 
typedef Set< GraphObject * >::const_iterator const_iterator
 
typedef GraphObjectCondIterator< Concept *, Concept *&, GraphObject::OT_CONCEPTconcept_iterator
 
typedef GraphObjectCondIterator< Concept *, Concept const *const &, GraphObject::OT_CONCEPTconcept_const_iterator
 
typedef GraphObjectCondIterator< Relation *, Relation *&, GraphObject::OT_RELATIONrelation_iterator
 
typedef GraphObjectCondIterator< Relation *, Relation const *const &, GraphObject::OT_RELATIONrelation_const_iterator
 
typedef GraphObjectCondIterator< Nesting *, Nesting *&, GraphObject::OT_NESTINGnesting_iterator
 
typedef GraphObjectCondIterator< Nesting *, Nesting const *const &, GraphObject::OT_NESTINGnesting_const_iterator
 
typedef GraphObjectCondIterator< InternalGraph *, InternalGraph *&, GraphObject::OT_INTERNALGRAPHinternalgraph_iterator
 
typedef GraphObjectCondIterator< InternalGraph *, InternalGraph const *const &, GraphObject::OT_INTERNALGRAPHinternalgraph_const_iterator
 
typedef GraphObjectCondIterator< CoreferenceClass *, CoreferenceClass *&, GraphObject::OT_COREFERENCECLASScoreferenceclass_iterator
 
typedef GraphObjectCondIterator< CoreferenceClass *, CoreferenceClass const *const &, GraphObject::OT_COREFERENCECLASScoreferenceclass_const_iterator
 
- Public Types inherited from cogitant::EnvironmentObject
enum  Type {
  OT_GRAPH, OT_COUPLEOFLAMBDAS, OT_RULE, OT_POSITIVECONSTRAINT,
  OT_NEGATIVECONSTRAINT, OT_POSITIVECOLOREDGRAPHCONSTRAINT, OT_NEGATIVECOLOREDGRAPHCONSTRAINT
}
 Type d'objet. More...
 
- Protected Member Functions inherited from cogitant::Graph
void allocMembers ()
 Allocation de tous les membres. More...
 
void allocMembers (Graph const &o)
 Allocation de tous les membres par copie des membres d'un graphe existant. More...
 
void deleteMembers ()
 Destruction de tous les membres. More...
 
iSet add (GraphObject const *obj, iSet p)
 Ajout d'un objet. More...
 
void internalDeleteObject (iSet i)
 Suppression d'un objet. More...
 
bool validISet (iSet i) const
 Validité d'un identificateur d'objet. More...
 
- Protected Member Functions inherited from cogitant::ObservableObject
virtual ObserverSetallocObservers () const
 Fonction créant l'instance d'une sous classe de ObserverSet pour la représentation de l'ensemble des observateurs de l'objet. More...
 
ObserverSetobservers ()
 Accès à l'ensemble des observateurs. More...
 
- Protected Member Functions inherited from cogitant::CogitantObject
virtual PropertySetallocProperties () const
 Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More...
 

Detailed Description

Contrainte de graphe conceptuel (ancienne représentation : graphe bicolore).

Une contrainte est représentée sous la forme d'un graphe conceptuel bicolore. Cette classe permet de représentet aussi bien les contraintes positives que négatives.

Les contraintes sont représentées en mémoire et sur disque comme de graphes conceptuels, dont la propriété Property::GRAPH_NATURE est PositiveConstraint ou NegativeConstraint. Ainsi, les contraintes peuvent être sauvées au format BCGCT ou CoGXML facilement. Une contrainte diffère toutefois d'un graphe conceptuel par la coloration des sommets. La coloration est stockée dans la propriété Property::COLOR des noeuds du graphe. Les noeuds qui n'ont pas cette propriété sont considérés comme étant de couleur 0. Dans le cas d'une contrainte positive, certains noeuds doivent être de couleur 0 (condition) et d'autres de couleur 1 (obligation). Dans le cas d'une contrainte négative, les couleurs peuvent être absentes du graphe car l'opération de test de validité d'un graphe par rapport à une contrainte cherche simplement si il existe une projection du graphe contrainte dans le graphe testé.

See also
Representation of a constraint, Graph checkout operations according to a constraint.

Constructor & Destructor Documentation

cogitant::ColoredGraphConstraint::ColoredGraphConstraint ( bool  positive,
Environment const *  env,
GraphAllocator const *  alloc = NULL 
)

Constructeur.

L'allocateur par défaut est utilisé si alloc = NULL.

Parameters
positivetrue pour créer une contrainte positive et false pour une contrainte négative.
envenvironment dans lequel la contrainte est définie.
allocallocateur pour les membres.
cogitant::ColoredGraphConstraint::ColoredGraphConstraint ( ColoredGraphConstraint const &  o,
Environment const *  env = NULL,
GraphAllocator const *  alloc = NULL 
)

Constructeur par recopie.

Parameters
ocontrainte à copier.
envenvironnement sur lequel la contrainte créée est définie. Il est conseillé de laisser la valeur par défaut (NULL) qui définit l'environnement de la nouvelle contrainte avec celui de la contrainte copiée.
alloc= NULL, un allocateur par défaut (instance de GraphAllocator) est utilisé pour la copie, sinon l'allocateur passé est utilisé.
virtual cogitant::ColoredGraphConstraint::~ColoredGraphConstraint ( )
virtual

Destructeur.

Member Function Documentation

void cogitant::ColoredGraphConstraint::initNature ( )
virtual

Vérification de la propriété nature.

La propriété Property::GRAPH_NATURE doit avoir certaines valeurs particulières dans le cas d'un ColoredGraph. Ces valeurs permettent aux opérations de sauvegarde / chargement de stocker la nature du graphe. Au moment de la sauvegarde, cette méthode est donc appelée et se charge de réinitialiser la valeur de la propriété à la "bonne" valeur pour la sauvegarde dans le cas où elle a été modifiée par l'utilisateur. Dans le cadre d'une utilisation normale de la bibliothèque, il n'est pas nécessaire d'appeler explicitement cette méthode.

Reimplemented from cogitant::ColoredGraph.

Type cogitant::ColoredGraphConstraint::objectType ( ) const
virtual
ColoredGraphConstraint& cogitant::ColoredGraphConstraint::operator= ( ColoredGraphConstraint const &  ob)

Affectation.