Wikidata:Tools/OpenRefine/Editing/Advanced schemas/nl
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 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.
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:
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:
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:
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).
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:
U kunt nu gebruik maken van het feit dat lege cellen worden genegeerd door de Wikidata-extensie. Maak het volgende 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 bewerken → Veelvoorkomende transformaties → Naar 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:
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:
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).