March 16, 2016 .. currentmodule:: rdfextras.sparql
sparql
- SPARQL main API¶
TODO: merge this first bit from sparql.sparql.py into rest of doc... updating all along the way.
SPARQL implementation on top of RDFLib
Implementation of the W3C SPARQL language (version April 2005). The basic class here is supposed to be a superclass of rdfextras.sparql.graph; it has been separated only for a better maintainability.
There is a separate description for the functionalities.
For a general description of the SPARQL API, see the separate, more complete description.
Variables, Imports¶
The top level (__init__.py) module of the Package imports the important classes. In other words, the user may choose to use the following imports only:
from rdflibUtils import myTripleStore
from rdflibUtils import retrieveRDFFiles
from rdflibUtils import SPARQLError
from rdflibUtils import GraphPattern
The module imports and/or creates some frequently used Namespaces, and these can then be imported by the user like:
from rdflibUtils import ns_rdf
Finally, the package also has a set of convenience string defines for XML Schema datatypes (ie, the URI-s of the datatypes); ie, one can use:
from rdflibUtils import type_string
from rdflibUtils import type_integer
from rdflibUtils import type_long
from rdflibUtils import type_double
from rdflibUtils import type_float
from rdflibUtils import type_decimal
from rdflibUtils import type_dateTime
from rdflibUtils import type_date
from rdflibUtils import type_time
from rdflibUtils import type_duration
These are used, for example, in the sparql-p implementation.
The three most important classes in RDFLib for the average user are Namespace, URIRef and Literal; these are also imported, so the user can also use, eg:
from rdflib import Namespace, URIRef, Literal
History¶
- Version 1.0: based on an earlier version of the SPARQL, first released implementation
- Version 2.0: version based on the March 2005 SPARQL document, also a major change of the core code (introduction of the separate
GraphPattern
rdflibUtils.graph.GraphPattern
class, etc).- Version 2.01: minor changes only: - switch to epydoc as a documentation tool, it gives a much better overview of the classes - addition of the SELECT * feature to sparql-p
- Version 2.02: - added some methods to
myTripleStore
rdflibUtils.myTripleStore.myTripleStore
to handleAlt
andBag
the same way asSeq
- added also methods toadd()
collections and containers to the triple store, not only retrieve them- Version 2.1: adapted to the inclusion of the code into rdflib, thanks to Michel Pelletier
- Version 2.2: added the sorting possibilities; introduced the Unbound class and have a better interface to patterns using this (in the BasicGraphPattern class)
@author: Ivan Herman
@license: This software is available for use under the W3C Software License
@contact: Ivan Herman, ivan@ivan-herman.net
@version: 2.2