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

cogitant::RdfsOutput::RdfsOutput ( )

Constructeur.

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

Destructeur.

Member Function Documentation

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.
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.
void cogitant::RdfsOutput::addStandardNamespaces ( )
protected

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

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

Début d'exécution.

Reimplemented in cogitant::RdfsOutputRdfXml.

RdfsOutput& cogitant::RdfsOutput::clearNamespaces ( )

Vide l'ensemble des espaces de noms connus.

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

Fin d'exécution.

Reimplemented in cogitant::RdfsOutputRdfXml.

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.

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é.
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é.
virtual unsigned int cogitant::RdfsOutput::needsSteps ( ) const
pure virtual

Nombre de passes nécessaires à la sortie.

Implemented in cogitant::RdfsOutputRdfXml.

void cogitant::RdfsOutput::reset ( )

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

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.
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.
RdfsOutput& cogitant::RdfsOutput::setOStream ( std::ostream *  ostream)

Choix du flux de sortie.

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

Fixe le numéro de la passe actuelle.

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

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

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

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

Encodage utilisé pour la sortie.

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.

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.

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

Flux de sortie.

unsigned int cogitant::RdfsOutput::m_step
protected

Numéro de la passe actuelle.