Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм
Хэзээ, хаана юу хэрэгтэй байсныг би хувийн туршлагаасаа хэлж байна. Энэ бол тойм, дипломын ажил бөгөөд ингэснээр та юу, хаана цааш ухаж болох нь тодорхой болно - гэхдээ энд би зөвхөн субъектив хувийн туршлагатай, магадгүй таны хувьд бүх зүйл огт өөр байж магадгүй юм.

Асуулгын хэлийг мэдэж, ашиглах чадвартай байх нь яагаад чухал вэ? Үндсэндээ Data Science нь ажлын хэд хэдэн чухал үе шаттай бөгөөд хамгийн эхний бөгөөд хамгийн чухал (үүнгүйгээр юу ч ажиллахгүй!) нь өгөгдөл олж авах эсвэл задлах явдал юм. Ихэнх тохиолдолд өгөгдөл нь хаа нэгтээ ямар нэгэн хэлбэрээр байрладаг бөгөөд тэндээс "суран авах" шаардлагатай байдаг. 

Асуулгын хэл нь яг энэ өгөгдлийг задлах боломжийг танд олгоно! Өнөөдөр би танд хэрэгтэй байсан асуултын хэлнүүдийн талаар танд хэлж, хаана, яг яаж сурах хэрэгтэйг танд хэлэх болно.

Өгөгдлийн асуулгын гурван үндсэн блок байх бөгөөд бид энэ нийтлэлд авч үзэх болно.

  • "Стандарт" асуулгын хэлүүд нь харилцааны алгебр эсвэл SQL гэх мэт асуулгын хэлний тухай ярихад ихэвчлэн ойлгогддог зүйл юм.
  • Скрипт асуулгын хэлүүд: жишээлбэл, Python зүйл панда, numpy эсвэл бүрхүүлийн скрипт.
  • Мэдлэгийн график болон график мэдээллийн санд зориулсан хэл хайх.

Энд бичсэн бүх зүйл бол зүгээр л хувийн туршлага, хэрэгтэй зүйл, нөхцөл байдлын тодорхойлолт, "яагаад хэрэгтэй байсан" - хүн бүр ижил төстэй нөхцөл байдал танд хэрхэн тохиолдож болохыг туршиж үзэж, эдгээр хэлийг ойлгосноор тэдэнд урьдчилан бэлдэхийг хичээх боломжтой. Та төсөлд өргөдөл гаргахаас өмнө (яаралтай) эсвэл шаардлагатай төсөлд очихоос өмнө.

"Стандарт" асуулгын хэлүүд

Стандарт асуулгын хэлүүд нь бид асуулгын талаар ярихдаа тэдний тухай ихэвчлэн боддог гэсэн утгаараа яг таг байдаг.

Харилцааны алгебр

Өнөөдөр яагаад харилцааны алгебр хэрэгтэй байна вэ? Асуулгын хэлийг яагаад тодорхой байдлаар зохион байгуулж, ухамсартайгаар ашигладаг талаар сайн ойлголттой байхын тулд та тэдгээрийн үндсэн утгыг ойлгох хэрэгтэй.

Харьцааны алгебр гэж юу вэ?

Албан ёсны тодорхойлолт нь дараах байдалтай байна: харилцааны алгебр нь харилцааны өгөгдлийн загвар дахь харилцааны үйлдлүүдийн хаалттай систем юм. Үүнийг арай илүү хүнээр тайлбарлавал энэ нь хүснэгтүүд дээрх үйлдлийн систем бөгөөд үр дүн нь үргэлж хүснэгт юм.

Бүх харилцааны үйлдлүүдийг үзнэ үү энэ нь Хабраас авсан нийтлэл - энд та яагаад мэдэх хэрэгтэй, энэ нь хаана хэрэгтэй болохыг тайлбарлав.

Яагаад?

Асуулгын хэлүүд гэж юу болох, тодорхой асуулгын хэл дээрх илэрхийллийн ард ямар үйлдлүүд байдгийг ойлгож эхлэх нь асуулгын хэл дээр юу, хэрхэн ажилладаг талаар илүү гүнзгий ойлголттой болгодог.

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм
-аас авсан энэ нь нийтлэл. Үйлдлийн жишээ: нэгдэх, хүснэгтүүдийг нэгтгэдэг.

