ืื ื ืืืืจ ืื ืื ืืกืืื ืืืฉื ืื ืืื ืฉืืืืฉื ืืืคื ืืืชื. ืื ืกืงืืจื ืืชืื, ืืื ืฉืืืื ืืจืืจ ืื ืืืืื ืืชื ืืืื ืืืคืืจ ืืืชืจ - ืืื ืืื ืืฉ ืื ื ืืกืืื ืืืฉื ืกืืืืืงืืืื ืืืื, ืืืื ืืื ืฉืื ื ืืืืจื ืขืืืจื.
ืืืืข ืืฉืื ืืืขืช ืืืืืืช ืืกืืืืื ืืืฉืชืืฉ ืืฉืคืืช ืฉืืืืชืืช? ืืืกืืกื, ื-Data Science ืืฉ ืืื ืฉืืื ืขืืืื ืืฉืืืื, ืืืจืืฉืื ืืืืฉืื ืืืืชืจ (ืืืขืืื, ืืืื ืฉืฉืื ืืืจ ืื ืืขืืื!) ืืื ืืฉืืช ืื ืืืืืฅ ื ืชืื ืื. ืืจืื, ืื ืชืื ืื ืืืฉืืื ืืืคืฉืื ืืฆืืจื ืืืฉืื ืืฆืจืื "ืืฉืืืฃ" ืืฉื.
ืฉืคืืช ืฉืืืืชืืช ืืืคืฉืจืืช ืื ืืืืฅ ืืช ืื ืชืื ืื ืืืื! ืืืืื ืืกืคืจ ืืื ืขื ืฉืคืืช ืืฉืืืืชื ืืืื ืฉืืื ืฉืืืืฉืืืช ืขืืืจื ืืืกืคืจ ืืื ืืืจืื ืืื ืืืื ืืืื ืืืืืง - ืืื ืื ื ืืืฅ ืืืืื.
ืืืื ืฉืืืฉื ืืืืงืื ืขืืงืจืืื ืฉื ืกืืื ืฉืืืืชืืช ื ืชืื ืื, ืขืืืื ื ืืื ืืืืืจ ืื:
- ืฉืคืืช ืฉืืืืชืืช "ืกืื ืืจืืืืช" ืื ืื ืฉืืงืืื ืืืืื ืืฉืืืืจืื ืขื ืฉืคืช ืฉืืืืชื, ืืืื ืืืืืจื ืจืืฆืืื ืืช ืื SQL.
- ืฉืคืืช ืฉืืืืชืืช ืกืงืจืืคืืื: ืืืืืื, Python things pandas, numpy ืื scripting shell.
- ืฉืคืืช ืฉืืืืชืืช ืืืจืคื ืืืข ืืืกืื ื ืชืื ืื ืฉื ืืจืคืื.
ืื ืื ืฉื ืืชื ืืื ืืื ืจืง ืืืืื ืืืฉืืช, ืื ืฉืืื ืฉืืืืฉื, ืขื ืชืืืืจ ืฉื ืืฆืืื ื"ืืื ืื ืืื ื ืืืฅ" - ืื ืืื ืืืื ืื ืกืืช ืืื ืืฆืืื ืืืืื ืืืืืื ืืืืืข ืืืจื ืฉืื ืืื ืกืืช ืืืชืืื ื ืืืืื ืืจืืฉ ืขื ืืื ืืื ืช ืืฉืคืืช ืืืื ืืคื ื ืฉืืชื ืฆืจืื ืืืืืฉ ืืงืฉื (ืืืืืคืืช) ืขื ืคืจืืืงื ืื ืืคืืื ืืืืืข ืืคืจืืืงื ืฉืื ืื ื ืืืฆืื.
ืฉืคืืช ืฉืืืืชืืช "ืกืื ืืจืืืืช".
ืฉืคืืช ืฉืืืืชืืช ืกืื ืืจืืืืช ืื ืืืืืง ืืืืื ืฉืื ืื ื ืืืจื ืืื ืืืฉืืื ืขืืืื ืืฉืื ืื ื ืืืืจืื ืขื ืฉืืืืชืืช.
ืืืืืจื ืืืกื
ืืืืข ื ืืจืฉืช ืืืื ืืืืืจื ืืืกืืช? ืืื ืืืืื ืืื ืืืืข ืฉืคืืช ืฉืืืืชืืช ืื ืืืืช ืืฆืืจื ืืกืืืืช ืืืืฉืชืืฉ ืืื ืืืืคื ืืืืข, ืขืืื ืืืืื ืืช ืืืืื ืืขืืืืช ืืืกืืกื.
ืืื ืืืืืจื ืืืกืืช?
ืืืืืจื ืืคืืจืืืืช ืืื ืืืืงืื: ืืืืืจื ืืืกื ืืื ืืขืจืืช ืกืืืจื ืฉื ืคืขืืืืช ืขื ืืืกืื ืืืืื ื ืชืื ืื ืืืกื. ืื ืืืืจ ืืช ืื ืงืฆืช ืืืชืจ ืื ืืฉื, ืืืืืจ ืืืขืจืืช ืฉื ืคืขืืืืช ืขื ืืืืืืช ืื ืฉืืชืืฆืื ืืื ืชืืื ืืืื.
ืจืื ืืช ืื ืืคืขืืืืช ืืืืกืืืช ื
ืืื?
ืืชืืืช ืืืืื ืืื ืืืืืจ ืืฉืคืืช ืฉืืืืชืืช ืืืืื ืคืขืืืืช ืขืืืืืช ืืืืืจื ืืืืืืื ืืฉืคืืช ืฉืืืืชืืช ืกืคืฆืืคืืืช ื ืืชื ืช ืืขืชืื ืงืจืืืืช ืืื ื ืืขืืืงื ืืืชืจ ืฉื ืื ืขืืื ืืฉืคืืช ืฉืืืืชื ืืืืฆื.
ื ืืงื ื
ืืืืจืื ืืืืืื:
SQL
ื ืืงื ื
SQL ืืื ืืขืฆื ืืืฉืื ืฉื ืืืืืจื ืจืืฆืืื ืืช - ืขื ืืืืจื ืืฉืืื, SQL ืืื ืืฆืืจืชื! ืืืืืจ, ืืฉืืืชืืื ืฉืืืืชื ืืฉืคืช ืืืืืืจื ืืืชืืืืกืืช, ืืขืฆื ืืืืจืื ืืื ืืืฉื - ืืื ืขื SQL ืืฆืืื ืื ืื ืจืืฆืื ืืืืฅ, ืืื ื-DBMS ืืืจ ืืืืฆืจ ืืืืืืื (ืืขืืืื) ืืฉืคืช ืืืืืืจื ืืืชืืืืกืืชืืช (ืฉืืื ืฉืงืืืืช ืืืืขื ืื ื ืืชืืจ
ื ืืงื ื
ืืื?
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 ืืืื ืืช ืฉืืชืืืื ืืชืืืืจ ืืื - ืืื ืืืชืืื ืืืืื ืืช ืืืขืจืืช ืืื.
ืฉืคืืช ืฉืืืืชืืช ืกืงืจืืคืืื
ืืืชืืื, ื ืจืื, ืื ืืงืฉืจ ืืื ืฉื Python ืืืืคื ืืืื - ืื ืฉืคืช ืชืื ืืช, ืืื ืขื ืฉืืืืชืืช ืืืื.
- Pandas ืืื ืืืฉ ืืืืจ ืฉืืืืฆืจื ืฉื Data Science; ืืืืช ืขืฆืืื ืฉื ืืจื ืกืคืืจืืฆืื ืฉื ื ืชืื ืื, ืฆืืืจื ืืื' ืืชืจืืฉืช ืื.
- Numpy - ืืืฉืืื ืืงืืืจ, ืืืจืืฆืืช ืืืืืืจื ืืื ืืจืืช ืฉื.
- Scipy - ืืฉ ืืจืื ืืชืืืืงื ืืืืืื ืืื, ืืืืืื ืกืืืืกืืืงื.
- ืืขืืืช Jupyter - ืืจืื ื ืืชืื ื ืชืื ืื ืืืฉืืฉ ืืชืืื ืืืื ืืืืฉืืื ื ืืืืื - ืืืื ืืืขืช.
- ืืงืฉืืช - ืขืืืื ืืื ืืจืฉืช.
- Pyspark ืคืืคืืืจื ืืืื ืืงืจื ืืื ืืกื ื ืชืื ืื, ืกืืืจ ืืื ืื ืฉืชืฆืืจื ืืงืืื ืืื ืืจืืงืฆืื ืขื ืื ืื ืขื Spark, ืคืฉืื ืืืื ืืคืืคืืืจืืืช ืฉืืื.
- *ืกืื ืืื - ืฉืืืืฉื ืืืื ืืืืกืืฃ ื ืชืื ืื ืืืชืจืื ืืืฉืืืื, ืืคืขืืื ืคืฉืื ืืื ืืจื ืืืจืช ืืงืื ืืช ืื ืชืื ืื.
ืืขืฆื ืืขืืงืจืืช ืฉืื: ืืื 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()
ืืืคื ืืื ืืงืจืื
ืขื ืคืืืชืื ืขืฆืื ืืืืคื ืืืื
ืืขืืคืช ืืฉืคืช ืฉืืืืชื
ืื ืืขื ืคืจืืืงืืื ืฉื ืขืืืื ืื ืืชืื ื ืชืื ืื ืฉืขืืืชื ืืืชื ืื ืืืขืฉื ืกืงืจืืคืืื ืฉื ืืขืืคืช ืฉืงืืจืืื ืืงืื ืืคืืืชืื, ื'ืืืื ืืคืงืืืืช ืืืขืืคืช ืขืฆืื. ืืื, ืืืืคื ืืืื, ืืชื ืืืื ืืืชืืืืก ืืฆืื ืืจืืช ื-bash/zsh/etc ืืกืื ืฉื ืฉืืืืชื ืืจืื ืืืืื (ืืชื ืืืื, ืืืืื, ืืืื ืืก ืฉื ืืืืืืช, ืืื ืื ืื ืืืคืืื ื ืืงืื DS ืืฉืคืืช ืืขืืคืช), ืืืื ื ืืชื ืืืืื ืคืฉืืื - ืืืืชื ืฆืจืื ืืขืฉืืช ืืืคืื QID ืฉื wikidata ืืงืืฉืืจืื ืืืืื ืืืืงื ืืจืืกืืช ืืืื ืืืืช, ืืฉืืื ืื ืืชืืชื ืืงืฉื ืคืฉืืื ืืืคืงืืืืช ื-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 ืขื ืืืคืชื - ืืจื ืืคืืง ืืื ืืช ืืชืืฆืื ืืืขืืืจ ืืืชื ื-postprocessor (ืืื ืืื ืืืืืื ืืจืืฉืื ื) ืืคืืืชืื
- ืืืืคื ืคื ืืื, ื-postprocessor ืืื ืืืื ืช ืืฆื ืคืฉืืื ืฉืขืืฆืื ืืช ืืคืื
ืืกื ืืื, ืฆืื ืืจ ืืืจืื ืฉืขืืื ืืืฆื ืืจืืื ืขื ื ืชืื ืื ืืืืืื (0.5TB), ืืื ืืฉืืืื ืืฉืืขืืชืืื ืืขืฉืื ืืฆืื ืืจ ืคืฉืื ืืืกืคืจ ืืืื.
ืืืค ืืฉืื ื ืืกืฃ: ืืืืืช ืืกืืื ืืขืืื ืืื ืืืขืื ืืืจืืื ื ืืืืชืื bash/zsh/etc.
ืืืคื ืื ืืืื ืฉืืืืฉื? ืื, ืืืขื ืืื ืืงืื - ืฉืื, ืืฉ ืืจืื ืืืืจืื ืืืืื ืืืื ืืจื ื. ืืืืืื, ืืื
R scripting
ืฉืื, ืืงืืจื ืขืฉืื ืืฆืขืืง - ืืืื, ืื ืฉืคืช ืชืื ืืช ืฉืืื! ืืืืืื, ืืื ืืืื ืฆืืืง. ืขื ืืืช, ืืืจื ืืื ื ืชืงืืชื ื-R ืืืงืฉืจ ืืื ืฉืืืขืฉื ืืื ืืื ืืืื ืืืื ืืฉืคืช ืฉืืืืชื.
R ืืื ืกืืืืช ืืืฉืื ืกืืืืกืื ืืฉืคื ืขืืืจ ืืืฉืื ืกืืื ืืืืืื (ืืคื
ื ืืงื
ืืืืข ืืืขื ื ืชืื ืื ืฆืจืื ืืืขืช R? ืืคืืืช, ืืืื ืฉืืฉ ืฉืืื ืขืฆืืื ืฉื ืื ืฉืื ืฉืืื ื ืื ืฉื IT ืฉืื ืชืืื ื ืชืื ืื ื-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 ืืื pandas, numpy ืื scipy, ืืื dataframes ื-data vectorization - ืื ืฉืืืืคื ืืืื ืืจืื ืืืจืื ื-R ืืืจืื ืืื ืืืืจืื ืื ืืืื.
ืืฉ ืืจืื ืืงืืจืืช ืืืืื, ืืืฉื,
ืืจืคื ืืืข
ืืื ืืฉ ืื ืืืืื ืงืฆืช ืืืฆืืช ืืืคื, ืื ืืขืชืื ืงืจืืืืช ืื ื ืฆืจืื ืืขืืื ืขื ืืจืคื ืืืข ืืฉืคืืช ืฉืืืืชืืช ืขืืืจ ืืจืคืื. ืืื, ืืืื ื ืขืืืจ ืืงืฆืจื ืขื ืืืกืืืืช, ืฉืื ืืืืง ืืื ืืื ืงืฆืช ืืืชืจ ืืงืืืื.
ืืืกืืกื ื ืชืื ืื ืืืกืืื ืงืืืกืืื ืืฉ ืื ื ืกืืืื ืงืืืขื, ืืื ืืื ืืกืืืื ืืืืฉื, ืื ืคืจืืืงื ืืื ืืืขืฉื "ืขืืืื" ืืืฃ ืืืชืจ.
ืชืืจื ืืขืฆืืื ืฉืืชื ืืืืื ืื ืืื ืืจืฆืืชื ืืชืืจ ืืืจืื ืืจืืืืื, ืืืฉื, ืืืื ื ืืงื ืืื ืกืคืฆืืคื, ืืืืืก ืืืืก, ืื ืฉืชืืฉ ืืชืืืืจ ืืื ืืืกืืก.
ืื ืืฉืชืืฉื ื ืืืกื ื ืชืื ืื ืืืกื, ื ืฆืืจื ืืืฆืืจ ืืืื ืขื ืงืืช ืื ืืืืืืช ืขื ืืกืคืจ ืขืฆืื ืฉื ืขืืืืืช, ืฉืจืืื ืืืื NULL ืื ืืืืืช ืืขืจื ืืจืืจืช ืืืื ืฉื False, ืืืฉื, ืืื ืื ืกืืืจ ืฉืืจืืื ืืืืชื ื ืืฉ ืจืืฉืื ืืกืคืจืืื ืืืืืืืช ืืงืืจืืื ืืช - ืืืืื, ื ืืื ืืฉืื ืืืชื ืืืืืืืช ื ืคืจืืืช, ืืื ืื ืืืื ืืกืืคื ืฉื ืืืจ ื ืืกืืื ืืืฆืืจ ืืืื ืฉื ืืขืื ืืืื ืืืืฉ ืขื ืคืจืืืงืืื ืืืืฆืขืืช ืืขืื ืืืกื ืงืืืข.
ืื ืชืืจื ืืขืฆืืื ืฉืื ืื ืชืื ืื ืืืืืกื ืื ืืืจืฃ ืื ืืืืืืืื ืืืืืื ืืื ืืื ืืจืืื ืืืื ืจืืื.
ืืืคื ืืคืฉืจ ืืืื ืืืืชืงื ืืื? ืจืืฉืืช, ืืขืืื ืขื
ืืืื ืฉืคืืช ืืฉืืืืชื ืืขืืงืจืืืช ืืื ืืฉืชืืฉืชื ืืขืืืชื ืืืชื.
SPARQL
ืืืงื:
SPARQL (ืจืืฉื ืชืืืืช ืจืงืืจืกืืืืื ืืื ื. ืคืจืืืืงืื SPARQL ืืฉืคืช ืฉืืืืชืืช RDF-)ืฉืคืช ืฉืืืืชืช ื ืชืื ืื , ืืืืืฆื ืขื ืืื ืืืืืRDF ื -ืคืจืืืืงืื ืืืขืืืจ ืืงืฉืืช ืืื ืืืืฉืื ืืื. SPARQL ืืื ืืืืฆืืงืื ืกืืจืฆืืื W3C ืืืืช ืืืื ืืืืืืืชืจืฉืช ืกืื ืืืช .
ืืื ืืืฆืืืืช ืืืื ืฉืคืช ืฉืืืืชื ืขืืืจ ืคืจืืืงืืื ืืื ืจืืื ืืืื ืืจืื ืืืืืื. ืืชื ืคืฉืื ืืฆืืื ืืชื ืื ืื ืงืืืข ืืืืืื ืืืืืื ื ืืื ืื (ืืคืฉืืืช ืจืื).
ืืกืืก RDF (Resource Description Framework) ืขืฆืื, ืฉืขืืื ืืืืฆืขืืช ืฉืืืืชืืช SPARQL, ืืื ืืฉืืืฉ object, predicate, subject
- ืืืฉืืืืชื ืืืืจืช ืืช ืืฉืืฉืืช ืื ืืจืฉืืช ืืคื ืืืืืืืช ืฉืฆืืื ื ืืจืื: ืืฆื X ืื ืฉ-p_55(X, q_33) ื ืืื - ืืืฉืจ, ืืืืื, p_55 ืืื ืกืื ืฉื ืืืก ืขื ID 55, ื-q_33 ืืื ืืคืฅ ืขื ืชืขืืืช ืืืืช 33 (ืืื ืืื ืืกืืคืืจ, ืฉืื ืืฉืืืช ืื ืืื ื ืคืจืืื).
ืืืืื ืืืฆืืช ื ืชืื ืื:
ืชืืื ืืช ืืืืืื ืขื ืืืื ืืช ืืื
ืืืืื ืืฉืืืืชื ืืกืืกืืช
ืืืขืฉื, ืื ื ืจืืฆืื ืืืฆืื ืืช ืืขืจื ืฉื ืืืฉืชื ื ?ืืืื ื ืื ืฉื ืืคืจืืืงื
member_of, ืื ื ืืื ืฉ-member_of(?country,q458) ื-q458 ืื ืืืืื ืฉื ืืืืืื ืืืืจืืคื.
ืืืืื ืืฉืืืืชืช SPARQL ืืืืชืืช ืืชืื ืื ืืข ืืคืืชืื:
ืืืจื ืืื, ื ืืืฆืชื ืืงืจืื ืืช SPARQL ืืืงืื ืืืชืื ืืืชื - ืืืฆื ืื, ืกืืืจ ืืื ืื ืฉืื ืชืืื ืืืืื ืืช ืฉืืืืฉืืช ืืืืื ืืช ืืฉืคื ืืคืืืช ืืจืื ืืกืืกืืช ืืื ืืืืื ืืืืืง ืืืฆื ื ืชืื ืื ืืืืืืจืื.
ืืฉ ืืจืื ืืืืจ ืืืืื ืืืื ืืจื ื: ืืืฉื, ืืื
ืฉืคืืช ืฉืืืืชืืช ืืืืืืช
ืืชื ืืืื ืืงืจืื ืขืื ืขื ืื ืืฉื ืืืืืจ ืฉืื
output(X) :- country(X), member_of(X,โEUโ).
ืืื ืื ืื ื ืืืืจืื ืขื ืืฆืืจืช ืคืื ืคืจืืืงื ืืืฉ/1 (/1 ืคืืจืืฉื unary), ืืชื ืื ืฉืขืืืจ 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
ืืงืืจ: www.habr.com