Main Page

From Paquerxs Teusaquillo


Registro Paquerxs de Teusaquillo

Paca Digestora Silva

Esta es la página tiene como propósito organizar una base de datos piloto para registrar la información relevante de los colectivos paquerxs en la localidad de Teusaquillo. La idea es que esta base de datos se abierta, flexible y gratuita y que sirva tanto para el registro interno de los diferentes colectivos, como para visibilizar la expansión de la práctica paquera, la cantidad de residuos gestionados y demás información que estos colectivos consideren relevante documentar.

Paca Digestora Silva

La Paca Digestora Silva es una práctica de compostaje anaeróbico que fermenta la materia orgánica a través del prensado manual de los residuos. Se considera una práctica tecnológica y ecológica caracterizada por ser versátil, económica y de alto nivel de eficiencia.​ Esta descompone diferentes clases de residuos biodegradables, como los de cocina, jardín y estiércoles, mediante procesos de fermentación.​ El mecanismo consiste en aglomerar dentro de un molde cuadrado los residuos orgánicos, los cuales son combinados con restos de material vegetal verde y hojarasca formando capas en una relación aproximada de 50%-50%.​ Estos restos de material verde y seco vegetal protegen a los residuos orgánicos aislándolos del medio ambiente exterior para favorecer la fermentación en vez de la putrefacción. La compactación es la principal diferencia de esta técnica en comparación con las pilas de compostaje que requieren de atención y mantenimiento periódico por la necesidad de tener una oxigenación constante.

En este artículo puede encontrarse más información al respecto.



Datos estructurados

El ecosistema Wikimedia tiene una estructura de datos básica que se explica a continuación.

Una Declaración es la estrutura básica de Wikibase. Esta estruturada de la siguiente manera = Ítem > Propiedades > Valores.

A continuación se detalla cada uno de estos.

Item/Elemento

Cualquier elemento, un objeto, persona, concepto lugar, etc. Una página en Wikibase describe un elemento. Los elementos son la forma en que Wikibase se refiere a cualquier cosa de interés y, por lo general, son los temas sobre los que tratan los artículos de Wikipedia. Por ejemplo, en Wikibase tendremos un elemento para Bogotá, y lo que nos referimos con este elemento es el tema de los artículos de Wikipedia enlazados a él en los diferentes idiomas. Cada elemento tiene una etiqueta (un nombre) y una descripción en cada idioma de Wikibase. La etiqueta por sí sola no sería suficiente, ya que puede ser ambigua: Bogotá podría referirse a la capital de Colombia, a una canción, un libro o a muchas otras cosas. La etiqueta y la descripción juntas deberían identificar el significado de un elemento; por ejemplo, la etiqueta "Bogotá" y la descripción "Capital de Colombia" deberían ser de identificación única en cada idioma. Además de las etiquetas, los elementos pueden tener alias que proporcionan nombres alternativos para su búsqueda. "Paca Digestora Silva" también podría aparecer bajo "Paca Silva", "Paca Biodigestora". Los alias sirven para facilitar la búsqueda, como las redirecciones en Wikipedia, por lo que incluso errores ortográficos comunes pueden usarse como alias.

Declaración

Descripción general de una declaración en Wikibase

Uno de los requisitos es que "Wikibase no se centrará en la verdad, sino en las afirmaciones y sus referencias". Esto significa que en Wikibase no modelamos los elementos en sí, sino afirmaciones sobre ellos. No decimos que Bogotá tiene una población de 12,7 millones de habitantes, sino que existe esta afirmación de que la población de Bogotá era de 3,5 millones de habitantes en 2025, según el Departamento Administrativo Nacional de Estadística.

Una afirmación puede constar de:

  • una propiedad (en el ejemplo, "población").
  • un valor (12,7 millones de habitantes).
  • opcionalmente, uno o más calificadores (en este ejemplo, "a partir de 2025" es uno de los calificadores)
  • opcionalmente, una o más referencias (Departamento Administrativo Nacional de Estadística).

La propiedad, el valor y los calificadores juntos también se denominan afirmación, que junto con cualquier referencia a fuentes forma una afirmación.

