Skip to main content

Object query language for dictionary-like data

Project description

object-ql

A Object Query Language, for the Gramps Project and other objects.

This project is designed to be a drop-in replacement for https://github.com/DavidMStraub/gramps-ql

Rather than having to build, and learn, a new query language, the idea is to build on top of Python, the native language of the Gramps Project. And, rather than having to convert the Gramps raw data into objects, then dicts, and then back again to objects (when needed), this query system can operate directly on the objects.

Each object can be identified by its lower-case class type, eg person, note, family, etc.

Examples:

Find the person with a particular gramps_id:

person.gramps_id == 'person001'

Find all of the people with notes:

person.get_note_list()

Find all of the people with notes that mention 'vote':

any([('vote' in str(get_note(handle).text)) for handle in person.get_note_list()])

Usage

If you don't know what the type is, you can use obj, like:

"23" in obj.gramps_id

You can use standard dot notation to reference any object. Refer to Gramps Primary Objects for the structure of Gramps objects.

You can also use the SimpleAccess methods that make access to some data much easier. The SimpleAccess is available as sa, as shown below.

Select all of the people that have are married to a person named "Donna":

sa.first_name(sa.spouse(person)) == "Donna"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

object_ql-0.1.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file object_ql-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: object_ql-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for object_ql-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 da0fb7161187b53ba2f6e8925d735115593eb8283ec422eeb54fbbd8954d4fa7
MD5 4be7d09810e676f0021fd02f38d6b703
BLAKE2b-256 d54ce21d5775d3226d6afa88803231aa3f2f3324ed5f56b085589b8a3b2d880c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page