Суралцах материал:

Стэнфордын сайн танилцуулах курс. Ерөнхийдөө харилцааны алгебр, онолын талаар маш олон материал байдаг - Coursera, Udacity. Мөн сайн гэх мэт асар их хэмжээний материал онлайн байна академик курсууд. Миний хувийн зөвлөгөө: та харилцааны алгебрийг маш сайн ойлгох хэрэгтэй - энэ бол үндсэн суурь юм.

SQL

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм
-аас авсан энэ нь нийтлэл.

SQL нь үндсэндээ харилцааны алгебрийн хэрэгжилт юм - чухал анхааруулгатай бол SQL нь тунхаглал юм! Өөрөөр хэлбэл, харилцааны алгебрын хэлээр асуулга бичихдээ та хэрхэн тооцоолохыг хэлдэг - гэхдээ SQL-ийн тусламжтайгаар та юу задлахыг хүсч байгаагаа зааж өгөөд дараа нь DBMS нь харилцааны алгебрын хэл дээр (үр дүнтэй) илэрхийлэлүүдийг аль хэдийн үүсгэдэг. эквивалент гэж бидэнд мэдэгддэг Коддын теорем).

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм
-аас авсан энэ нь нийтлэл.

Яагаад?

Relational DBMSs: Oracle, Postgres, SQL Server гэх мэт нь бараг хаа сайгүй байсаар байгаа бөгөөд та тэдэнтэй харьцах магадлал маш өндөр байгаа бөгөөд энэ нь та SQL-г унших (энэ нь маш их магадлалтай) эсвэл бичих шаардлагатай болно гэсэн үг юм. магадлал багатай биш).

Юу уншиж, судлах вэ

Дээрх холбоосуудын дагуу (харилцааны алгебрын тухай) маш их хэмжээний материал байдаг, жишээлбэл, энэ нь.

Дашрамд хэлэхэд, NoSQL гэж юу вэ?

"NoSQL" гэсэн нэр томъёо нь туйлын аяндаа үүссэн бөгөөд үүний цаана нийтээр хүлээн зөвшөөрөгдсөн тодорхойлолт, шинжлэх ухааны байгууллага байхгүй гэдгийг дахин онцлон тэмдэглэх нь зүйтэй." Харгалзах нийтлэл Хабр дээр.

Үнэн хэрэгтээ олон асуудлыг шийдэхийн тулд бүрэн харилцааны загвар хэрэггүй гэдгийг хүмүүс ойлгосон, ялангуяа гүйцэтгэл чухал, нэгтгэсэн тодорхой энгийн асуулга давамгайлж байгаа тохиолдолд хэмжигдэхүүнийг хурдан тооцоолж, тэдгээрийг бичих нь чухал юм. өгөгдлийн сан, ихэнх шинж чанарууд нь харилцан хамааралтай байдаг нь зөвхөн шаардлагагүй төдийгүй хор хөнөөлтэй байдаг - хэрэв энэ нь бидний хувьд хамгийн чухал зүйл (тодорхой нэг ажлын хувьд) - бүтээмжийг сүйтгэх юм бол яагаад хэвийн болгох вэ?

Түүнчлэн, сонгодог харилцааны загварын тогтмол математик схемийн оронд уян хатан схемүүд ихэвчлэн шаардлагатай байдаг бөгөөд энэ нь системийг байрлуулж, хурдан ажиллаж эхлэх, үр дүнг боловсруулах, эсвэл схем, хадгалагдсан өгөгдлийн төрлүүдийг боловсруулахад чухал ач холбогдолтой үед програмын хөгжүүлэлтийг гайхалтай хялбаршуулдаг. тийм ч чухал биш.