Puede haber varias afirmaciones sobre la misma propiedad: las personas pueden tener varios hijos, los libros pueden tener varios autores. Además, puede haber puntos de vista divergentes sobre la población de una ciudad (por ejemplo, cifras oficiales y estimaciones de la ONU). O puede haber valores con diferentes calificadores, como puntos en el tiempo o métodos de medición. Para ver algunos ejemplos, consulte a continuación.

Las propiedades se describen en sus propias páginas wiki en Wikibase. También tienen etiquetas y descripciones, y además tienen un tipo de dato asociado y quizás propiedades adicionales. El tipo de dato define el tipo del valor utilizado con esta propiedad. El conjunto de propiedades es creado y mantenido por los editores de Wikibase.

Los valores en sí pueden ser muy simples (otro elemento o simplemente una cadena) o bastante complejos, como una forma geográfica, una medida con una unidad y una precisión, o un período de tiempo. El conjunto de tipos de datos está (en su mayoría) predefinido.

Hay dos valores especiales, generalmente independientemente de su tipo: ninguno y desconocido. Ninguno significa que sabemos que la propiedad dada no tiene valor; por ejemplo, Isabel I de Inglaterra no tenía cónyuge. Desconocido significa que la propiedad tiene un valor, pero se desconoce cuál; por ejemplo, el Papa Lino ciertamente nació en un año, pero lo desconocemos.

Las referencias ofrecen una fuente que respalda la afirmación dada. Puede haber varias referencias para una afirmación. En general apuntarán a una fuente (que sería un elemento de Wikibase por sí mismo: un libro, un sitio web, etc.) y contendrán información adicional, como la página donde se respalda la afirmación. Una afirmación sin referencias no es necesariamente incorrecta, ni una afirmación con referencias es verdadera. Depende del lector de la afirmación decidir si desea confiar en ella.

Resumen:

  • Propiedad: Es el único tipo de dato relevante para ese ítem: Altura de una montaña.
  • Valor: Pueden ser enlaces a otros ítems.

Un item sobre un país tendría declaraciones sobre las diferentes propiedades (superficie, población, capital, etc). Ejemplo:

  • Item-Propiedad-Valor
  • La capital de "Colombia" (Q739) es "Bogotá" (Q2841) o un valor literal.

Estructura de datos

