//
//     Copyright 2008 Simon Edwards <simon@simonzone.com>

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

namespace Soprano
{

enum RdfSerialization
{
    SerializationUnknown,
    SerializationRdfXml,
    SerializationN3,
    SerializationNTriples,
    SerializationTurtle,
    SerializationTrig,
    SerializationNQuads,
    SerializationUser
};

typedef QFlags<Soprano::RdfSerialization> RdfSerializations;

QString                 serializationMimeType (Soprano::RdfSerialization serialization, const QString& userSerialization = QString());
Soprano::RdfSerialization  mimeTypeToSerialization (const QString& mimetype);

enum BackendOption
{
    BackendOptionNone,
    BackendOptionStorageMemory,
    BackendOptionEnableInference,
    BackendOptionStorageDir,
    BackendOptionHost,
    BackendOptionPort,
    BackendOptionUsername,
    BackendOptionPassword,
    BackendOptionUser
};

typedef QFlags<Soprano::BackendOption> BackendOptions;


enum BackendFeature
{
    BackendFeatureNone,
    BackendFeatureAddStatement,
    BackendFeatureRemoveStatements,
    BackendFeatureListStatements,
    BackendFeatureQuery,
    BackendFeatureInference,
    BackendFeatureInferenceOptional,
    BackendFeatureContext,
    BackendFeatureStorageMemory,
    BackendFeatureAll,
    BackendFeatureUser
};

typedef QFlags<Soprano::BackendFeature> BackendFeatures;

namespace Query
{

enum QueryLanguage
{
    QueryLanguageNone,
    QueryLanguageSparql,
    QueryLanguageRdql,
    QueryLanguageSerql,
    QueryLanguageUser,
    QUERY_LANGUAGE_NONE,
    QUERY_LANGUAGE_SPARQL,
    QUERY_LANGUAGE_RDQL,
    QUERY_LANGUAGE_SERQL,
    QUERY_LANGUAGE_USER
};

typedef QFlags<Soprano::Query::QueryLanguage> QueryLanguages;

QString                 queryLanguageToString (Soprano::Query::QueryLanguage lang, const QString& userQueryLanguage = QString());
Soprano::Query::QueryLanguage  queryLanguageFromString (const QString& queryLanguage);
};   // Query

};   // Soprano


