Jump to content

Help:Tabular data/nl

From mediawiki.org
This page is a translated version of the page Help:Tabular data and the translation is 100% complete.

Met data in tabelvorm kunnen gebruikers CSV-achtige tabellen van data maken en deze van andere wiki's gebruiken om automatische tabellen, lijsten en grafieken te maken.

Om een nieuwe tabel aan te maken, gaat u naar Wikimedia Commons, maakt u een nieuwe pagina aan in de namespace Data met een achtervoegsel .tab, zoals Data:Sandbox/Name/Example.tab. Voel u vrij om te experimenteren door pagina's te maken met het voorvoegsel Sandbox/<username>/. Voorlopig kan pagina-inhoud alleen worden bewerkt in het ruwe JSON-formaat en met een eenvoudige tabeleditor, maar een gadget maakt het importeren/exporteren van/naar CSV- en Excel-bestanden mogelijk. Another script allows import from existing graph wikitext. Generative AI can be prompted to import data from existing graph and table wikitext, and to update with new data. We hopen dat we op 21 november 2016 een spreadsheet-achtige editor zullen hebben om het bewerken van data te vereenvoudigen.

Het onderliggende dataformaat komt grotendeels overeen met de Frictionless Data-standaard voor een tabelleerde databron.

Data licenties

Bij alle data in de namespace Data: moet de licentie expliciet zijn aangeven. De aanbevolen licentie is Publiek Domein, onder licentie Creative Commons Zero (CC0) . Om dit te laten zien, moet elke datapagina "license": "CC0-1.0" hebben, wat betekent dat de gegevens kunnen worden gebruikt onder de CC0 versie 1.0, of (na uw keuze) een latere versie. Door de data te bewerken, gaat u akkoord met de gebruiksvoorwaarden, en stemt u er onherroepelijk mee in om uw bijdrage in het Publiek Domein vrij te geven onder licentie CC0.

Als het niet mogelijk is om de data te vrijgeven onder CC0, worden ook de volgende licenties ondersteund:

Alle sjablonen die gegevens halen uit niet-CC0 gelicentieerde datasets moeten voldoen aan de relevante attributievoorwaarden, daarom wordt sterk aangeraden om waar mogelijk CC0 de voorkeur te geven.

Op een later moment kan de lijst met licenties die worden ondersteund door de namespace Data worden uitgebreid.

Datatypes

JSON-gegevens in een tabelvorm ondersteunen verschillende basiswaardetypes. U kunt ook null gebruiken in plaats van de waarde om het als ontbrekend te markeren.

  • number – Een numerieke waarde met een optioneel fractiedeel en kan exponentiële E-notatie, maar kan geen niet-getallen bevatten zoals NaN.
  • boolean – staat alleen de waarden true en false toe.
  • string – een tekst van niet meer dan 400 tekens. Speciale tekens zoals nieuwe-regel \n en een tab \t zijn niet toegestaan.
  • localized – Een meertalige tekenreeks, voorgesteld als een object met sleutels als taalcodes (bijv. "en"), en waarden als een tekenreeks met een lengte van maximaal 400 karakters. Bijvoorbeeld, {"en":"string in English", "fr":"chaîne de texte en français", ...} heeft waarden voor zowel Engels als Frans.

Hoogste niveau velden

Data in tabelvorm heeft verschillende vereiste en optionele elementen op het hoogste niveau:

Naam Verplicht? Beschrijving
license Verplicht moet altijd worden ingesteld op de waarde "CC0-1.0". Nu wordt alleen data in tabelvorm ondersteunt met een CC0 (Public Domain dedication) licentie versie 1.0 of hoger. In de toekomst kunnen er meer licenties ondersteund worden.
schema: {"fields": [{...}, {...}, ...]} Verplicht moet worden ingesteld op een object dat een lijst bevat. Elk veld beschrijft een kolom van de tabelgegevens. Elk veld moet een object zijn met verplichte waarden "name" en "type"
Naam Verplicht? Beschrijving
name Verplicht de naam van de kolom. De waarde moet beginnen met een letter of een liggend streepje "_", en alleen letters, liggende streepjes of cijfers bevatten. Dit wordt gedaan zodat elke kop gemakkelijk kan worden gebruikt vanuit een coderingsomgeving zoals Lua of Vega-grafieken.
type Verplicht moet worden ingesteld op één van deze waarden: "number", "boolean", "string" of "localized".
title Optioneel een optionele vertaling voor de koptekst van de kolom. Als het is ingesteld, moet het een gelokaliseerd string object zijn.
data Verplicht moet altijd worden ingesteld op een lijst met lijsten. Elke sublijst moet hetzelfde aantal elementen hebben als de koppen en moet overeenkomen met de waardetypes.
description Optioneel moet worden ingesteld op een vertaalde tekenreekswaarde - een object met ten minste één sleutelwaarde, waarbij de sleutel een taalcode is (bv. "en"), en de waarde een beschrijving.
sources Optioneel moet een Wiki-opmaak tekenreekswaarde zijn die de bron van de data beschrijft.
mediawikiCategories Optioneel moet worden ingesteld op een lijst die objecten bevat. Elk object kan twee waarden hebben:
Naam Verplicht? Beschrijving
name Verplicht naam van een categorie waaraan de datapagina zelf moet worden toegevoegd.
sort Optioneel welke sorteersleutel te gebruiken voor de pagina in de categorie.

Gebruik

Er zijn twee manieren om deze data op wiki te gebruiken:

  • Een Lua-script op een wiki kan deze data ophalen met een aanroep van mw.ext.data.get("Example.tab"). De functie geeft tabelgegevens terug in bijna hetzelfde formaat als de originele JSON, behalve dat alle vertaalde strings worden omgezet in gewone strings, en het licentieveld zal ook een vertaalde licentie-naam bevatten. Om de data in een andere taal te krijgen, geef de taalcode als tweede parameter mee. Om de data in de oorspronkelijke, ongewijzigde vorm te krijgen, gebruik "_" als taalcode.
  • Chart opbouw wordt ondersteund bij tabelgegevens, hetzij met behulp van de pagina waarnaar wordt verwezen in het veld "source": "Example.tab" van de pagina in het formaat Data:Example.chart of overschreven bij de aanroep als bij {{#chart:Example.chart|source=Example.tab}}. (Dit vervangt het oude Vega-grafiek-systeem dat getabelleerde data kon krijgen door "tabular:///Example.tab" als url van de databron te gebruiken.)

Op Commons, als u een pagina transcludeert uit de namespace Data, dat wil zeggen {{Data:Example.tab}}, dan wordt deze opgebouwd als een HTML-tabel. Om direct toegang te krijgen tot data op een wikipagina, kunt u (als u die nog niet heeft) de module tabular data importeren (vereist de module navbar) en optioneel het sjabloon tabular query. Met deze hulpmiddelen kunt u de waarde van een enkele cel gemakkelijk ophalen.

Voorbeeld

{
    "license": "CC0-1.0",
    "description": {
        "en": "Some good fruits for you",
        "es": "Algunas buenas frutas para ti"
    },
    "sources": "http://example.com and [[a wiki page]]",
    "schema": {
        "fields": [
            { "name": "id", "type": "string", "title": { "en": "Fruit ID", "fr": "ID de fruit" }},
            { "name": "name", "type": "localized", "title": { "en": "Fruit name", "fr": "Nom de fruit" }},
            { "name": "count", "type": "number", "title": { "en": "Count", "fr": "Décompte" }},
            { "name": "like", "type": "boolean", "title": { "en": "Do I like it?", "fr": "L’aimes-tu ?" }},
            { "name": "description", "type": "localized", "title": { "en": "Fruit description", "fr": "Description du fruit" }}
        ]
    },
    "data": [
        [
            "peaches",
            {
                "en": "Peaches",
                "es": "Melocotones",
                "fr": "Pêches"
            },
            100,
            true,
            {
                "en": "Magnificent but a bit sweet",
                "es": "Magníficos pero un poco dulces",
                "fr": "Magnifiques mais un peu sucrées"
            }
        ],
        [
            "apples",
            {
                "en": "Apples",
                "es": "Manzanas",
                "fr": "Pommes"
            },
            150,
            true,
            {
                "en": "Red, not green",
                "es": "Rojas, no verdes",
                "fr": "Rouges, pas vertes"
            }
        ]
    ],
    "mediawikiCategories": [
        {
            "name": "Example category",
            "sort": "Its sortkey"
        },
        {
            "name": "Example category 2"
        }
    ]
}

Zie c:Data:COVID-19 cases in Santa Clara County, California.tab een voorbeeld van hoe JSON-gegevens op Commons worden weergegeven.

Beperkingen en valkuilen

  • Elke tekenreeks behalve "sources" mag niet langer zijn dan 400 karakters. Speciale tekens zoals nieuwe-regel \n en een tab \t zijn niet toegestaan.
  • De totale grootte van de pagina mag niet meer dan 2 MB bedragen.
  • Waarden null worden door de validator doorgegeven, maar kunnen problemen veroorzaken met de verwerking door Lua-modules, omdat JSON null deze koppelt met Lua nil en deze vermeldingen uiteindelijk ontbreken uit de data-rij-tabel, waardoor de gebruikelijke iteratiepatronen vroeg worden gebroken.

Opmerkingen voor beheerders

  • Sitebeheerders kunnen foutmeldingen aanpassen, zoals jsonconfig-err-license om redacteuren op de hoogte te houden van de CC0-only beperking.

Converteren van data naar JSON

Er zijn verschillende hulpmiddelen beschikbaar om andere formaten naar JSON om te zetten

Overwegingen over Extension:Chart en Excel/Libreoffice Calc

Veel Excel-sheets hebben veel meer kolommen dan het logisch is om in een diagram te laten zien. Sinds juni 2025 ondersteunt Extension:Chart alleen grafieken met select van kolommen (curves).

Daarvoor moest om een deelverzameling van de curves handig in een grafiek beschikbaar te maken, een versie van de pagina .tab worden gemaakt met de overeenkomstige deelverzameling van de kolommen.

De data kan worden geëxporteerd vanuit Commons als een CSV-bestand, gewijzigd in een spreadsheetprogramma en vervolgens worden omgezet naar tabel-JSON met gebruik van c:MediaWiki talk:Gadget-TabularImportExport.js.

CSV en TSV

  • convertcsv.com – (selecteer "CSV to JSON Array") Genereer uitvoer als JSON-Array, kies onder 'output options' optie 'f to JSON Array, create array for column names with name'. U zult nog steeds handmatig name: en type: aan elke invoer in fields moeten toevoegen (zie voorbeeld hierboven voor de opmaak).

XLS

  • xls-to-json – Converteer xls-bestanden naar JSON in NodeJS

Zie ook