El registro de datos comenzó creando una lista de propiedades que consideramos relevantes registrar en cada una de las jornadas de ensamblado de las pacas, estas son:

  • Cantidad de residuos orgánicos recolectados (kg).
  • Número de unidades familiares participantes (# canecas).
  • Fecha de elaboración (DD-MM-AAAA).
  • Geolocalización (Latitud, Longuitud).
  • Imagen.

Podriamos hacer las siguientes declaraciones:

  • La Paca Digestora del Parkway del 27-07-2025 (Item) recolectó un Peso (Propiedad) de 148,7 kg.
  • La Paca Digestora del Parkway del 27-07-2025 (Item) contó con 26 (Valor) unidades familiares (Propiedad).
  • La Paca Digestora del Parkway del 27-07-2025 (Item) tuvó como fecha de creación (Propiedad) el 27-07-2025 (Valor).
  • La Paca Digestora del Parkway del 27-07-2025 (Item) esta ubicada en las coordenadas (Propiedad) 4.629023,-74.0762717 (Valor).
  • Pantallazo elemento de Paca Digestora Silva en Wikibase
    La Paca Digestora del Parkway del 27-07-2025 (Item) tiene asociada esta (Valor) foto (Propiedad).

Al empezar a hacer el registro creamos el ítem en wikidata de "Paca Biodigestora Silva" (Q135487938), después creamos un ítem subordinado para los datos de una paca especifica "Paca Biodigestora Silva Parkway 27-07-25" (Q135490326) este a modo de ejemplar del primer ítem y con las anteriores características. Sin embargo, por cada paca ensamblada sería necesario crear un ítem nuevo en Wikidata que por no contar con un caracter enciclopédico podría ser eliminado por la comunidad. Buscando poder seguir haciendo una gestión de la información abierta, gratuita y sencilla, nos encontramos con Wikibase que es un entorno colaborativo para la edición de datos en un repositorio central. Dentro de esta opción nos decantamos por Wikibase Cloud que facilita y agiliza el alojamiento de tu Wikibase sin necesidad de infraestructura propia, además es flexible, gratuito y de código abierto. Acá hay algunos ejemplos de proyectos realizados con esta plataforma.

Una vez creado este espacio en Wikibase y hacer la descripción general procedimos a crear la base de datos, para esto era necesario crear los items. Así creamos el item principal la Paca Digestora Silva (Q1), luego un item para una paca ensamblada en un lugar y fecha especifica Paca Digestora Silva Parkway 27-07-25 (Q2). Ahora creamos las propiedades relavantes para los diferentes colectivos ciudadanos: Estas son:

  1. coordenadas de localización (P2)
  2. imagen (P3)
  3. instancia de (P4)
  4. fecha de inicio (P5)
  5. fecha de terminación (P6)
  6. número de participantes (P7)
  7. peso (P8)
  8. colectivo paquerx (P11)
  9. Identificador Wikidata (P12)
  10. nombre (P13)
  11. altura (P18)
  12. información adicional (P19)

Cada una de estas propiedades tiene un valor exclusivo, a excepción de colectivo paquerx que debe seleccionar de una serie de elementos que debe crearse en el Wikibase. Por esto esta propiedad es de tipo "Elemento" o "Ítem" y debe escoger en su valor entre otros elementos de este universo. Para nuestro caso son:

Creación automatizada de elementos y declaraciones con Quick Statements (QS)

Aunque se pueden crear elementos con sus respectivas declaraciones de manera manual, este trabajo resulta dispendioso ya que es necesario crear cada elemento y después agregarle cada una de las declaraciones y actualizar su valor. Sin embargo, cuando ya tenemos la estructura de datos definida podemos valernos de la herramienta Quick Statements. Esta herramienta puede editar elementos de Wikibase o Wikidata, basándose en conjuntos simples de comandos de texto. La herramienta puede añadir y eliminar declaraciones, etiquetas, descripciones y alias; así como añadir declaraciones con calificadores opcionales y fuentes[1]. A partir del item tipo para una paca ensamblada en un lugar y fecha especifica como se puede ver en este elemento Paca Digestora Silva Parkway 27-07-25 (Q2) podemos generar un código para Quick Statements que cree un nuevo elemento con estas declaraciones. Este código sería:

CREATE
LAST|Les|"Paca Biodigestora 13"
LAST|Aes|"Paca Biodigestora Silva"
LAST|Aes|"Paca Biodigestora"
LAST|Aes|"Paca Silva"
LAST|Aes|"Paca"
LAST|Des|"La paca digestora creada en un lugar y tiempo específico."
LAST|P13|es:"Paca Biodigestora 12"
LAST|P4|Q1
LAST|P3|"Paca Biodigestora Silva Parkway 27-07-25.jpg"
LAST|P2|@40.7128/-74.0060
LAST|P5|+1902-00-00T00:00:00Z/11
LAST|P6|+1902-00-00T00:00:00Z/11 
LAST|P7|30
LAST|P8|150.5

A continuación esta la explicación de este código:

CREATE
LAST|Les|"Paca Biodigestora 13"  // Etiqueta o Label del elemento, si el elemento ya existe se generá error
LAST|Aes|"Paca Biodigestora Silva" // Alias o También conocido como.
LAST|Aes|"Paca Biodigestora" // Alias o También conocido como.
LAST|Aes|"Paca Silva" // Alias o También conocido como.
LAST|Aes|"Paca" // Alias o También conocido como.
LAST|Des|"La paca digestora creada en un lugar y tiempo específico." // Descripción 
LAST|P13|es:"Paca Biodigestora 12" // Nombre de la Paca
LAST|P4|Q1 // Instancia de Q1 (Paca Digestora Silva), es un sublemento de un grupo más grande.
LAST|P3|"Paca Biodigestora Silva Parkway 27-07-25.jpg" // Relaciona una foto en wikicommons, solo lee el nombre del archivo.
LAST|P2|@40.7128/-74.0060  // Lugar de la Paca, este es el único formato para leer coordenadas
LAST|P5|+1902-00-00T00:00:00Z/11 // Fecha de Creación. El valor después de la "Z" aumenta o disminuye la precisión de la fecha, cuando es "11" lee AÑO-MES-DÍA.
LAST|P6|+1902-00-00T00:00:00Z/11 // Fecha de Creación. El valor después de la "Z" aumenta o disminuye la precisión de la fecha, cuando es "11" lee AÑO-MES-DÍA.
LAST|P7|30 // Número de participantes.
LAST|P8|150.5 // Peso en kg.
LAST|P11|Q3  // Establece como Colectivo paquerx a otro elemento, en este caso "Q3" que es "paquerox del parkway".
LAST|P18|2  // Altura de la paca en mt.

Ahora podemos dirigirnos a la sección inferior izquierda de esta página podemos ir a QuickStatements, pegar el código del elemento o los elementos a crear y ejecutarlo. En el siguiente enlace se puede ver a detalle cómo subir un lote de datos con QS. Se recomienda empezar con un solo elemento para poder detectar errores. En la siguiente imagen se ve el resultado al subir de manera exitosa un lote de datos.

Captura de pantalla Quick Statements Paca Digestora Silva















Automatización en la creación del código en QS a partir de una Google Sheets

Para el registro de nuestro datos estamos utilizando la siguiente hoja de cálculo. Para facilitar la labor de creación del código en el formato de QS, utilizamos la extensión Apps Script de google sheets que permite generar scripts para automatizar procesos. Ese script creado lee cada una de las filas de la hoja de cálculo con las información de las pacas y crea en la segunda hoja el código para cada uno de los elementos a crear. El código utilizado para Apps Script es:

function generateQuickStatements() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Hoja 1');
  var data = sheet.getDataRange().getValues();
 
  var output = [];
 
  // Empezar desde la fila 2 (omitir encabezados)
  for (var i = 1; i < data.length; i++) {
    var row = data[i];
   
    // Extraer datos de la fila
    var qid = row[0]; // Columna A
    var label = row[1]; // Columna B
    var description = row[2]; // Columna C
    var coordinates = row[3]; // Columna D
    var image = row[4]; // Columna E
    var startDate = row[5]; // Columna F
    var participants = row[6]; // Columna G
    var weight = row[7]; // Columna H
    var collective = row[8]; // Columna I
    var endDate = row[9]; // Columna J
    var name = row[10]; // Columna K
   
    // Generar sentencia CREATE
    var statement = "CREATE\n";
    statement += "LAST|Les|\"" + (label && label !== "" ? label : "valor desconocido") + "\"\n";
    statement += "LAST|Aes|\"" + (label && label !== "" ? label : "valor desconocido") + "\"\n";
   
    // Agregar alias fijos
    statement += "LAST|Aes|\"Paca Biodigestora\"\n";
    statement += "LAST|Aes|\"Paca Biodigestora Silva\"\n";
    statement += "LAST|Aes|\"Paca Silva\"\n";
    statement += "LAST|Aes|\"Paca\"\n";
   
    // Descripción (si existe)
    if (description && description !== "") {
      statement += "LAST|Des|\"" + description + "\"\n";
    } else {
      statement += "LAST|Des|\"valor desconocido\"\n";
    }
   
    // Nombre (P13)
    if (name && name !== "") {
      statement += "LAST|P13|es:\"" + name + "\"\n";
    } else {
      statement += "LAST|P13|es:\"valor desconocido\"\n";
    }
   
    // Tipo de elemento (P4) - asumiendo Q1 como tipo base
    statement += "LAST|P4|Q1\n";
   
    // Imagen (P3) - extraer solo el nombre del archivo sin "File:" y reemplazar _ por espacios
    if (image && image !== "") {
      var fileName = image.split('/').pop();
      // Remover "File:" si está presente
      fileName = fileName.replace('File:', '');
      // Reemplazar guiones bajos por espacios
      fileName = fileName.replace(/_/g, ' ');
      statement += "LAST|P3|\"" + fileName + "\"\n";
    } else {
      statement += "LAST|P3|\"valor desconocido\"\n";
    }
   
    // Coordenadas (P2)
    if (coordinates && coordinates !== "") {
      var coords = coordinates.split(',');
      if (coords.length === 2) {
        var lat = coords[0].trim();
        var lon = coords[1].trim();
        statement += "LAST|P2|@" + lat + "/" + lon + "\n";
      }
    } else {
      statement += "LAST|P2|@0/0\n"; // Coordenadas por defecto para "valor desconocido"
    }
   
    // Fecha inicio (P5) - formato UTC sin zona horaria
    if (startDate && startDate !== "") {
      var formattedDate = formatDateForQuickStatements(startDate);
      if (formattedDate) {
        statement += "LAST|P5|" + formattedDate + "\n";
      } else {
        statement += "LAST|P5|+0000-00-00T00:00:00Z/11\n"; // Fecha por defecto
      }
    } else {
      statement += "LAST|P5|+0000-00-00T00:00:00Z/11\n"; // Fecha por defecto
    }
   
    // Fecha fin (P6) - formato UTC sin zona horaria
    if (endDate && endDate !== "") {
      var dateToFormat;
      // Si es una fórmula, obtener el valor calculado
      if (typeof endDate === 'string' && endDate.includes('=F')) {
        var rowNum = i + 1;
        dateToFormat = sheet.getRange(rowNum + 1, 6).getValue(); // Columna F (fecha inicio)
        // Sumar 8 meses (240 días aproximadamente)
        if (dateToFormat && dateToFormat instanceof Date) {
          dateToFormat = new Date(dateToFormat);
          dateToFormat.setMonth(dateToFormat.getMonth() + 8);
        }
      } else {
        dateToFormat = endDate;
      }
     
      var formattedDate = formatDateForQuickStatements(dateToFormat);
      if (formattedDate) {
        statement += "LAST|P6|" + formattedDate + "\n";
      } else {
        statement += "LAST|P6|+0000-00-00T00:00:00Z/11\n"; // Fecha por defecto
      }
    } else {
      statement += "LAST|P6|+0000-00-00T00:00:00Z/11\n"; // Fecha por defecto
    }
   
    // Participantes (P7)
    if (participants && participants !== "") {
      statement += "LAST|P7|" + participants + "\n";
    } else {
      statement += "LAST|P7|\"valor desconocido\"\n";
    }
   
    // Peso (P8)
    if (weight && weight !== "") {
      statement += "LAST|P8|" + weight + "\n";
    } else {
      statement += "LAST|P8|\"valor desconocido\"\n";
    }
   
    // Colectivo (P11) - asumiendo que son QIDs existentes
    if (collective && collective !== "") {
      statement += "LAST|P11|" + getCollectiveQID(collective) + "\n";
    } else {
      statement += "LAST|P11|Q1\n"; // QID por defecto para "valor desconocido"
    }
   
    output.push(statement + "\n");
  }
 
  // Crear una nueva hoja con los resultados
  var outputSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QuickStatements');
  if (!outputSheet) {
    outputSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet('QuickStatements');
  } else {
    outputSheet.clear();
  }
 
  // Escribir los resultados
  for (var j = 0; j < output.length; j++) {
    outputSheet.getRange(j + 1, 1).setValue(output[j]);
  }
 
  return output;
}

