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::RdfsOutput Class Referenceabstract

Opération de sortie de triplets RDF(S). More...

#include "cogitant/outputrdfs.h"

Inheritance diagram for cogitant::RdfsOutput:
cogitant::RdfsOutputRdfXml

Public Member Functions

 RdfsOutput ()
 Constructeur. More...
 
virtual ~RdfsOutput ()
 Destructeur. More...
 
void reset ()
 Remise à zéro de la configuration de l'opération. More...
 
RdfsOutputsetOStream (std::ostream *ostream)
 Choix du flux de sortie. More...
 
RdfsOutputsetEncoding (Encoding::Type enc)
 Choix de l'encodage de sortie. More...
 
RdfsOutputaddNamespace (std::string const &nsid, std::string const &nsuri)
 Ajout d'un espace de noms (ou préfixe). More...
 
std::string addNamespace (std::string const &nsuri)
 Ajout d'un espace de noms (ou préfixe) dont l'identifiant est attribué automatiquement. More...
 
RdfsOutputclearNamespaces ()
 Vide l'ensemble des espaces de noms connus. More...
 
bool namespaceUriToId (std::string const &nsuri, std::string &nsid) const
 Recherche d'un espace de noms par son URI. More...
 
bool namespaceIdToUri (std::string const &nsid, std::string &nsuri) const
 Recherche d'un espace de noms par son identifivateur. More...
 
virtual void begin ()
 Début d'exécution. More...
 
virtual void writeStatement (Rdf::Uri const &subject, Rdf::Uri const &predicate, Rdf::StatementObject const &object)=0
 Ecriture d'un triplet. More...
 
virtual void end ()
 Fin d'exécution. More...
 
virtual unsigned int needsSteps () const =0
 Nombre de passes nécessaires à la sortie. More...
 
virtual void setStep (unsigned int s)
 Fixe le numéro de la passe actuelle. More...
 
unsigned int step () const
 Accès à la passe en cours d'exécution. More...
 

Protected Member Functions

void handleUri (Rdf::Uri const &uri)
 Prise en compte d'une URI. More...
 
bool searchNamespace (std::string const &uri, std::string &ns, std::string &fragment, bool autocreate)
 Recherche d'un espace de noms dans une URI. More...
 
void addStandardNamespaces ()
 Ajoute les espaces de noms standard (rdf, rdfs, owl, xsd). More...
 

Protected Attributes

std::ostream * m_ostream
 Flux de sortie. More...
 
Encoding::Type m_encoding
 Encodage utilisé pour la sortie. More...
 
std::map< std::string, std::string > m_namespacesidtouri
 Les espaces de noms utilisés dans l'opération de sortie. More...
 
std::map< std::string, std::string > m_namespacesuritoid
 Les espaces de noms utilisés dans l'opération de sortie. More...
 
unsigned int m_step
 Numéro de la passe actuelle. More...
 

Detailed Description

Opération de sortie de triplets RDF(S).

Cette classe est abstraite et a pour sous-classes les opérations qui gèrent les différentes formes de RDF. Certaines sous-classes peuvent avoir besoin de plusieurs passes pour effectuer la sortie. Ces différentes passes servent habituellement à mémoriser les espaces de noms lors de la première passe.

Constructor & Destructor Documentation

◆ RdfsOutput()

cogitant::RdfsOutput::RdfsOutput ( )

Constructeur.

◆ ~RdfsOutput()

virtual cogitant::RdfsOutput::~RdfsOutput ( )
virtual

Destructeur.

Member Function Documentation

◆ addNamespace() [1/2]

RdfsOutput& cogitant::RdfsOutput::addNamespace ( std::string const &  nsid,
std::string const &  nsuri 
)

Ajout d'un espace de noms (ou préfixe).

Parameters
nsididentificateur de l'espace de noms.
nsuriURI de l'espace de noms.

◆ addNamespace() [2/2]

std::string cogitant::RdfsOutput::addNamespace ( std::string const &  nsuri)

Ajout d'un espace de noms (ou préfixe) dont l'identifiant est attribué automatiquement.

Parameters
nsuriURI de l'espace de noms.
Returns
identifiant attribué à l'espace de noms.

◆ addStandardNamespaces()

void cogitant::RdfsOutput::addStandardNamespaces ( )
protected

Ajoute les espaces de noms standard (rdf, rdfs, owl, xsd).

◆ begin()

virtual void cogitant::RdfsOutput::begin ( )
virtual

Début d'exécution.

Reimplemented in cogitant::RdfsOutputRdfXml.

◆ clearNamespaces()

RdfsOutput& cogitant::RdfsOutput::clearNamespaces ( )

Vide l'ensemble des espaces de noms connus.

◆ end()

virtual void cogitant::RdfsOutput::end ( )
virtual

Fin d'exécution.

Reimplemented in cogitant::RdfsOutputRdfXml.

◆ handleUri()

void cogitant::RdfsOutput::handleUri ( Rdf::Uri const &  uri)
protected

Prise en compte d'une URI.

Lors de la première passe d'une sortie en deux passes, cette méthode doit être appelée afin d'extraire les espaces de noms des URI considérées.

◆ namespaceIdToUri()

bool cogitant::RdfsOutput::namespaceIdToUri ( std::string const &  nsid,
std::string &  nsuri 
) const

Recherche d'un espace de noms par son identifivateur.

Parameters
nsididentificateur de l'espace de noms recherché.
nsuri(résultat) URI de l'espace de noms trouvé.
Returns
true ssi nsid a été trouvé.

◆ namespaceUriToId()

bool cogitant::RdfsOutput::namespaceUriToId ( std::string const &  nsuri,
std::string &  nsid 
) const

Recherche d'un espace de noms par son URI.

Parameters
nsuriURI de l'espace de noms recherché.
nsid(résultat) identificateur de l'espace de noms trouvé.
Returns
true ssi nsuri a été trouvé.

◆ needsSteps()

virtual unsigned int cogitant::RdfsOutput::needsSteps ( ) const
pure virtual

Nombre de passes nécessaires à la sortie.

Implemented in cogitant::RdfsOutputRdfXml.

◆ reset()

void cogitant::RdfsOutput::reset ( )

Remise à zéro de la configuration de l'opération.

◆ searchNamespace()

bool cogitant::RdfsOutput::searchNamespace ( std::string const &  uri,
std::string &  ns,
std::string &  fragment,
bool  autocreate 
)
protected

Recherche d'un espace de noms dans une URI.

Parameters
uriURI à interpréter.
nsidentifiant de l'espace de noms trouvé dans l'uri.
fragmenttrouvé dans l'uri.
autocreatesi true crée automatiquement un espace de nom.
Returns
true ssi l'URI a été trouvée dans la liste des espaces de noms connus.

◆ setEncoding()

RdfsOutput& cogitant::RdfsOutput::setEncoding ( Encoding::Type  enc)

Choix de l'encodage de sortie.

Parameters
encSi Encoding::DEFAULT, utilise l'encodage l'encodage par défaut de l'application. Si enc est différent de Encoding::DEFAULT, utilise cet encodage-là. Pour l'instant seules les sorties en Latin9 et Utf-8 sont fonctionnelles.

◆ setOStream()

RdfsOutput& cogitant::RdfsOutput::setOStream ( std::ostream *  ostream)

Choix du flux de sortie.

◆ setStep()

virtual void cogitant::RdfsOutput::setStep ( unsigned int  s)
virtual

Fixe le numéro de la passe actuelle.

◆ step()

unsigned int cogitant::RdfsOutput::step ( ) const
inline

Accès à la passe en cours d'exécution.

◆ writeStatement()

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

Ecriture d'un triplet.

Implemented in cogitant::RdfsOutputRdfXml.

Member Data Documentation

◆ m_encoding

Encoding::Type cogitant::RdfsOutput::m_encoding
protected

Encodage utilisé pour la sortie.

◆ m_namespacesidtouri

std::map<std::string, std::string> cogitant::RdfsOutput::m_namespacesidtouri
protected

Les espaces de noms utilisés dans l'opération de sortie.

La clé est l'identifiant de namespace, et la valeur son URI.

◆ m_namespacesuritoid

std::map<std::string, std::string> cogitant::RdfsOutput::m_namespacesuritoid
protected

Les espaces de noms utilisés dans l'opération de sortie.

La clé est l'URI du namespace, et la valeur son identifiant.

◆ m_ostream

std::ostream* cogitant::RdfsOutput::m_ostream
protected

Flux de sortie.

◆ m_step

unsigned int cogitant::RdfsOutput::m_step
protected

Numéro de la passe actuelle.