Sukaldaritza
Sukaldaritza, kontzeptu-eskema bat
Eskema deskribatzen duen entitatea
Eskema hau deskribatzen duen entitatea Q8551 da.
Proiektuaren deskribapena: Abiapuntua, helburua, metodologia, emaitzak
Egilea
Imanol Alonso Gezuraga
Abiapuntua
Proiektu honen abiapuntua Pagotxa RZk izeneko webgunea da.
Webgune honetan errezetak nola egin azaltzen digute, beharrezko osagaiak eta eginbeharrak zeintzuk diren aipatuz. Nire proiektua burutzeko, errezeta horien osagaiei erreparatu diet eta ez erabili behar diren tresnei, sukaldaritza teknikei edo bestelakoei.
Helburua
Proiektu honen helburua moldatuz joan da proiektua aurrera atera bitartean. Nire hasierako ideia, errezeta multzo bat hartzea eta errezeta horiek egiteko beharrezko osagaiak, sukalde tresnak, sukalde teknikak, prestatzeko beharrezko denbora eta beste hainbat datu ateratzea zen. Horrela, datu guzti horien grafoa sortzeko asmoa nuen eta galdeketak ahalbidetu ahalko ziren. (Adibidez: eman arrautzarik ez duen eta zartaginean 30min baino gutxiagoan egiten diren errezetak). Lehen aipatutako webgunearekin lan egingo nuela erabaki nuen gero eta errezeta kopurua ikusita ikusi nuen datu gehiegi zirela bildu nahi nituenak. Orduan, erabaki nuen gauza bera egitea baina errezeten osagaiekin soilik. (Adibidez: eman haragirik ez duten errezetak).
Azkenean, proiektuan egiten ibili naizen lanak, eustermen euskarazko lexikalizazioak eta batez ere definizioak ematera eraman nau, orain arte sukaldaritzari buruzko kontzeptuen definizioak falta zirela ikusi dudalako.
Metodologia
Lehenik eta behin, "Pagotxa RZk" webguneko errezetak erauzteko eskatu nion irakasleari. 1200 bat osagai erauzi zituen (asko errepikatuak, gatza esaterako) eta kalkulo horri batean bidali zizkidan. Webgunean, osagaiak jartzerako orduan, "2 baratxuri atal", "800ml esne", "salda pixka bat" eta bestelakoak agertzen ziren eta nik eskuz osagaiak bakandu nituen (2 baratxuri atal--> baratxuri). Gainera, Pagotxa RZk webgunean gauza bera esateko sinonimoak erabiltzen dituzte eta nik sinonimoen artean bat hobetsi behar izan dut. Hori egin izan ez banu, izen batek baino gehiagok edukiko zuen Q baliokide bera. Adibidez, berakatz eta baratxuriren artean baratxuri hobetsi nuen, beraz, berakatz agertzen zen bakoitzean baratxuri izenarekin bakandu nuen osagaia.
Osagaiak bakanduta nituenean, OpenRefinen bidez termino gehienei wikidatako haien Q zenbakia topatu nien. Arazoren bat topatu nuen hau egiterako orduan; adibidez, jaten diren animalia batzuen eta barazki batzuen taxonak topatu nituen wikidatan baina ez nuen topatu haien sukaldatzeko osagaiaren Q baliokiderik. Adibidez, tipulinarekin edo legatzarekin gertatu zitzaidan hori eta ezin izan nituen lotu haien Q baliokidearekin.
Amaitzeko, eustermen termino horien euskarazko lexikalizazioa eta definizioak sartu nituen. Osagai gehienen lexikalizazioa dagoeneko bazegoen baina definizio gehienak ez.
Emaitzak
Proiektuaren emaitza euskarazko sukaldaritzako 234 kontzepturen definizioa eta lexikalizazioren bat eusterm webgunera igotzea izan da. Proiektuarekin jarraituko banu, hasieran nuen galdeketak egiteko asmoarekin jarraituko nuke eta fintzen saiatuko nintzateke. Hau da, momentuz osagaiekin egin dudana sukalde teknikekin, sukalde tresnekin eta abar egingo nuke grafo zabalagoa sortzeko.
SPARQL
Sukaldaritza-kontzeptuak
#title:Sukaldaritza-kontzeptuak, lexikalizazio eta definizioekin
PREFIX euswb: <https://eusterm.wikibase.cloud/entity/>
PREFIX eusdp: <https://eusterm.wikibase.cloud/prop/direct/>
select ?concept (iri(concat("http://www.wikidata.org/wiki/",?wd)) as ?wikidata)
?euLabel (group_concat(distinct str(?euAltLabel);SEPARATOR="; ") as ?euAltLabels)
?euDef
?esLabel (group_concat(distinct str(?esAltLabel);SEPARATOR="; ") as ?esAltLabels)
?esDef
?enLabel (group_concat(distinct str(?enAltLabel);SEPARATOR="; ") as ?enAltLabels)
?enDef
where {
?concept eusdp:P6 euswb:Q8551;
eusdp:P1 ?wd.
optional{?concept rdfs:label ?euLabel. filter(lang(?euLabel)="eu")}
optional{?concept skos:altLabel ?euAltLabel. filter(lang(?euAltLabel)="eu")}
optional{?concept schema:description ?euDef. filter(lang(?euDef)="eu")}
optional{?concept rdfs:label ?esLabel. filter(lang(?esLabel)="es")}
optional{?concept skos:altLabel ?esAltLabel. filter(lang(?esAltLabel)="es")}
optional{?concept schema:description ?esDef. filter(lang(?esDef)="es")}
optional{?concept rdfs:label ?enLabel. filter(lang(?enLabel)="en")}
optional{?concept skos:altLabel ?enAltLabel. filter(lang(?enAltLabel)="en")}
optional{?concept schema:description ?enDef. filter(lang(?enDef)="en")}
} group by ?concept ?wd ?euLabel ?euAltLabels ?euDef ?esLabel ?esAltLabels ?esDef ?enLabel ?enAltLabels ?enDef
order by lcase(?euLabel)
Osagaien banaketa errezetetan zehar
#defaultView:BubbleChart
#title:Pagotxa errezetak: osagaien banaketa errezetetan zehar
PREFIX euswb: <https://eusterm.wikibase.cloud/entity/>
PREFIX eusdp: <https://eusterm.wikibase.cloud/prop/direct/>
select ?osagai ?euLabel (count(?errezeta) as ?zenbat_errezetatan)
where {
?errezeta eusdp:P5 euswb:Q9153; eusdp:P60 ?osagai.
?osagai rdfs:label ?euLabel. filter(lang(?euLabel)="eu")
} group by ?osagai ?euLabel ?zenbat_errezetatan
order by desc(?zenbat_errezetatan)
Osagaien klaseen banaketa errezetetan zehar
#defaultView:BubbleChart
#title:Pagotxa errezetak: osagaien klaseen banaketa errezetetan zehar
PREFIX euswb: <https://eusterm.wikibase.cloud/entity/>
PREFIX eusdp: <https://eusterm.wikibase.cloud/prop/direct/>
PREFIX eusp: <https://eusterm.wikibase.cloud/prop/>
PREFIX eusps: <https://eusterm.wikibase.cloud/prop/statement/>
PREFIX euspq: <https://eusterm.wikibase.cloud/prop/qualifier/>
PREFIX euspr: <https://eusterm.wikibase.cloud/prop/reference/>
PREFIX eusno: <https://eusterm.wikibase.cloud/prop/novalue/>
select ?osagai_klase ?osagai_klase_label (count(?osagai) as ?zenbat_errezetatan)
where {
?errezeta eusdp:P5 euswb:Q9153; eusdp:P60 ?osagai.
?osagai eusp:P5 [eusps:P5 ?osagai_klase; prov:wasDerivedFrom [euspr:P1 ?wd]]. ?osagai_klase rdfs:label ?osagai_klase_label. filter(lang(?osagai_klase_label)="eu")
} group by ?osagai_klase ?osagai_klase_label ?zenbat_errezetatan
order by desc(?zenbat_errezetatan)
Osagaien zerrenda, klaseekin
#title:Pagotxa errezetak: osagaien klaseen banaketa errezetetan zehar (Wikidatatik ekarritako instance-of erlazioak)
PREFIX euswb: <https://eusterm.wikibase.cloud/entity/>
PREFIX eusdp: <https://eusterm.wikibase.cloud/prop/direct/>
PREFIX eusp: <https://eusterm.wikibase.cloud/prop/>
PREFIX eusps: <https://eusterm.wikibase.cloud/prop/statement/>
PREFIX euspq: <https://eusterm.wikibase.cloud/prop/qualifier/>
PREFIX euspr: <https://eusterm.wikibase.cloud/prop/reference/>
PREFIX eusno: <https://eusterm.wikibase.cloud/prop/novalue/>
select distinct ?osagai ?osagai_label (iri(concat(str(wd:),?wd)) as ?wikidata) ?osagai_klase ?osagai_klase_label
where {
?errezeta eusdp:P5 euswb:Q9153; eusdp:P60 ?osagai.
?osagai eusp:P5 [eusps:P5 ?osagai_klase; prov:wasDerivedFrom [euspr:P1 ?wd]]; rdfs:label ?osagai_label. filter(lang(?osagai_label)="eu")
?osagai_klase rdfs:label ?osagai_klase_label. filter(lang(?osagai_klase_label)="eu")
} group by ?osagai ?osagai_label ?wd ?osagai_klase ?osagai_klase_label
order by ?osagai
Wikidatarekin lerrokatutako kontzeptuak irudiekin
#title:Sukaldaritza kontzeptuak: Eustermen eta Wikidatan dituzten lexikalizazio hobetsiekin eta definizioekin (Wikidatarekin lerrotatutakoak bakarrik), irudiekin
#defaultView:ImageGrid
PREFIX euswb: <https://eusterm.wikibase.cloud/entity/>
PREFIX eusdp: <https://eusterm.wikibase.cloud/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
select ?eusterm_item ?wikidata_item ?eusterm_label (group_concat(distinct str(?eusterm_altLabel);SEPARATOR="; ") as ?eusterm_altLabels) ?eusterm_def
?wikidata_label ?wikidata_altLabels ?wikidata_def ?wikidata_enlabel ?image
where {
?eusterm_item eusdp:P6 euswb:Q8551;
eusdp:P1 ?wd.
bind (iri(concat(str(wd:),?wd)) as ?wikidata_item)
optional {?eusterm_item rdfs:label ?eusterm_label. filter(lang(?eusterm_label)="eu")}
optional {?eusterm_item skos:altLabel ?eusterm_altLabel. filter(lang(?eusterm_altLabel)="eu")}
optional {?eusterm_item schema:description ?eusterm_def. filter(lang(?eusterm_def)="eu")}
SERVICE <https://query.wikidata.org/sparql> { select ?wd ?wikidata_item ?wikidata_label (group_concat(distinct str(?wikidata_altLabel);SEPARATOR="; ") as ?wikidata_altLabels) ?wikidata_def ?wikidata_enlabel ?image
WHERE {
?wikidata_item rdfs:label ?wikidata_label. filter(lang(?wikidata_label)="eu")
optional {?wikidata_item schema:description ?wikidata_def. filter(lang(?wikidata_def)="eu")}
optional {?wikidata_item skos:altLabel ?wikidata_altLabel. filter(lang(?wikidata_altLabel)="eu")}
optional {?wikidata_item rdfs:label ?wikidata_enlabel. filter(lang(?wikidata_enlabel)="en")}
optional {?wikidata_item wdt:P18 ?image.}
} group by ?wd ?wikidata_item ?wikidata_label ?wikidata_altLabels ?wikidata_def ?wikidata_enlabel ?image
}
} group by ?eusterm_item ?wikidata_item ?eusterm_label ?eusterm_altLabels ?eusterm_def ?wikidata_label ?wikidata_altLabels ?wikidata_def ?wikidata_enlabel ?image
Wikidatarekin lerrokatutako kontzeptuak
#title:Sukaldaritza kontzeptuak: Eustermen eta Wikidatan dituzten lexikalizazio hobetsiekin eta definizioekin (Wikidatarekin lerrotatutakoak bakarrik)
PREFIX euswb: <https://eusterm.wikibase.cloud/entity/>
PREFIX eusdp: <https://eusterm.wikibase.cloud/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
select ?eusterm_item ?wikidata_item ?eusterm_label (group_concat(?eusterm_altLabel;SEPARATOR="|") as ?eusterm_altLabels) ?eusterm_def ?wikidata_enlabel ?wikidata_eulabel ?wikidata_altLabels ?wikidata_def
where {
?eusterm_item eusdp:P6 euswb:Q8551;
eusdp:P1 ?wd.
bind (iri(concat(str(wd:),?wd)) as ?wikidata_item)
?eusterm_item rdfs:label ?eusterm_label. filter(lang(?eusterm_label)="eu")
optional {?eusterm_item skos:altLabel ?eusterm_altLabel. filter(lang(?eusterm_altLabel)="eu")}
optional {?eusterm_item schema:description ?eusterm_def. filter(lang(?eusterm_def)="eu")}
SERVICE <https://query.wikidata.org/sparql> { select ?wd ?wikidata_item ?wikidata_enlabel ?wikidata_eulabel (group_concat(distinct str(?wikidata_altLabel);SEPARATOR="; ") as ?wikidata_altLabels) ?wikidata_def
where {
?wikidata_item rdfs:label ?wikidata_enlabel. filter(lang(?wikidata_enlabel)="en")
optional {?wikidata_item schema:description ?wikidata_def. filter(lang(?wikidata_def)="eu")}
optional {?wikidata_item skos:altLabel ?wikidata_altLabel. filter(lang(?wikidata_altLabel)="eu")}
optional {?wikidata_item rdfs:label ?wikidata_eulabel. filter(lang(?wikidata_eulabel)="eu")}
} group by ?wd ?wikidata_item ?wikidata_enlabel ?wikidata_altLabels ?wikidata_def ?wikidata_eulabel
}
} group by ?eusterm_item ?wikidata_item ?eusterm_label ?eusterm_altLabels ?eusterm_def ?wikidata_enlabel ?wikidata_eulabel ?wikidata_altLabels ?wikidata_def