// Función para formatear fecha en formato Quick Statements correcto
function formatDateForQuickStatements(dateValue) {
  try {
    var dateObj;
   
    // Si es un objeto Date de Google Sheets
    if (dateValue instanceof Date) {
      dateObj = dateValue;
    }
    // Si es un string con formato ISO (de la hoja de cálculo)
    else if (typeof dateValue === 'string' && dateValue.includes('-')) {
      // Para strings como "2025-07-27 00:00:00"
      var dateParts = dateValue.split(' ')[0].split('-');
      if (dateParts.length === 3) {
        dateObj = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);
      }
    }
    // Si es otro formato de string
    else if (typeof dateValue === 'string') {
      dateObj = new Date(dateValue);
    }
   
    if (!dateObj || isNaN(dateObj.getTime())) {
      Logger.log('Fecha inválida: ' + dateValue);
      return null;
    }
   
    var year = dateObj.getFullYear();
    var month = (dateObj.getMonth() + 1).toString().padStart(2, '0');
    var day = dateObj.getDate().toString().padStart(2, '0');
   
    return "+" + year + "-" + month + "-" + day + "T00:00:00Z/11";
   
  } catch (e) {
    Logger.log('Error al formatear fecha: ' + e + ' - Valor: ' + dateValue);
    return null;
  }
}

