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

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cogitant::OperationRdfsToCgTranslation Class Referenceabstract

Opération de traduction de RDF(S) vers GC. More...

#include "cogitant/inputrdfs.h"

Inheritance diagram for cogitant::OperationRdfsToCgTranslation:
cogitant::Operation cogitant::OperationBase cogitant::ObservableObject cogitant::CogitantObject cogitant::OperationRdfsToCgTranslationCGSpirit cogitant::OperationRdfsToCgTranslationTriples

Public Member Functions

 OperationRdfsToCgTranslation (Environment *e)
 Constructeur. More...
 
Error check ()
 Vérification des paramètres. More...
 
void run ()
 Lancement de l'opération. More...
 
virtual void runBegin (IStreamReader *streamreader)
 Début de la traduction. More...
 
virtual void newStatement (Rdf::Uri const &subject, Rdf::Uri const &predicate, Rdf::StatementObject const &object)=0
 Callback à redéfinir et appelée automatiquement pour chaque triplet lu par l'opération de lecture. More...
 
virtual void newReifiedStatement (Rdf::Uri const &idstatement, Rdf::Uri const &subject, Rdf::Uri const &predicate, Rdf::StatementObject const &object)
 Callback à redéfinir éventuellement et appelé automatiquement pour chaque triplet réifié lu par l'opération de lecture. More...
 
virtual void runEnd ()
 Fin de la traduction. More...
 
void setParamReadSupport (bool rs)
 Autorisation d'effacer le support (et les graphes de l'environnement). More...
 
void setParamAutoCreateTypes (bool act)
 Autorisation d'ajout de types au support. More...
 
void setParamAutoCreateIndividuals (bool aci)
 Autorisation d'ajout de marqueurs individuels au support. More...
 
void setParamGraphId (iSet idg)
 Choix du graphe recevant les connaissances lues. More...
 
iSet resultGraphId () const
 Accès à l'identifiant de graphe de l'environnement contenant les connaissances lues. More...
 
GraphresultGraph () const
 Accès au graphe. More...
 
std::map< std::string, iSet > const & resultBlankNodes () const
 Accès aux noeux vides créés lors de la convertsion. More...
 
std::multimap< std::string, iSet > const & resultVariableNodes () const
 Accès aux noeux variables créés lors de la convertsion. More...
 
- Public Member Functions inherited from cogitant::Operation
Environmentenvironment () const
 Environnement. More...
 
void setEnvironment (Environment *env)
 Modification de l'environnement sur lequel est défini l'opération. More...
 
 Operation (Environment *env)
 Constructeur. More...
 
 Operation (Operation const &o)
 Constructeur par recopie. More...
 
 ~Operation ()
 Destructeur. More...
 
- Public Member Functions inherited from cogitant::OperationBase
void stop ()
 Stopper l'opération dès que possible. More...
 
bool isStopped () const
 Est-ce que l'opération a été stoppée. More...
 
 OperationBase ()
 Constructeur. More...
 
 OperationBase (OperationBase const &o)
 Constructeur par recopie. More...
 
 ~OperationBase ()
 Destructeur. 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...
 

Protected Member Functions

void createGraph ()
 Création du graphe si nécessaire. More...
 
void throwExceptionCurrent (bool fatal, unsigned int code, std::string const &msg)
 Levée d'une exception de type ExceptionInputRdfs sur le flux courant à la ligne courante. More...
 
void addIndividualNode (iSet indm, iSet indnode)
 Ajout d'un marqueur individuel au graphe. More...
 
iSet getIndividualNode (iSet indm) const
 Accès au sommet portant un marqueur individuel. More...
 
void addBlankNode (std::string const &bn, iSet bnnode)
 Ajout d'un noeud vide au graphe. More...
 
iSet getBlankNode (std::string const &bn) const
 Accès au sommet portant un identificateur de noeud vide. More...
 
