# class Parser

### abstract

Module | soprano
Namespace | Soprano
Class | Parser
Inherits | Soprano::Plugin,Soprano::Error::ErrorCache

\class Parser parser.h Soprano/Parser

Soprano.Parser defines the interface for a Soprano RDF parser plugin.

Each parser plugin may support multiple RDF serializations (supportedSerializations()).

Usage

Using a Parser is straightforward. One starts by getting a plugin that supports the requested RDF data serialization:

    Soprano.Parser* p = Soprano.PluginManager.instance()->discoverParserForSerialization( Soprano.SerializationRdfXml );

Then parsing RDF data is done in a single method call resulting in a StatementIterator over the resulting graph (since parsers may support multiple serializations one always needs to provide the serialization type unless a parser plugin support autodetection).

    Soprano.StatementIterator it = p->parseFile( "myrdffile.rdf", Soprano.SerializationRdfXml );

See also soprano_writing_plugins

Author Daniele Galdi <daniele.galdi@gmail.com>
Sebastian Trueg <trueg@kde.org>

### methods

- Parser (name)

  returns ctor

  Argument | Type | Default
  --- | --- | ---
  name | QString |

- parseFile (filename, baseUri, serialization, userSerialization)

  returns Soprano.StatementIterator

  Argument | Type | Default
  --- | --- | ---
  filename | QString |
  baseUri | QUrl |
  serialization | Soprano.RdfSerialization |
  userSerialization | QString | QString()

  Parse an RDF model which has been serialized in a file, using the supplied baseURI to resolve any relative URI references.

  The default implementation simply calls parseStream() on an opened QFile instance.

  filename - The name (path) of the file to parse

  baseUri - The base URI to be used for relative references.

  serialization - The serialization used in the file.

  userSerialization - If serialization is set to Soprano.SerializationUser this parameter specifies the serialization to use. It allows the extension of the %Soprano Parser interface with new RDF serializations that are not officially supported by %Soprano.

  Returns An iterator that iterates over the result statements.

- parseStream (stream, baseUri, serialization, userSerialization)

  returns Soprano.StatementIterator
  pure virtual

  Argument | Type | Default
  --- | --- | ---
  stream | QTextStream |
  baseUri | QUrl |
  serialization | Soprano.RdfSerialization |
  userSerialization | QString | QString()

  Read a serialized RDF model from a test stream, using the supplied baseURI to resolve any relative URI references.

  stream - The text stream to read the serialized RDF data from.

  baseUri - The base URI to be used for relative references.

  serialization - The serialization used for the string data from the stream.

  userSerialization - If serialization is set to Soprano.SerializationUser this parameter specifies the serialization to use. It allows the extension of the %Soprano Parser interface with new RDF serializations that are not officially supported by %Soprano.

  Returns An iterator that iterates over the result statements.

- parseString (data, baseUri, serialization, userSerialization)

  returns Soprano.StatementIterator

  Argument | Type | Default
  --- | --- | ---
  data | QString |
  baseUri | QUrl |
  serialization | Soprano.RdfSerialization |
  userSerialization | QString | QString()

  Parse an RDF model which has been serialized into a string, using the supplied baseURI to resolve any relative URI references.

  The default implementation simply calls parseStream().

  data - The serialized RDF string.

  baseUri - The base URI to be used for relative references.

  serialization - The serialization used for the string data.

  userSerialization - If serialization is set to Soprano.SerializationUser this parameter specifies the serialization to use. It allows the extension of the %Soprano Parser interface with new RDF serializations that are not officially supported by %Soprano.

  Returns An iterator that iterates over the result statements.

- supportedSerializations ( )

  returns Soprano.RdfSerializations
  pure virtual

  The serialiazation types supported by this parser. Returns A combination of Soprano.RdfSerialization types. If the list contains Soprano.SerializationUser the parser supports additional RDF serialiazations not officially supported by %Soprano.

- supportedUserSerializations ( )

  returns QStringList

  A parser can support additional RDF serializations that are not defined in Soprano.RdfSerialization. In that case supportedSerializations() has to include Soprano.SerializationUser.

  The default implementation returns an empty list.

  Returns A list of supported user RDF serializations.

- supportsSerialization (s, userSerialization)

  returns bool

  Argument | Type | Default
  --- | --- | ---
  s | Soprano.RdfSerialization |
  userSerialization | QString | QString()

  Check if a plugin supports a specific serialization.

  s - The requested serialization.

  userSerialization - If serialization is set to Soprano.SerializationUser this parameter specifies the requested serialization. It allows the extension of the %Soprano Parser interface with new RDF serializations that are not officially supported by %Soprano.

  Returns true if the parser is able to parse RDF data encoded in serialization s, false otherwise.