// Función auxiliar para mapear nombres de colectivos a QIDs
function getCollectiveQID(collectiveName) {
  var collectiveMap = {
    "paquerxs del parkway": "Q3",
    "paquerxs de san luis": "Q4",
    "paquerxs del neuque": "Q5",
  };
 
  return collectiveMap[collectiveName] || "Q1";
}


Una vez se guarda el código seleccionamos la función "GenerateQuickStatements" y la ejecutamos.

Ejecución del Apps Script














Al ejecutar el script en la segunda hoja nos dará el código de cada elemento a crear en QS.

Pantallazos automatizacione Apps Script































Ahora solo debemos correr el lote en QS como se explicó en la anterior sección.

Query o Consultas

Los Query son llamados escritos en un lenguaje sencillo conocido como SPARQL que nos permiten visualizar los datos alojados en nuestra Wikibase en formato de tablas, mapas, gráficos, etc. Acontinuación dejamos unos query básicos para que puedas ver su estructura.

Lista de todas las propiedades

SELECT ?property ?propertyLabel ?propertyDescription ?property_type WHERE {
  ?property a wikibase:Property .
  ?property wikibase:propertyType ?property_type .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "es" . }
}

Lista de todas las Pacas de Teusaquillo

# Lista de todas las Pacas de Teusaquillo
PREFIX wd: <https://paquerxs-teusaquillo.wikibase.cloud/entity/>
PREFIX wdt: <https://paquerxs-teusaquillo.wikibase.cloud/prop/direct/>

