Wikidata:Tools/OpenRefine/Editing/Advanced schemas/nl

From Wikidata
Jump to navigation Jump to search
This page is a translated version of the page Wikidata:Tools/OpenRefine/Editing/Advanced schemas and the translation is 100% complete.

Soms zijn uw gegevens niet zo eenvoudig als een normale tabel, of het soort verklaringen dat u wilt doen verschilt bij elke rij. Hier leggen wij uit hoe deze gevallen aangepakt moeten worden.

Hiërarchische gegevens

Soms geeft uw bron gegevens in een gestructureerd formaat, zoals XML, JSON of RDF. OpenRefine kan deze bestanden importeren en omzetten in tabellen. Deze tabellen zullen een deel van de hiërarchie in het bestand weergeven door middel van null cellen.

{
  "artists": [
    {
      "name": "Gilberto Gil",
      "songs": [
        "Toda menina Bahiana",
        "Expresso 2222",
        "Refazenda"
      ]
    },
    {
      "name": "Hiromi Uehara",
      "songs": [
        "Desire",
        "Deep Into The Night"
      ]
    }
  ]
}
   OpenRefine bewerkingshandboek: voorbeeld van hiërarchische gegevens die worden ingevoerd uit JSON.

OpenRefine zal gebruik maken van de mode records, die records behandelt als atomaire objecten. U kunt zien dat het 2 records telt, zelfs als er 5 rijen zijn, en de arcering van de rijen weerspiegelt dat. Meer informatie over de verschillen met de modus rijen staan in dit artikel.

De Wikidata-extensie werkt altijd in modus rijen', dus als we verklaringen willen toevoegen die zowel naar de artiest als naar het nummer verwijzen, moeten we de null-cellen vullen met de corresponderende artiest. U kunt dit doen met de bewerking Vullen omlaag (in het menu Cellen bewerken voor deze kolom). Deze functie kopieert niet alleen celwaarden, maar ook afstemmingsresultaten.

OpenRefine-bewerkingshandboek: voorbeeld van het gebruik van vullen-omlaag bij het werken met hiërarchische gegevens.
OpenRefine-bewerkingshandboek: voorbeeld van het gebruik van vullen-omlaag bij het werken met hiërarchische gegevens.

Voorwaardelijke toevoegingen

Soms wilt u alleen een verklaring toevoegen onder bepaalde voorwaarden.

De workflow om dit te bereiken ziet er als volgt uit:

  • Gebruik facetten om de rij te selecteren waar u geen informatie wilt toevoegen;
  • Leeg de cellen in de kolom die de informatie bevatten die u wilt toevoegen. Als u deze informatie niet wilt verliezen, kunt u vooraf een kopie van de kolom maken;
  • Verwijder uw facetten om alle rijden opnieuw te zien;
  • Maak een schema met behulp van de kolom die u gedeeltelijk voor de verklaringen heeft leeggemaakt.

Bijvoorbeeld, u zou een verklaring alleen kunnen toevoegen als er geen verklaring met deze eigenschap op het doelitem is. Denk aan de volgende tabel:

Staat van de tabel vooraf, als onderdeel van een handleiding over voorwaardelijke Wikidata-uploads in OpenRefine
Staat van de tabel vooraf, als onderdeel van een handleiding over voorwaardelijke Wikidata-uploads in OpenRefine

We willen deze hoogtes uploaden naar Wikidata, maar alleen voor de bergpassen waarvan de hoogte nog niet bekend is. Om dit te doen, halen we de bestaande hoogtes op met behulp van de functie "Kolommen toevoegen van afgestemde waarden", die ons deze tabel geeft:

Tweede staat van de tabel, als onderdeel van een handleiding over voorwaardelijke Wikidata-uploads in OpenRefine
Tweede staat van de tabel, als onderdeel van een handleiding over voorwaardelijke Wikidata-uploads in OpenRefine

We maken een facet op de "hoogte boven de zeespiegel" (op Wikidata) om alleen de niet-lege waarden te selecteren. Vervolgens verwijderen we de overeenkomstige cellen in de kolom "hoogte" met de functie "Cellen bewerken" -> "Gebruikelijke transformaties" -> "To null". We kunnen het lege facet verwijderen en krijgen dan deze tabel:

Uiteindelijke staat van de tabel, als onderdeel van een handleiding over voorwaardelijke Wikidata-uploads in OpenRefine
Uiteindelijke staat van de tabel, als onderdeel van een handleiding over voorwaardelijke Wikidata-uploads in OpenRefine

