á¨áľ áĽá ááź á áá áĽáá°áá ᨠá¨áá á°ááᎠáĽáááááłááᢠáá áĽá á¨áľ áááá áĽáá°áá˝á ááá˝ áĽáá˛áá á á ááá áĽááł áĽá á°á˛áľ áá - áá áĽáá
áĽá áĽáť á¨á°áá°á á¨áá á°ááᎠá áá ᣠááááŁáľ ááá ááá ááĽááľá á¨á°áᨠááá áá˝ááá˘
á¨áá áá ááááá˝á ááá áĽá áá áá ááťá ááá á áľááá? á áá°á¨áą áłáł áłáááľ á ááŤáł á áá á¨áľáŤ á°á¨ááá˝ á ááľáŁ áĽá á áŁá á¨ááááŞáŤá áĽá á áŁá á áľáááá (áŤá áĽáą á áĽááá áááľ ááá á áá°áŤá!) áá¨á ááááľ ááá áááŁáľ ááᢠáĽááá áá, ááᥠá á°áá°á ááአá¨áá áŚáł á°ááá§á áĽá á¨á፠"áááŁáľ" áŤáľááááá.
á¨áá áá ááááá˝ áá á ááἠáĽáá˛áŤáᥠáŤáľá˝áááłá! áĽá áᏠááĽá á áá áľááááľ á¨áĽáŤá ááááá˝ áĽáááŤá˝ááá áĽá áĽáááááłáá áĽá á¨áľ áĽá áĽáá´áľ á áľááá - ááá ááĽááľ áĽáá°ááŤáľááá áĽáááááłááá˘
á áá á˝áá ááľáĽ á¨ááááŤááŁá¸á áśáľáľ áá áá á¨áá¨á áá áá ááááśá˝ áááŤá á˘
- áĽáá° á°ááá á áááĽáŤ ááá SQL áŤá áľá áá áá ááá á˛ááአ"áá°á á" á¨áá áá ááááá˝ á á°áááś á¨áá¨áąáľ áá¸áá˘
- á¨áĽáŤá ááááá˝ áľááŞááľ ááľá¨áᥠáááłáᥠPython things pandasᣠnumpy or shell scriptingá˘
- á¨áĽáŤá ááááá˝ ááĽáááľ ááŤáá˝ áĽá ááŤá áłáłá¤áá˘
áĽáá
á¨á°ááá ááá ááá á¨áá á°ááᎠáĽáť áá ᣠá áá á¨ááá ᣠá¨áááłáá˝ ááá፠áĽá âááá áĽáá°ááŤáľáááâ - ááá á°á áĽáá´áľ á°ááłáłá áááłáá˝ á áĽááľá ááááľ ááᥠáĽáá°áá˝á ááá¨á áĽá áĽááá
á ááááá˝ á áá¨áłáľ ááĽááą á áľááľáá ááááááľ ááá¨á áá˝áá ᢠá ááŽáááľ áá (á á áľá¸áłá) áááá¨áť á¨áá
á¨áĽá á ááľ ááá áá°ááááá áľ ááŽáááľ áĽááłá á¨ááľá¨áľá á ááľá˘
"áá°á á" á¨áĽáŤá ááááá˝
áá°á á á¨áá áá ááááá˝ á áľááá áľá áá ááá˝ áľáááá áľááĽááą áľááááľáĽá áľ áááł ááá˘
á°ááá á áááĽáŤ
ááá áᏠá°ááá á áááĽáŤ á áľááá? á¨áá áá ááááá˝ ááá á á°áá°á ááááľ áĽáá°áááአáĽá á áĽááá ááá áá áĽáŠ áááᤠáĽáá˛ááááľ á¨áľá áŤááá áá ááá áá¨áłáľ áŤáľáááááłáá˘
á°ááá á áááĽáŤ áááľá áá?
áá°á áá ááşá á¨áá¨á°áá ááᥠá°ááá˝ á áááĽáŤ á áááááľ áá¨á áá´á ááľáĽ á áááááśá˝ áá á¨á°áá á¨ááá áľáááľ ááᢠá áĽááą á°áĽá á á áá ááአáááľáááĽ, áá á á á¨á´ááá˝ áá á¨á á áŤá áľáááľ áá, áá á áá¤áą áááá á á¨á´á áá.
áááá á°ááá
á°ááŁáŤáľ á ááľáĽ áááá¨áą
ááá?
á¨áá áá ááááá˝ áľá áá áĽáá°áá áĽá á á°áá°á á¨áĽáŤá ááááá˝ ááľáĽ áŤá ááááŤáá˝ á áľá°ááᣠáá á°ááŁáŤáľ áĽááłá áá¨áłáľ áááá áĽááá áá á áĽáŤá ááááá˝ ááľáĽ áá áĽáá°áá°áŤ áĽá áĽáá´áľ áĽáá°áá°áŤ áĽáá áááá¤á áá°áŁáá˘
ᨠá¨á°áá°á°
ááĽááľ á¨ááŤáľááá ááłááśá˝áĄ-
SQL
ᨠá¨á°áá°á°
SQL á áá á¨áą á¨áááááľ á áááĽáŤ áľáá ፠áá - á¨á áá ááľá ááá፠ááᣠSQL ááá áá! áááľá áĽáŤáá á á°ááá
á áááĽáŤ ááá á˛á˝á á áľááá áĽáá´áľ ááľááľ áĽáá°ááťá ááááŤá - ááá áá á SQL áá áááŁáľ áĽáá°áááá ááááá ᣠáĽá á¨á፠DBMS ááľááá á áááááľ á áááĽáŤ ááá (áá¤áłá) á áááážá˝á áŤáááŤáᢠáĽáŠáááľ ááĽá ááłááá
ᨠá¨á°áá°á°
ááá?
á°ááá á˛á˘á¤áá¤áľáá˝áĄ 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 áľáááśá˝ áá áĽáá°áá á áľááá áá°áá°á áŤáľáááááłá - áĽá á¨á፠áá áá áľáááľ ááĽááľ ááááŠá˘
á¨áľááŞááľ áá áá ááááá˝
á ááááŞáŤ ᣠPython á¨áą áá á á á ááá áá á¨ááŤáááá áááľáá - áĽáą á¨ááŽááŤá ááá áá ᣠáĽá áľá áá ááá˝ á ááŤá˝ á áá°ááá˘
- áááłáľ á áĽáŹá á¨áľááááááľ áŚá á¨áá¨á áłáááľ á˘áá ááᤠá ááľáĄ á¨áá°á áá á áŤáá á¨ááἠáááĽáŁ áľááᣠááá°. áá¨á°áłáá˘
- Numpy - á¨áŹáá°á áľááśá˝áŁ ááľáŞááľ áĽá ááľááŤá á áááĽáŤ áĽááŤá˘
- Scipy - á áá ááŹá ááľáĽ áĽá á¨ááłáĽ áľáá ááľ á á, á á°ááá áľáłá˛áľá˛ááľ.
- ááá°á ááĽáŤáśáŞ - áĽá á¨áłá°áł áá¨á áľáá°á á áááśáá˝ ááľáĽ á á°áἠááŁáŁáá - áááá áá á ááá˘
- áĽáŤááá˝ - á¨á ááłá¨ áá¨áĄ áá ááľáŤáľ.
- ááľááá á áłáł áááá˛áśá˝ áááľ á áŁá áłáá áá ᣠááááŁáľá áĽááľá á áłááááłá¸á ááááŤáľ á¨áá ááá á¨áľááá áá áááááľ ááááĽá áá˝ááá˘
- á´ááá¨á - áá¨áá á¨áŁá˘áŤáá˝ áĽá ááĽáśá˝ ááá°áĽá°áĽ á áŁá á áá áá ᣠá ááłááľ áá á ááá áááĄá áááááľ áá ááááľ á¨ááá˘
áá áááŹáĄ 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
ááá ááá áá áá áŽáľ á¨áľááŞááą áĽá á¨á§á᧠ááľáá á áŤá ááá ááᥠáĽáá°áá áĽáŤááá˝á áá° áááá á§á᧠ááľáá áĽá¨á¨ááá ááᢠá áá áááł á¨áĽáŤá áááá áĽáá° áááłáľ ááá ááľááá áŤá á¤á°-ááťáááľ áá° áĽá áááŁáá˘
á á á áááᣠá pySpark ááľáĽ á áá¨á°ááľ ááááľ ááľáĽ á°ááłáłá á¨áá á¨ááἠááἠá áĽáŤá ááá áĽááŤááá˘
df.filter(df.trip_type = âreturnâ)
.groupby(âdayâ)
.agg({duration: 'mean'})
.sort()
á¨áľ áĽá áá áĽáá°ááá áĽ
á áááá áĽáŤáą á á á ááá
áźá áĽáá° áá áá ááá
áĽá á áĽáŹáŤá¸á á¨á°áŤáá¸á áĽááľ á¨áá¨á ááááŁá áŞáŤ áĽá áľáá°á ááŽáááśá˝áŁ á áĽáááąáŁ á PythonᣠJava áĽá áźá áĽáŤáłá¸áá á¨ááŤáá áŽáľ á¨áá አá¨áźá áľááŞááśá˝ áá¸áᢠáľááá , á á á ááá, á bash / zsh / ááá° ááľáĽ á¨á§á᧠ááľááŽá˝á áĽáá° á ááľ ááááľ á¨áá°á á°á¨á áá áá (á áĽáááĽ, áĽá፠ááľáĽ áááá˝á ááľá¨á áá˝áá, ááá áá áá á áźá ááááá˝ ááľáĽ á 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 filepath - á ááá áá á áá á áááľá¨áľ á¨áá°áľ á ááá áá°áŁá áĽá áááąá áá° áá áŤáľá°áááá
- unpigz -c á¨áá á°áŠá ááá á ááĽáŚ á jq á°á á
- jq á¨ááá áá - áĽá¨áą áá˛áŤáá áá¤áąá á áᣠáĽá áá° áľá ᨠááŽá°á°á (á¨ááááŞáŤá ááłá áá á°ááłáłá) á Python ááľáĽ á áłáááá˘
- á ááľáĽáŁ áľá ᨠááŽá°á°á áá¤áąá á¨áááá ááá á¨áľá´áľ áá˝á áá áá˘
á á á ááá, á áľáá áłáł (0.5TB) áá°áľ áááł á¨áá°áŤ ááľáĽáľáĽ á¨á§á᧠ááľáá, ááá ááĽáśá˝ áłááá áĽá á¨ááá á¨á§á᧠ááľáá áĽá áááľ ááłáŞáŤáá˝ á¨á°á°áŤ.
áá á áá ááá: á á°áááá ááľáĽ á áĽáŠ áááł áĽá á áĽááľ áááľáŤáľ áĽá bash / zsh / ááá° ááá.
á¨áľ áá á
áá? á á ᣠá ááá áŚáł áááľ ááťáá - áĽáá°áá ᣠá áááá¨áĽ áá áááĽááľ áĽá ááłááśá˝ á áᢠá á°áá áĽáá
á á áľááŞááľ
áĽáá°áá á ááŁá˘á ááŽá áá˝áá - á°á á ᣠáá á á ááá á¨ááŽááŤá ááá áá! áĽá á áĽáááĽ, áĽáą áľááá áááá. áááᣠ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 áá° python áĽá áá˝ á°á°á°áą áĽáá° áááłáŁ numpy ááá scipyᣠáĽáá° dataframes áĽá data vectorization - áľááá á á á ááá á R ááľáĽ áŤá áĽá áááŽá˝ ááĽááľá á¨á°áááą áĽá ááš áááľááá˘
áááĽááľ áĽá áááŽá˝ á á, áááłá,
á¨áĽáááľ ááŤáá˝
áĽáá áľáá˝ áŤáá°ááá° á°ááᎠá áá ᣠááááŤáąá áĽá áá á¨áĽáááľ ááŤáá˝ áĽá á¨áĽáŤá ááááá˝ áá ááĽáŤáľ á ááĽáᢠáľááá , áá ááá áľáá˝ áá¨áľ áŤá áľááá áľá áá°á¨áłá áááŽá˝ á á áአáĽááá.
á áĽááłá áááááľ á¨ááἠááłáá˝ ááľáĽ áá ááľá á ááá˘
á ááľá á°á áá´á áĽá¨á°áŠ áĽáá°áá á áľáĄáľ áĽá ááá áááŽá˝á ááááá˝ áĽáá°ááá áááłá á ááľ á¨á°áá°á á°á áłáááľ á áłááľá áĽááá°áľ áĽá áá á ááá፠áĽáá° áá°á¨áľ áĽáá ááá áľá˘
á°ááá áłáłá¤á á¨á°á ááá áĽá ááĽá áŤáá¸á áááśá˝ áŤááľ áľáá á á¨á´á ááá á°áá á¨áŚá˝á ááá á á ááĽáᣠá áĽáááš áŁáś ááá á á°áá°á ááŁáŞ á¨á°áá á¨áá¸áľ áĽá´áľáŁ áááłá áĽáááťá˝á áŤáá á áááľááᢠá áŽáŞáŤ áĽááŤá á¤á°-áá˝áááľ ááľáĽ áááŁáľ - á áĽááἠᣠáĽá á á°áᨠá á¨á´ááá˝ ááľáĽ áááľáááŁá¸á áĽáá˝ááá ᣠáá áá á áá¨á¨áť áá áááááľá á áá áá á°áááá áááŤá áá¨áłá ᨠpredicates áá ááá á¨á˝ á¨áá°á¨á áá¨áŤ ááá˘
áľááá
ááá áá¨ááá˝ áĽáá° ááŤá ááá áĽáá° áááľáŽá˝ áĽá áŤáá°ááłá°á áĄááŤá á áááážá˝ áá¨ááťá áĽáá áŤáľáĄá˘
áá
áá áĽááłá á¨áľ ááŤááĽáá
áá˝áá? á ááááŞáŤ ᨠáá ááľáŤáľ
á¨á°á áááłá¸á áĽá á¨á°áŤáá¸á ááááš á¨áĽáŤá ááááá˝ á¨áá¨á°ááľ áá¸áá˘
SPARQL
wiki:
áľáááŞá (á°á°ááá áá áťá¨ áá ĐžŃáĽáá. á¨SPARQL ááŽáśáŽá áĽá RDF áá áá ááá) -á¨ááἠáá áá ááá , á á ááłáŤá á¨á°áá¨ááá á.á˛.á˛. , áĽáá˛ááááŽáśáŽá áĽááá á áĽáŤááá˝ áááľá°ááá áĽá ááĽááą ááá˝ áááľá áľ. SPARQL ááá ááá˘W3C áŽáá°áá˛á¨á áĽá á ááą á´áááááá˝á¨áľááá áľá .
ááá áá á áĽáááą áĽáą ááááŤá unary áĽá áááľáŽá˝ á°áłá˘áá˝ á¨áĽáŤá ááá ááᢠá ááá á áŚááŤá á áááá˝ ááľáĽ á¨á°áľá°áŤá¨ááá áĽá áŤááááá (á áŁá ááá) áĽá¨áááš ááá˘
ᨠSPARQL áá ááá˝ á¨ááá¸áá ᾠᨠRDF (á¨ááĽáľ ááá፠áááá) áá á¨áľ áŤáą áŚáľáľ áĽáĽá ááᢠobject, predicate, subject
- áĽá áĽáŤáá á ááááľ ááľáĽ á á°ááášáľ áá°áŚá˝ áá°á¨áľ á¨áááááľá áśáľáľ áĽáĽá ááááŁáᥠp_55(X, q_33) áĽáááľ á¨ááá áľá X ááá - á áĽááἠp_55 á¨ááłáá፠55 áá á¨á°áá°á áááááľ á˛áá q_33 á°áá ááłáá፠33 áŤáá ááá (áĽáá
áĽá á á ááá áłáŞáŠáŁ áááá á áááľ ááááŽá˝ áĽáá°áá á áá°á)á˘
á¨ááἠá ááŤá¨áĽ ááłááĄ-
áĽáá
áŤá á ááŽá˝ áá áľááá˝ áĽá ááłááá˝
áá°á¨áłá á¨áĽáŤá ááłá
áĽáá° áĽáááą á¨ááᣠáá°áłá˘á áĽáá˛á
áŤááá á¨á áá á°áááá áá ááááľ áĽáááááá
á¨(?ááááŁq458) áĽá q458 á áŁá á¨á ááŽá á
áĽá¨áľ ááłáá፠ááá áĽáááľ ááá˘
á python áá°á ááľáĽ á¨áĽááá°á á¨SPARQL áá áá ááłááĄ-
á á°áááśáŁ SPARQLá á¨ááá ááá ááá ἠáá á¨áĽá - á áá áááłáŁ áá¨á áĽáá´áľ áĽáá°ááᣠá áľááá ááá¨áłáľ ááááá á˘áŤááľ á áá°á¨áłá á°á¨á áá¨áłáľ á áá á˝ááł ááá áá˝ááá˘
á ááľáá áá áááĽááľ áĽá ááłááśá˝ á á-áááłá ᣠáĽáá
ááááŤáłá á¨áĽáŤá ááááá˝
á á˝áá ááľáĽ á áááą áá á¨á áá ááá ἠáá˝ááá˘
output(X) :- country(X), member_of(X,âEUâ).
áĽáá áĽá¨á°ááááá áŤááá á á˛áľ á°áłá˘ áá ááľ áľáááá á/1 (/1 áááľ áŤáá°ááá° áááľ áá)ᣠá X áĽáááľ á¨áá ፠ááá(X) - áááľá X ááá áĽá áĽáá˛áá á¨(X ᣠEU) á áŁá ááá˘
áŤá áááľ á áá ááłá áá áááąá áá¨ááá˝ áĽá á°ááŚáš á á°ááłáłá ááአááá áá, áá á á˝ááŽá˝á á ááá áĽá á áĽáŠ áááł ááá á¨á˝ áŤáľá˝ááá.
á á˘ááąáľáľáŞá ááľáĽ á¨áľ á°ááá?: á áĽáá°áá ááááľ ááá áĽáŤááá˝á á¨áá˝á áŠáŁá፠áá ᣠáĽáá˛áá á áľáááą áá á áŤá ááľáĽ áŁáá á¨á áá ááŽáááľ áá á ááľ áľáá ááŽáááľ - áá á áŁá áĽáááł ááá áááľáá ᣠáá á ááłááľ áá áá¨á°áłáá˘
á ááááŤáłá ááá ááŞáłáł áá°áľ ááľáĽ áŤá á¨áŽáľ ááŤá ááłááĄ-
ááłááśá˝áĄ áá° ááááá á¨ááá ááŽááŤááá ááá áááľ á áááá˝á áĽá°áŁáá áááľ á ááá ááŽááŤááá - áĽááľáłá áá áĽáááŤáááĄ
http://peace.eas.asu.edu/aaai12tutorial/asp-tutorial-aaai.pdf http://ceur-ws.org/Vol-1145/tutorial1.pdf https://www.youtube.com/watch?v=gVQ0bP8zyHw https://www.youtube.com/watch?v=kdcd7Je2glc https://potassco.org/book/ http://potassco.sourceforge.net/teaching.html https://www.cs.uni-potsdam.de/~torsten/Potassco/Tutorials/fmcad12.pdf
ááá: hab.com