tutorial:poly_db_querying

This is an old revision of the document!


There are three commands that can be used to query the database:

  • db_query: Obtain one or more objects that satisfy a query
  • db_count: Count objects that satisfy a query
  • db_ids: Obtain ids of objects that satisfy a query
Queries

Queries are given as perl hashes. In its most basic form a query has the form

 { "PROPERTY1" => <value1>, "PROPERTY2" => <value2>, ... }

for example

 { "DIM" => 3, "N_VERTICES" => 7 }

Note that the database is pretty strict with types, so strings always need to be quoted, while integers should not be. The following would fail:

 { "DIM" => "3" }

You can query elements in an array with their index, e.g.

 { "F_VECTOR.1" => 12 }

gives polytopes with 12 edges (the entry at position one of the f-vector).

You can query ranges with $lt (<), $lte (⇐), $gt, and $gte in the form

 { DIM => { '$lt' => 4 } }

to obtain polytopes of dimension less than 4. Observe the single quotation marks around $lt. Those are necessary to prevent that perl attempts to interpret them as variables. You can bound from both sides with

 { DIM => { '$gte' => 4, '$lte' => 10 } }

to obtain those polytopes with dimensions between 4 and 10.

Obtain Objects that Satisfy a Query
Count Objects that Satisfy a Query
Obtain Object ''ID''s that Satisfy a Query
  • tutorial/poly_db_querying.1501080467.txt.gz
  • Last modified: 2017/07/26 14:47
  • by paffenholz