pycldf.ext.sql

This module provides a function - get_database() - to create and use a CLDF SQL compliant SQLite database.

pycldf.ext.sql.get_database(locator, download_dir=None, fname=None, base=None)[source]
Parameters:
  • locator – A resolvable dataset locator.

  • download_dir – Optional path to a directory to download data for remote datasets.

  • fname – Optional path of a non-existing file which will be used as SQLite database file.

Return type:

pycldf.db.Database

>>> import pathlib
>>> from pycldf.ext.sql import get_database
>>> dldir = pathlib.Path('/tmp/wacl')
>>> dldir.mkdir()
>>> db = get_database('https://doi.org/10.5281/zenodo.7322688', dldir)
>>> query = '''SELECT
...     l.cldf_name, p.cldf_name, v.cldf_value
... FROM
...     LanguageTable AS l, ParameterTable AS p, ValueTable AS v
... WHERE
...     v.cldf_languageReference = l.cldf_id AND v.cldf_parameterReference = p.cldf_id'''
>>> triples = db.query(query)
>>> triples[0]
('Aari', 'Presence/absence of numeral classifiers', 'FALSE')