SELECT ?item ?itemLabel
WHERE
{
  # Item Propiedad (P4=CInstancia de) Valor (Q1=Paca Digestora Silva)
  ?item wdt:P4 wd:Q1 . # dame todos los items que son pertenezcan ala categoría "Paca Digestora Silva".
                            
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],es". }
}

Lista de Pacas del Parkway

# Lista de Pacas del Parkway
PREFIX wd: <https://paquerxs-teusaquillo.wikibase.cloud/entity/>
PREFIX wdt: <https://paquerxs-teusaquillo.wikibase.cloud/prop/direct/>

SELECT ?item ?itemLabel
WHERE
{
  # Item Propiedad (P11=Colectivo Paquerx) Valor (Q3=paquerxs parkway)
  ?item wdt:P11 wd:Q3 . # dame todos los items que son del colectivo "paquerxs parkway".
                            
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],es". }
}

Estos Query se pueden correr con la herrmienta Query Service que se encuentra en el lateral izquierdo de esta página. Una vez pegas el código puedes coorer el query, luego puedes seleccionar la manera de visulizar los datos, tabla, gráfico de pie, mapa, etc. En este enlace puedes encontrar más ejemplos de Query.

Visualización de datos

Cómo hay ciertas visualizaciones de datos que ya sabemos que son relevantes para las comunidades interesadas, ya creamos sus respectivos Querys. A continuación dejamos los enlaces de dichas visualizaciones:

Hay infinidad de visualizaciones de datos por hacer, tan solo es necesario que crees el respectivo Query y lo ejecutes.

Términos de uso

A menos que se indique lo contrario, todo el contenido de esta wiki está bajo la licencia Creative Commons Zero 1.0 Universal (CC0 1.0) de Dominio Público (con excepción del: logotipos e imagen de encabezado).

Al contribuir a esta wiki, acepta reutilizar sus contribuciones según los términos descritos en la página de Política de Privacidad.

Las modificaciones a esta wiki se guardan automáticamente (consulte la pestaña "Historial" en cada página) y el administrador puede revisarlas y revertirlas si es necesario. Cualquier acto de vandalismo está prohibido y, francamente, es decepcionante.

Declaración del editor

Esta página es editada por un grupo de vecinos participes en los colectivos paquerxs de la localidad de Teusaquillo, entre estos Paquerxs del Parkway y Paquerxs del Neuque.

Referencias

Citas