Query the Data Delivery Network
Query the DDNThe easiest way to query any data on Splitgraph is via the "Data Delivery Network" (DDN). The DDN is a single endpoint that speaks the PostgreSQL wire protocol. Any Splitgraph user can connect to it at data.splitgraph.com:5432
and query any version of over 40,000 datasets that are hosted or proxied by Splitgraph.
For example, you can query the detalle_de_la_informacin_registrada_en_el_suit_por
table in this repository, by referencing it like:
"datos-gov-co/detalle-de-la-informacin-registrada-en-el-suit-por-48fq-mxnm:latest"."detalle_de_la_informacin_registrada_en_el_suit_por"
or in a full query, like:
SELECT
":id", -- Socrata column ID
"nit", -- Número de Identificación tributaria de la Entidad.
"valor_del_pago", -- Salario mínimo legal diario vigente
"smlv_del_pago", -- Salario mínimo legal vigente
"moneda_del_pago", -- Describe la moneda (pesos, dólares, euros) en se realizará del pago del trámite
"descripcion_del_pago", -- Contiene una describe el pago que se debe realizar o alguna condición especial que se debe tener en cuenta para realizarlo
"pago_disp_en_institucion", -- Contiene información del punto fisico por donde se realiza el pago del trámite
"pago_en_linea_url", -- Contiene la Url por donde se realiza el pago del trámite
"documento_nombre", -- Describe el nombre documento que va utilizar para la ejecución del trámite u otro procedimiento administrativo
"orden_paso", -- Valor numérico que identifica el orden lógico que se debe ejecutar el trámite u otro procedimiento administrativo y consultas de acceso a la información pública
"prop_sito_del_tr_mite_u_otro", -- Corresponde al objetivo de la realización del trámite u otro procedimiento administrativo y consultas de acceso a la información pública
"nombre_com_n", -- Denominación con la que se conoce el trámite u otro procedimiento administrativo y consultas de acceso a la información pública
"nombre_del_tr_mite_u_otro", -- Denominación con la que se conoce el trámite u otro procedimiento administrativo y consultas de acceso a la información pública
"versi_n_tr_mite", -- Describe al número de actualización que ha tenido el trámite de u otro procedimiento administrativo y consultas de acceso a la información pública
"fecha_de_actualizaci_n", -- Fecha en la que se actualizo el trámite de u otro procedimiento administrativo y consultas de acceso a la información pública
"n_mero_unico", -- Número de Identificaciónde los trámites u otros procedimientos administrativos y consultas de acceso a la información pública
"latitud_municipio", -- Ángulo entre el plano ecuatorial y la línea que pasa por este punto y el centro de la Tierra
"longitud_municipio", -- Ángulo entre el meridiano de referencia y el meridiano que pasa por este punto de referencia
"naturaleza_jur_dica", -- Definición legal del organismo o entidad según su actividad o ubicación en la estructura del Estado.
"tipo_de_vinculac_on", -- Tipo de relación jurídica de la entidad del sector descentralizado con respecto a la entidad u organismo cabeza de sector administrativo de la Rama Ejecutiva del poder público según su tipología o actividad: adscrita o vinculada.
"sector", -- El Sector Administrativo está integrado por el Ministerio o Departamento Administrativo, las superintendencias y demás entidades que la ley o el Gobierno Nacional definan como adscritas o vinculadas a aquéllos según correspondiere a cada área (Ley 489 de 1998, Artículo 42).
"nivel", -- Clasificación de las entidades y organismos que integran la Rama Ejecutiva del poder público según la tipología del artículo 38 de la ley 489 de 1998: central o descentralizado.
"municipio", -- Segundo nivel de división administrativa en Colombia, De acuerdo con el Artículo 311 de Constitución de 1991 y la Ley 136 de 2 de junio de 1994.
"c_digo_divipola_departamento", -- Número único de identificación y codificación de los departamentos establecidos por el DANE
"regi_n_pnd", -- Corresponde a la categorización de las regiones propuestas en el Plan Nacional de Desarrollo 2014-2018 DNP-DDTS.
"nombre_de_la_entidad", -- Denominación verbal dada a una Entidad.
"c_digo_sigep", -- Número único de identificación de la Entidad.
"instituci_n_donde_paga", -- Describe la institución por donde se realiza el pago del trámite
"tipo_accion_condicion", -- Describe la acción (pago, documento, formulario, verificación) que se debe realizar en la ejecución de la paso
"descripcion_paso", -- Describe de manera general el contenido del paso del trámite u otro procedimiento administrativo y consultas de acceso a la información pública
"clase", -- Denominación que se le asigna si es un trámite u otro procedimiento administrativo y consultas de acceso a la información pública
"nombre_resultado", -- Se refiere al producto o servicio que obtiene el ciudadano.
"fuente", -- De donde provienen los valores de la variable.
"a_o", -- Datos del tiempo que aplica la información.
"clasificaci_n_org_nica", -- Estructura general de las entidades y organismos del poder público en Colombia: Ramas del poder público, órganos de control, órganos autónomos, órganos electorales y SIVJRNR.
"c_digo_divipola_municipio", -- Número único de identificación y codificación de los municipios establecidos por el DANE
"departamento", -- División administrativa y política según lo establece la Constitución política de 1991, 33 divisiones, 32 departamentos
"orden", -- Campo de acción de la administración pública de acuerdo con el ordenamiento territorial: nacional o territorial.
"tipo_de_valor", -- Describe la forma en que se va calcular el pago del trámite (UVT, IPC, SMLV, SMLDV)
"mes", -- Datos del tiempo que aplica la información.
"pago_disp_entidad_recaudadora", -- Describe el banco por donde se realiza el pago del trámite
"pago_disponible_en_linea", -- Describe el medio por donde se realiza el del trámite
"orden_condicion", -- Describe el orden de la ejecución de las condiciones dentro de un paso
"documento_tipo", -- Describe la acción de tipo documento, si es propio del trámite o estandarizado es decir que puede hacer parte de muchos trámites u otros procedimientos administrativos (ejemplo Cedula de ciudadanía)
"suborden" -- Clasificación según la división general del territorio: departamentos, municipios, distritos, regiones, provincias, áreas metropolitanas, asociaciones de municipios y territorios indígenas.
FROM
"datos-gov-co/detalle-de-la-informacin-registrada-en-el-suit-por-48fq-mxnm:latest"."detalle_de_la_informacin_registrada_en_el_suit_por"
LIMIT 100;
Connecting to the DDN is easy. All you need is an existing SQL client that can connect to Postgres. As long as you have a SQL client ready, you'll be able to query datos-gov-co/detalle-de-la-informacin-registrada-en-el-suit-por-48fq-mxnm
with SQL in under 60 seconds.
Query Your Local Engine
bash -c "$(curl -sL https://github.com/splitgraph/splitgraph/releases/latest/download/install.sh)"
Read the installation docs.
Splitgraph Cloud is built around Splitgraph Core (GitHub), which includes a local Splitgraph Engine packaged as a Docker image. Splitgraph Cloud is basically a scaled-up version of that local Engine. When you query the Data Delivery Network or the REST API, we mount the relevant datasets in an Engine on our servers and execute your query on it.
It's possible to run this engine locally. You'll need a Mac, Windows or Linux system to install sgr
, and a Docker installation to run the engine. You don't need to know how to actually use Docker; sgr
can manage the image, container and volume for you.
There are a few ways to ingest data into the local engine.
For external repositories, the Splitgraph Engine can "mount" upstream data sources by using sgr mount
. This feature is built around Postgres Foreign Data Wrappers (FDW). You can write custom "mount handlers" for any upstream data source. For an example, we blogged about making a custom mount handler for HackerNews stories.
For hosted datasets (like this repository), where the author has pushed Splitgraph Images to the repository, you can "clone" and/or "checkout" the data using sgr clone
and sgr checkout
.
Cloning Data
Because datos-gov-co/detalle-de-la-informacin-registrada-en-el-suit-por-48fq-mxnm:latest
is a Splitgraph Image, you can clone the data from Spltgraph Cloud to your local engine, where you can query it like any other Postgres database, using any of your existing tools.
First, install Splitgraph if you haven't already.
Clone the metadata with sgr clone
This will be quick, and does not download the actual data.
sgr clone datos-gov-co/detalle-de-la-informacin-registrada-en-el-suit-por-48fq-mxnm
Checkout the data
Once you've cloned the data, you need to "checkout" the tag that you want. For example, to checkout the latest
tag:
sgr checkout datos-gov-co/detalle-de-la-informacin-registrada-en-el-suit-por-48fq-mxnm:latest
This will download all the objects for the latest
tag of datos-gov-co/detalle-de-la-informacin-registrada-en-el-suit-por-48fq-mxnm
and load them into the Splitgraph Engine. Depending on your connection speed and the size of the data, you will need to wait for the checkout to complete. Once it's complete, you will be able to query the data like you would any other Postgres database.
Alternatively, use "layered checkout" to avoid downloading all the data
The data in datos-gov-co/detalle-de-la-informacin-registrada-en-el-suit-por-48fq-mxnm:latest
is 0 bytes. If this is too big to download all at once, or perhaps you only need to query a subset of it, you can use a layered checkout.:
sgr checkout --layered datos-gov-co/detalle-de-la-informacin-registrada-en-el-suit-por-48fq-mxnm:latest
This will not download all the data, but it will create a schema comprised of foreign tables, that you can query as you would any other data. Splitgraph will lazily download the required objects as you query the data. In some cases, this might be faster or more efficient than a regular checkout.
Read the layered querying documentation to learn about when and why you might want to use layered queries.
Query the data with your existing tools
Once you've loaded the data into your local Splitgraph Engine, you can query it with any of your existing tools. As far as they're concerned, datos-gov-co/detalle-de-la-informacin-registrada-en-el-suit-por-48fq-mxnm
is just another Postgres schema.