Жишээлбэл, бид шинжээчийн системийг бий болгож байгаа бөгөөд зарим мета мэдээллийн хамт тодорхой домэйн дээр мэдээллийг хадгалахыг хүсч байна - бид бүх талбарыг мэдэхгүй байж магадгүй бөгөөд бичлэг бүрт JSON хадгалдаг - энэ нь бидэнд өгөгдлийг өргөжүүлэх маш уян хатан орчинг өгдөг. загвар, хурдан давталттай - энэ тохиолдолд NoSQL илүү тохиромжтой, илүү унших боломжтой байх болно. Жишээ оруулга (NoSQL яг хэрэгтэй газар байсан миний төслүүдийн нэгээс).

{"en_wikipedia_url":"https://en.wikipedia.org/wiki/Johnny_Cash",
"ru_wikipedia_url":"https://ru.wikipedia.org/wiki/?curid=301643",
"ru_wiki_pagecount":149616,
"entity":[42775,"Джонни Кэш","ru"],
"en_wiki_pagecount":2338861}

Та илүү ихийг уншиж болно энд NoSQL-ийн тухай.

Юу судлах вэ?

Энд та зүгээр л өөрийн даалгавар, ямар шинж чанаруудтай, энэ тайлбарт тохирох NoSQL системүүд байгаа эсэхийг сайтар шинжлэх хэрэгтэй бөгөөд дараа нь энэ системийг судалж эхлэх хэрэгтэй.

Скрипт асуулгын хэлүүд

Эхлээд харахад Python үүнд ямар хамаатай юм шиг санагддаг - энэ бол програмчлалын хэл бөгөөд асуулгын тухай огт биш юм.

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм

  • Панда бол шууд утгаараа Швейцарийн армийн өгөгдлийн шинжлэх ухааны хутга бөгөөд үүнд асар их хэмжээний өгөгдөл хувиргах, нэгтгэх гэх мэт зүйл тохиолддог.
  • Numpy - векторын тооцоо, матриц, шугаман алгебр.
  • Scipy - энэ багцад маш их математик, ялангуяа статистик байдаг.
  • Бархасбадь лаборатори - олон тооны хайгуулын өгөгдөлд дүн шинжилгээ хийх нь зөөврийн компьютерт сайн тохирдог - мэдэхэд хэрэгтэй.
  • Хүсэлт - сүлжээтэй ажиллах.
  • Pyspark өгөгдлийн инженерүүдийн дунд маш их алдартай тул та энэ эсвэл Spark-тай харьцах хэрэгтэй болно, энэ нь зүгээр л алдартай учраас.
  • *Selenium - сайтууд болон нөөцөөс мэдээлэл цуглуулахад маш их хэрэгтэй байдаг, заримдаа мэдээлэл авах өөр арга байдаггүй.

Миний гол зөвлөгөө: Python сур!

Пандас

Дараах кодыг жишээ болгон авч үзье.