void addVariableNode (std::string const &vn, iSet vnnode)
 Ajout d'un noeud variable au graphe. More...
 
iSet getVariableNode (std::string const &vn) const
 Accès à un sommet portant un identificateur de noeud variable. More...
 
iSet newIndividualMarker (std::string const &name)
 Ajout d'un marqueur individuel au support. More...
 
iSet findIndividualMarker (std::string const &name)
 Recherche un marqueur individuel dans le support. More...
 
- Protected Member Functions inherited from cogitant::Operation
void setProgress (unsigned int current, unsigned int max)
 Progression actuelle de l'opération. 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...
 

Protected Attributes

IStreamReaderm_streamreader
 Accès au flux de lecture.
 
iSet m_igraph
 Identifiant du graphe recevant la traduction.
 
Graphm_graph
 Graphe recevant la traduction.
 
bool m_support
 Lecture (et modification, suppressions autorisées) du support.
 
bool m_addtypes
 Ajout de types au support autorisés.
 
bool m_addindividuals
 Ajout de marqueurs individuels autorisés.
 
std::vector< iSetm_indnodes
 Identifiants dans le graphe des marqueurs individuels. More...
 
std::map< std::string, iSetm_blanknodes
 Identifiants dans le graphe des noeuds vides. More...
 
std::multimap< std::string, iSetm_variablenodes
 Identifiants dans le graphes des variables. More...
 
