Sukaldaritza

From eusterm

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)

Try it!


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)

Try it!

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)

Try it!


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

Try it!

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

Try it!


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

Try it!