import pandas as pd
df = pd.read_csv(“data/dataset.csv”)
# Calculate and rename aggregations
all_together = (df[df[‘trip_type’] == “return”]
    .groupby(['start_station_name','end_station_name'])
                  	    .agg({'trip_duration_seconds': [np.size, np.mean, np.min, np.max]})
                           .rename(columns={'size': 'num_trips', 
           'mean': 'avg_duration_seconds',    
           'amin': min_duration_seconds', 
           ‘amax': 'max_duration_seconds'}))

Үндсэндээ код нь сонгодог SQL загварт нийцэж байгааг бид харж байна.

SELECT start_station_name, end_station_name, count(trip_duration_seconds) as size, …..
FROM dataset
WHERE trip_type = ‘return’
GROUPBY start_station_name, end_station_name

Гэхдээ хамгийн чухал зүйл бол энэ код нь скрипт болон дамжуулах хоолойн нэг хэсэг бөгөөд үнэн хэрэгтээ бид Python хоолойд асуулга оруулж байна. Энэ тохиолдолд асуулгын хэл нь Pandas эсвэл pySpark зэрэг номын сангаас бидэнд ирдэг.

Ерөнхийдөө pySpark-д бид асуулгын хэлээр дамжуулан ижил төрлийн өгөгдөл хувиргалтыг дараах байдлаар харж байна.

df.filter(df.trip_type = “return”)
  .groupby(“day”)
  .agg({duration: 'mean'})
  .sort()

Хаана, юу унших вэ

Ерөнхийдөө Python дээр асуудалгүй судлах материал олох. Онлайнаар асар олон тооны хичээл байдаг панда, pySpark болон курсууд Spark (мөн өөрөө DS). Ерөнхийдөө энд байгаа агуулга нь Google-ийн хувьд маш сайн бөгөөд хэрэв би анхаарлаа төвлөрүүлэхийн тулд нэг багцыг сонгох шаардлагатай бол энэ нь панда байх байсан. Мөн DS+Python материалын хослолын тухайд маш их.

Shell нь асуулгын хэл юм

Миний ажиллаж байсан хэд хэдэн өгөгдөл боловсруулах, дүн шинжилгээ хийх төслүүд нь үнэндээ Python, Java болон shell командууд дээр код дууддаг бүрхүүлийн скриптүүд юм. Тиймээс, ерөнхийдөө bash/zsh/etc хэл дээрх дамжуулах хоолойг өндөр түвшний хайлт гэж үзэж болно (мэдээжийн хэрэг та тэнд гогцоо хийж болно, гэхдээ энэ нь бүрхүүлийн хэл дээрх DS кодын хувьд ердийн зүйл биш юм), бид өгье. энгийн жишээ - Би викидатагийн QID зураглал болон Орос, Англи викигийн бүрэн линкийг хийх шаардлагатай байсан бөгөөд үүний тулд би bash дахь командуудаас энгийн хүсэлт бичиж, гаралтын хувьд Python дээр энгийн скрипт бичсэн. дараах байдлаар нэгтгэх:

pv “data/latest-all.json.gz” | 
unpigz -c  | 
jq --stream $JQ_QUERY | 
python3 scripts/post_process.py "output.csv"

хаана

JQ_QUERY = 'select((.[0][1] == "sitelinks" and (.[0][2]=="enwiki" or .[0][2] =="ruwiki") and .[0][3] =="title") or .[0][1] == "id")' 

Энэ нь үнэн хэрэгтээ шаардлагатай зураглалыг бий болгосон бүх шугам хоолой байсан; бидний харж байгаагаар бүх зүйл урсгал горимд ажиллаж байсан:

  • pv файлын зам - файлын хэмжээнээс хамааран явцын мөрийг өгч, агуулгыг нь цааш дамжуулдаг
  • unpigz -c архивын хэсгийг уншаад jq-д өгсөн
  • Түлхүүртэй jq - урсгал нь үр дүнг шууд гаргаж, Python дахь дараах процессор руу (эхний жишээний адил) дамжуулсан.
  • дотооддоо, дараах процессор нь гаралтыг форматласан энгийн төлөвийн машин байв 

Нийтдээ их хэмжээний өгөгдөл (0.5 TB) дээр урсгалын горимд ажилладаг нарийн төвөгтэй шугам хоолой нь чухал нөөцгүй бөгөөд энгийн дамжуулах хоолой, хэд хэдэн хэрэгслээр хийгдсэн.

Өөр нэг чухал зөвлөгөө: терминал дээр сайн, үр дүнтэй ажиллаж, bash/zsh/etc бичих чадвартай байх.

Энэ нь хаана ашигтай байх вэ? Тийм ээ, бараг хаа сайгүй - дахин хэлэхэд Интернет дээр судлах маш олон материал байдаг. Ялангуяа энд энэ нь миний өмнөх нийтлэл.

R скрипт

Уншигч дахин хэлж магадгүй - энэ бол бүхэл бүтэн програмчлалын хэл юм! Мэдээжийн хэрэг, түүний зөв байх болно. Гэсэн хэдий ч би ихэвчлэн R-тэй ийм контекст дээр тааралддаг байсан бөгөөд үнэндээ энэ нь асуулгын хэлтэй маш төстэй байсан.

R нь статистик тооцоолол, дүрслэлд зориулсан статистик тооцооллын орчин ба хэл юм (дээр энэ нь).

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм
авсан Эндээс. Дашрамд хэлэхэд би үүнийг санал болгож байна, сайн материал.

Дата судлаач яагаад R-г мэдэх шаардлагатай вэ? Наад зах нь, R-д өгөгдөлд дүн шинжилгээ хийдэг мэдээллийн технологийн бус хүмүүсийн асар том давхарга байдаг тул би дараах газруудаас үүнтэй танилцсан:

  • Эмийн салбар.
  • Биологичид.
  • Санхүүгийн салбар.
  • Статистиктай холбоотой цэвэр математикийн боловсролтой хүмүүс.
  • Мэргэшсэн статистик загварууд болон машин сургалтын загварууд (энэ нь зөвхөн зохиогчийн хувилбараас R багц хэлбэрээр байдаг).

Энэ нь яагаад асуулгын хэл юм бэ? Энэ нь ихэвчлэн олддог хэлбэрээр энэ нь үнэндээ загвар үүсгэх хүсэлт бөгөөд үүнд өгөгдөл унших, асуулгын (загвар) параметрүүдийг засах, мөн ggplot2 зэрэг багц дахь өгөгдлийг дүрслэн харуулах - энэ нь бас асуулга бичих хэлбэр юм. .

Дүрслэх асуултуудын жишээ

ggplot(data = beav, 
       aes(x = id, y = temp, 
           group = activ, color = activ)) +
  geom_line() + 
  geom_point() +
  scale_color_manual(values = c("red", "blue"))

Ерөнхийдөө R-ийн олон санаанууд панда, numpy эсвэл scipy гэх мэт дата фрейм, дата векторжуулалт гэх мэт питон багцууд руу шилжсэн - тиймээс ерөнхийдөө R дээрх олон зүйл танд танил, тохиромжтой мэт санагдах болно.

Судлах олон эх сурвалж байдаг, жишээлбэл, энэ нь.

Мэдлэгийн графикууд

Энд би бага зэрэг ер бусын туршлага олж авлаа, учир нь би мэдлэгийн графиктай ажиллах, график хайх хэлтэй ажиллах шаардлагатай болдог. Тиймээс, энэ хэсэг нь арай чамин зүйл тул үндсэн ойлголтуудыг товчхон авч үзье.

Сонгодог харилцааны өгөгдлийн санд бид тогтмол схемтэй байдаг, гэхдээ энд схем нь уян хатан, предикат бүр нь үнэндээ "багана" ба түүнээс ч илүү байдаг.

Та хүнийг загварчилж байсан бөгөөд гол зүйлийг тайлбарлахыг хүсч байна гэж төсөөлөөд үз дээ, жишээлбэл, тодорхой хүн болох Дуглас Адамсыг авч, энэ тайлбарыг үндэс болгон ашигла.

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм
www.wikidata.org/wiki/Q42

Хэрэв бид харилцааны өгөгдлийн санг ашигласан бол асар олон тооны багана бүхий асар том хүснэгт эсвэл хүснэгтүүдийг үүсгэх шаардлагатай болно, тэдгээрийн ихэнх нь NULL эсвэл ямар нэг өгөгдмөл Хуурамч утгаар дүүрэн байх болно, жишээлбэл, бидний олонхи нь Солонгосын үндэсний номын санд оруулах - Мэдээжийн хэрэг, бид тэдгээрийг тусад нь хүснэгтэд оруулж болох боловч энэ нь эцсийн дүндээ тогтсон хамаарлыг ашиглан предикат бүхий уян логик хэлхээг загварчлах оролдлого болно.

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм
Тиймээс бүх өгөгдлийг график хэлбэрээр эсвэл хоёртын болон нэгдмэл логикийн илэрхийлэл хэлбэрээр хадгалдаг гэж төсөөлөөд үз дээ.

Та ийм зүйлтэй хаана таарч болох вэ? Нэгдүгээрт, хамтран ажиллах өгөгдөл вики, мөн график мэдээллийн сан эсвэл холбогдсон өгөгдөлтэй.

Дараах нь миний ашиглаж, хамтран ажиллаж байсан асуулгын үндсэн хэлүүд юм.

SPARQL

Вики:
SPARQL (рекурсив товчлол нь Англи хэл SPARQL протокол ба RDF Query хэл) - өгөгдлийн хайлтын хэл, загвараар төлөөлдөг RDFТэгээд протокол Эдгээр хүсэлтийг дамжуулах, хариу өгөх. SPARQL бол зөвлөмж юм W3C консорциум технологийн нэг юм семантик вэб.

Гэвч бодит байдал дээр энэ нь логик нэгдмэл болон хоёртын предикатуудын асуулгын хэл юм. Та зүгээр л Булийн илэрхийлэлд юу нь тогтмол, юу нь биш (маш хялбаршуулсан) болохыг нөхцөлт байдлаар зааж өгч байна.

RDF (Resource Description Framework) нь SPARQL асуулгыг гүйцэтгэх суурь нь өөрөө гурвалсан юм. object, predicate, subject - ба асуулга нь сүнсэнд заасан хязгаарлалтын дагуу шаардлагатай гурвыг сонгоно: p_55(X, q_33) үнэн байхаар X-г ол - энд мэдээжийн хэрэг, p_55 нь ID 55-тай ямар нэгэн төрлийн хамаарал, q_33 нь ID 33-тай объект (энд болон бүх түүхийг дахин бүх төрлийн дэлгэрэнгүй мэдээллийг орхигдуулсан).

Өгөгдлийн танилцуулгын жишээ:

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм
Улс орнуудын зураг, жишээг эндээс үзнэ үү Эндээс.

Үндсэн асуулгын жишээ

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм

Үнэн хэрэгтээ бид ?country хувьсагчийн утгыг предикатын хувьд олохыг хүсч байна
member_of, member_of(?country,q458) болон q458 нь Европын Холбооны ID болох нь үнэн.

Python хөдөлгүүр доторх бодит SPARQL асуулгын жишээ:

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм

Ерөнхийдөө би SPARQL-ийг бичихийн оронд унших хэрэгтэй байсан - ийм нөхцөлд өгөгдлийг хэрхэн яаж татаж байгааг ойлгохын тулд наад зах нь анхан шатны хэлийг ойлгох нь ашигтай ур чадвар байх болно. 

Онлайнаар судлах маш олон материал байдаг: жишээлбэл, энд энэ нь и энэ нь. Би ихэвчлэн Google-ийн тодорхой загвар, жишээнүүдийг хайдаг бөгөөд энэ нь одоогоор хангалттай.

Логик асуулгын хэлүүд

Та миний нийтлэлээс сэдвийн талаар илүү ихийг уншиж болно энд. Энд бид логик хэл яагаад асуулт бичихэд тохиромжтой болохыг товчхон судлах болно. Үндсэндээ RDF нь p(X) ба h(X,Y) хэлбэрийн логик хэллэгүүдийн багц бөгөөд логик хайлт нь дараах хэлбэртэй байна.

output(X) :- country(X), member_of(X,“EU”).

Энд бид шинэ предикатын гаралт/1 (/1 нь нэгдмэл гэсэн үг) үүсгэх тухай ярьж байна, хэрэв X-ийн хувьд улс(X) - өөрөөр хэлбэл, X нь улс, мөн гишүүн_(X,"ЕХ ") нь үнэн байх тохиолдолд.

Өөрөөр хэлбэл, энэ тохиолдолд өгөгдөл болон дүрмийг хоёуланг нь ижил байдлаар харуулсан бөгөөд энэ нь асуудлыг маш хялбар бөгөөд сайн загварчлах боломжийг олгодог.

Та энэ салбарт хаана танилцсан бэ?: ийм хэлээр асуулга бичдэг компанитай бүхэл бүтэн том төсөл, мөн системийн цөм дэх одоогийн төсөл дээр энэ нь нэлээд чамин зүйл мэт санагдаж болох ч заримдаа ийм зүйл тохиолддог.

Викидата боловсруулах логик хэл дээрх кодын фрагментийн жишээ:

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм

Материал: Би энд орчин үеийн логик програмчлалын хэлний хариултын багц програмчлалын хэд хэдэн холбоосыг өгөх болно - Би үүнийг судлахыг зөвлөж байна:

Өгөгдөл судлаачийн тэмдэглэл: Өгөгдлийн асуулгын хэлний талаархи хувийн тойм

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх