Mae Google yn cyhoeddi iaith raglennu rhesymeg Logica

Mae Google wedi cyflwyno iaith raglennu rhesymeg ddatganiadol newydd, Logica, a ddyluniwyd ar gyfer trin data a chyfieithu rhaglenni i SQL. Mae'r iaith newydd wedi'i hanelu at y rhai sydd am ddefnyddio cystrawen rhaglennu rhesymeg wrth ysgrifennu ymholiadau cronfa ddata. Ar hyn o bryd, gellir gweithredu'r cod SQL canlyniadol yn storfa Google BigQuery neu yn PostgreSQL a SQLite DBMSs, y mae cefnogaeth ar ei gyfer yn dal i fod yn arbrofol. Yn y dyfodol bwriedir ehangu nifer y tafodieithoedd SQL a gefnogir. Mae cod y prosiect wedi'i ysgrifennu yn Python a'i gyhoeddi o dan drwydded Apache 2.0.

Mae Logica yn parhau i ddatblygu iaith prosesu data arall a ddatblygwyd gan Google, Yedalog, ac mae'n darparu lefel o dynnu nad yw ar gael yn SQL safonol. Mae ymholiadau yn Logica yn cael eu rhaglennu ar ffurf set o ddatganiadau rhesymegol. Yn cefnogi modiwlau, mewnforion, a'r gallu i ddefnyddio Logica o'r gragen ryngweithiol yn Llyfr Nodiadau Jupyter. Er enghraifft, i gynhyrchu crynodeb o'r bobl y soniwyd amdanynt amlaf yn y newyddion ar gyfer 2020, gallwch ddefnyddio'r rhaglen Logica ganlynol i gael mynediad i gronfa ddata GDELT: @OrderBy(Crybwyll, “crybwyll desc”); @Terfyn(Crybwyll, 10); Sonia (person :, sôn? += 1) ar wahân :- gdelt-bq.gdeltv2.gkg(personau :, dyddiad :), Substr(ToString(date), 0, 4) == “2020”, the_persons == Hollti (personau, ";"), person yn y_persons; $logica mentions.l run Mentions +—————-+————-+ | person | crybwyll_cyfrif | +—————-+————-+ | donald trump | 3077130 | | los angeles | 1078412 | | joe biden | 1054827 | | george floyd | 872919 | | boris johnson | 674786 | | Barack Obama | 438181 | | vladimir putin | 410587| | bernie sanders | 387383 | | andrew cuomo | 345462 | | las vegas | 325487 | +————--+————-+

Mae ysgrifennu ymholiadau cymhleth yn SQL yn arwain at yr angen i ysgrifennu cadwyni aml-linell feichus nad ydynt yn amlwg i'w deall, yn ymyrryd ag ailddefnyddio rhannau o'r ymholiad, ac yn cymhlethu gwaith cynnal a chadw. Ar gyfer cyfrifiadau ailadroddus nodweddiadol, gall SQL ddefnyddio golygfeydd a swyddogaethau, ond nid ydynt yn cefnogi gweithrediadau mewnforio ac nid ydynt yn darparu hyblygrwydd ieithoedd lefel uchel (er enghraifft, ni allwch drosglwyddo swyddogaeth i swyddogaeth). Mae Logica yn caniatáu ichi gyfansoddi rhaglenni o flociau rhesymegol bach, dealladwy, y gellir eu hailddefnyddio y gellir eu profi, sy'n gysylltiedig ag enwau penodol, a'u grwpio i becynnau y gellir eu defnyddio fel rhan o brosiectau eraill.

Ffynhonnell: opennet.ru

Ychwanegu sylw