We kunnen nu onze gegevens uploaden met gebruik van de eerste en derde kolom in een Wikidata schema.

Variatie in eigenschappen

Soms zult u willen dat u kolomvariabelen kan gebruiken voor eigenschappen in het schema. Het is nu niet mogelijk, in de eerste plaats omdat we nog geen reconciliatie-service voor eigenschappen hebben, maar ook omdat het toestaan van verschillende eigenschappen in een verklaring zou betekenen dat deze eigenschappen potentieel verschillende datatypes zouden kunnen hebben, wat de structuur van het schema zou breken.

Als u slechts een paar eigenschappen wilt gebruiken, is er een manier om dit probleem te omzeilen. Stel bijvoorbeeld dat u een kolom met hoogtes hebt en een kolom die aangeeft of deze moet worden toegevoegd als maximum operating altitude (P2254) of als elevation above sea level (P2044).

Wikidatabewerking met OpenRefine: voorbeeldproject waar verschillende eigenschappen nodig zijn. Initiele stand van het project.
Wikidatabewerking met OpenRefine: voorbeeldproject waar verschillende eigenschappen nodig zijn. Initiele stand van het project.

Maak een tekstfacet in de kolom type. Filter om alleen de waarden voor hoogte te behouden. Voeg een nieuwe kolom toe op basis van de kolom meters, door de standaardexpressie (value) te behouden die alleen de bestaande waarden kopieert. Selecteer vervolgens de waarde maximale werkhoogte in het facet en doe hetzelfde. Reset het facet, u zou zoiets als dit moeten krijgen:

Wikidatabewerking met OpenRefine: voorbeeldproject waar verschillende eigenschappen nodig zijn. Veranderde project.
Wikidatabewerking met OpenRefine: voorbeeldproject waar verschillende eigenschappen nodig zijn. Veranderde project.

U kunt nu gebruik maken van het feit dat lege cellen worden genegeerd door de Wikidata-extensie. Maak het volgende schema:

Wikidatabewerking met OpenRefine: voorbeeldproject waar verschillende eigenschappen nodig zijn. Schema.
Wikidatabewerking met OpenRefine: voorbeeldproject waar verschillende eigenschappen nodig zijn. Schema.

Zelfs als het lijkt alsof we beide eigenschappen op hetzelfde item toevoegen, zijn de kolommen in de praktijk nooit gelijktijdig niet leeg, dus we voegen de waarden op verschillende items effectief toe met de juiste eigenschappen.

Aanpassen aan bestaande gegevens op Wikidata

Soms wilt u alleen verklaringen maken als er nog geen dergelijke verklaringen op het item zijn. Hier is een manier om dit te bereiken:

  • haal eerst de bestaande waarden op uit Wikidata, met behulp van de actie Kolommen bewerken'Kolommen toevoegen uit afgestemde waarden;
  • ten tweede, maak een facet door null op de nieuw gemaakte kolom die de informatie bevat die u wilt controleren;
  • selecteer de non-null rijen (false);
  • wis de inhoud van de kolom waar uw bronwaarden staan (Cellen bewerkenVeelvoorkomende transformatiesNaar null).

U kunt uw schema nu zoals gewoonlijk opbouwen - nulwaarden worden genegeerd bij het genereren van de verklaringen. Het project ziet er nu zo uit:

Wikidata bewerken met OpenRefine. Geavanceerde schemaconstructie: het vermijden van bestaande waarden.
Wikidata bewerken met OpenRefine. Geavanceerde schemaconstructie: het vermijden van bestaande waarden.

U kunt deze methode ook gebruiken om alleen verklaringen toe te voegen als er nog geen refereerde waarde op Wikidata staat. Wanneer u kolommen toevoegt op basis van afgestemde waarden, klikt u op configureren en filtert u verklaringen op basis van het verwijzingsniveau dat u nodig heeft:

Wikidata bewerken met OpenRefine. Geavanceerde schemaconstructie: configureren van het ophalen van bestaande waarden.
Wikidata bewerken met OpenRefine. Geavanceerde schemaconstructie: configureren van het ophalen van bestaande waarden.

Merk op dat u ook kunt filteren per rang en het aantal overeenkomende waarden kunt teruggeven in plaats van de waarden zelf (wat mogelijk het ophalen kan versnellen als u te maken hebt met een groot aantal waarden voor elk item).