std::map< std::string, iSetm_indids
 Identifiants dans l'ensemble des marqueurs individuels du support des URI des individus dans le fichier en cours de chargement A partir d'une URI (d'individu), la map associe l'iSet dans l'ensemble des marqueurs individuels du support correspondant. More...
 
- Protected Attributes inherited from cogitant::OperationBase
bool m_stop
 Arrêt de l'exécution de l'opération demandé. More...
 

Additional Inherited Members

- Public Types inherited from cogitant::OperationBase
typedef unsigned int Error
 Résultat de la vérification des arguments d'une opération. More...
 
- Static Public Attributes inherited from cogitant::Operation
static const Error PROJBACKTRACKCHOICE_EMPTYLIST
 Impossible d'enlever un élément à une liste vide. More...
 
static const Error OBJECTTYPE
 Un (identifiant d') objet parmi les paramètres n'est pas du bon type. More...
 
static const Error WRONGEDGES
 Un graphe parmi les paramètres de l'opération possède des arêtes pendantes. More...
 
- Static Public Attributes inherited from cogitant::OperationBase
static const Error CHECKOK
 Pas d'erreur. More...
 
static const Error ARGUMENTS
 Certains paramètres de l'opération n'ont pas été fixés. More...
 
static const Error UNUSED
 Symbole d'erreur inutilisé. More...
 

Detailed Description

Opération de traduction de RDF(S) vers GC.

Cette classe est abstraite, il s'agit de la classe mère des différentes méthodes de traduction.

Constructor & Destructor Documentation

◆ OperationRdfsToCgTranslation()

cogitant::OperationRdfsToCgTranslation::OperationRdfsToCgTranslation ( Environment e)

Constructeur.

Member Function Documentation

◆ addBlankNode()

void cogitant::OperationRdfsToCgTranslation::addBlankNode ( std::string const &  bn,
iSet  bnnode 
)
inlineprotected

Ajout d'un noeud vide au graphe.

Parameters
bnidentificateur du noeud vide.
bnnodeiSet du sommet portant ce noeud vide dans le graphe.

◆ addIndividualNode()

void cogitant::OperationRdfsToCgTranslation::addIndividualNode ( iSet  indm,
iSet  indnode 
)
protected

Ajout d'un marqueur individuel au graphe.

Parameters
indmmarqueur individuel.
indnodeiSet du sommet portant ce marqueur dans le graphe.

◆ addVariableNode()

void cogitant::OperationRdfsToCgTranslation::addVariableNode ( std::string const &  vn,
iSet  vnnode 
)
inlineprotected

Ajout d'un noeud variable au graphe.

Parameters
vnidentificateur du noeud variable.
vnnodeiSet du sommet portant ce noeud variabledans le graphe.

◆ check()

Error cogitant::OperationRdfsToCgTranslation::check ( )
virtual

Vérification des paramètres.

Retourne Operation::CHECKOK si l'opération peut être exécutée (méthode run()) ou un code d'erreur dans le cas contraire.

Implements cogitant::OperationBase.

◆ createGraph()

void cogitant::OperationRdfsToCgTranslation::createGraph ( )
protected

Création du graphe si nécessaire.

◆ findIndividualMarker()

iSet cogitant::OperationRdfsToCgTranslation::findIndividualMarker ( std::string const &  name)
protected

Recherche un marqueur individuel dans le support.

Par rapport à un appel direct à Support::findIndividual(), retourne un résultat plus rapidement si le name a déjà été rencontré dans le fichier en cours d'analyse.

◆ getBlankNode()

iSet cogitant::OperationRdfsToCgTranslation::getBlankNode ( std::string const &  bn) const
inlineprotected

Accès au sommet portant un identificateur de noeud vide.

References cogitant::ISET_NULL.

◆ getIndividualNode()

iSet cogitant::OperationRdfsToCgTranslation::getIndividualNode ( iSet  indm) const
protected

Accès au sommet portant un marqueur individuel.

◆ getVariableNode()

iSet cogitant::OperationRdfsToCgTranslation::getVariableNode ( std::string const &  vn) const
inlineprotected

Accès à un sommet portant un identificateur de noeud variable.

Warning
si plusieurs sommets sont associés à la variable, la méthode retourne un de ces sommets.

References cogitant::ISET_NULL.

◆ newIndividualMarker()

iSet cogitant::OperationRdfsToCgTranslation::newIndividualMarker ( std::string const &  name)
protected

Ajout d'un marqueur individuel au support.

Par rapport à un appel direct à Support::newIndividual(), effectue une mémorisation dans m_indids qui permet un accès plus rapide en passent par findIndividualMarker().

◆ newReifiedStatement()

virtual void cogitant::OperationRdfsToCgTranslation::newReifiedStatement ( Rdf::Uri const &  idstatement,
Rdf::Uri const &  subject,
Rdf::Uri const &  predicate,
Rdf::StatementObject const &  object 
)
virtual

Callback à redéfinir éventuellement et appelé automatiquement pour chaque triplet réifié lu par l'opération de lecture.

Par défaut, appelle newStatement avec les 4 triplets habituels de la réification d'un triplet.

◆ newStatement()

virtual void cogitant::OperationRdfsToCgTranslation::newStatement ( Rdf::Uri const &  subject,
Rdf::Uri const &  predicate,
Rdf::StatementObject const &  object 
)
pure virtual

Callback à redéfinir et appelée automatiquement pour chaque triplet lu par l'opération de lecture.

Implemented in cogitant::OperationRdfsToCgTranslationCGSpirit, and cogitant::OperationRdfsToCgTranslationTriples.

◆ resultBlankNodes()

std::map<std::string, iSet> const& cogitant::OperationRdfsToCgTranslation::resultBlankNodes ( ) const
inline

Accès aux noeux vides créés lors de la convertsion.

◆ resultGraph()

Graph* cogitant::OperationRdfsToCgTranslation::resultGraph ( ) const

Accès au graphe.

◆ resultGraphId()

iSet cogitant::OperationRdfsToCgTranslation::resultGraphId ( ) const

Accès à l'identifiant de graphe de l'environnement contenant les connaissances lues.

Warning
Ce n'est pas forcément l'identifiant passé à setParamGraphId() : dans le cas où le support a dû être effacé et régénéré, les graphes de l'environnement ont été détruits, et les connaissances lues sont donc stockées dans un nouveau graphe créé à l'occasion (qui a toutes les chances d'avoir l'iSet 0 puisque c'est le premier créé dans cet environnement vide).

◆ resultVariableNodes()

std::multimap<std::string, iSet> const& cogitant::OperationRdfsToCgTranslation::resultVariableNodes ( ) const
inline

Accès aux noeux variables créés lors de la convertsion.

◆ run()

void cogitant::OperationRdfsToCgTranslation::run ( )
virtual

Lancement de l'opération.

Cette méthode ne retourne rien mais le résultat de l'opération peut être récupéré avec les méthodes getResultxxx() (différentes selon les sous classes de Operation).

Implements cogitant::OperationBase.

◆ runBegin()

virtual void cogitant::OperationRdfsToCgTranslation::runBegin ( IStreamReader streamreader)
virtual

◆ runEnd()

virtual void cogitant::OperationRdfsToCgTranslation::runEnd ( )
virtual

◆ setParamAutoCreateIndividuals()

void cogitant::OperationRdfsToCgTranslation::setParamAutoCreateIndividuals ( bool  aci)

Autorisation d'ajout de marqueurs individuels au support.

◆ setParamAutoCreateTypes()

void cogitant::OperationRdfsToCgTranslation::setParamAutoCreateTypes ( bool  act)

Autorisation d'ajout de types au support.

◆ setParamGraphId()

void cogitant::OperationRdfsToCgTranslation::setParamGraphId ( iSet  idg)

Choix du graphe recevant les connaissances lues.

Parameters
idgidentifiant du graphe. Si ISET_NULL, crée un nouveau graphe.

◆ setParamReadSupport()

void cogitant::OperationRdfsToCgTranslation::setParamReadSupport ( bool  rs)

Autorisation d'effacer le support (et les graphes de l'environnement).

◆ throwExceptionCurrent()

void cogitant::OperationRdfsToCgTranslation::throwExceptionCurrent ( bool  fatal,
unsigned int  code,
std::string const &  msg 
)
protected

Levée d'une exception de type ExceptionInputRdfs sur le flux courant à la ligne courante.

Member Data Documentation

◆ m_blanknodes

std::map<std::string, iSet> cogitant::OperationRdfsToCgTranslation::m_blanknodes
protected

Identifiants dans le graphe des noeuds vides.

A partir d'un identifiant de noeud vide, la map associe l'iSet du sommet de m_graph qui représente le noeud vide en question.

◆ m_indids

std::map<std::string, iSet> cogitant::OperationRdfsToCgTranslation::m_indids
protected

Identifiants dans l'ensemble des marqueurs individuels du support des URI des individus dans le fichier en cours de chargement A partir d'une URI (d'individu), la map associe l'iSet dans l'ensemble des marqueurs individuels du support correspondant.

Cette mémorisation dans une map permet de limiter les appels à Support::findIndividual() qui n'est pas performant puisque le support n'est pas optimisé (des marqueurs individuels sont ajoutés au cours de la lecture du fichier rdf). Cependant, ce map ne contient que les marqueurs individuels recontrés dans le fichier en question, ce n'est donc qu'une optimisation.

◆ m_indnodes

std::vector<iSet> cogitant::OperationRdfsToCgTranslation::m_indnodes
protected

Identifiants dans le graphe des marqueurs individuels.

A partir d'un iSet de marqueur individuel i, m_indnodes[i] est l'iSet du sommet de m_graph qui porte l'individu en question.

◆ m_variablenodes

std::multimap<std::string, iSet> cogitant::OperationRdfsToCgTranslation::m_variablenodes
protected

Identifiants dans le graphes des variables.

A partir d'un identifiant de variable, la multimap associe les iSet des sommets de m_graph qui sont associés à cette variable. Dans le cas de sommerts concepts, une variable est associée à un seul sommet, mais dans le cas de sommets relation, une variable peut être associée à plusieurs sommets.