áááºáá±áá¬ááŸá¬ áááºá¡áá»áááºááœá±ááŸá¬ á¡áá¯á¶ážáááºáá²ááá¯áᬠááá¯ááºááœá±á·á¡ááœá±á·á¡ááŒá¯á¶ááá± ááŒá±á¬ááŒáá¬áá«á áááºážááẠááŒá¯á¶áá¯á¶áá¯á¶ážáááºáá»ááºááŸáá·áº áá®á¡áá¯áá®ááŒá
áºááŒá®ážá áááºááẠá¡áááºá¡áá¬ááŸáá·áº áááºááá·áºáá±áá¬ááœáẠáááºáá¶áá°ážáá±á¬áºááá¯ááºáááºááᯠááŸááºážááŸááºážáááºážáááºážááááẠ- ááá¯á·áá±á¬áº á€áá±áá¬ááœáẠáá»áœááºá¯ááºááœáẠáá®ážááá·áºááá¯ááºááá¯ááºá¡ááœá±á·á¡ááŒá¯á¶ááŸáááŒá®ážá á¡áá¬á¡á¬ážáá¯á¶ážááẠááá·áºá¡ááœáẠáá¯á¶ážáááœá²ááŒá¬ážáá±áá±áááºá
query languages ââáá»á¬ážááᯠáááááºááŸáá·áº á¡áá¯á¶ážááŒá¯ááá¯ááºááẠá¡áááºááŒá±á¬áá·áº á¡áá±ážááŒá®ážááááºážá áááºážáá¡áááááœááºá Data Science ááœáẠá¡áá±ážááŒá®ážáá±á¬á¡ááá·áºáá»á¬ážá áœá¬ááŸáááŒá®áž á¡áá¯ááºááááááŸáá·áºá¡áá±ážááŒá®ážáá¯á¶áž (áááºážáááŸááá²á áááºááá·áºá¡áá¬ááŸá¡áá¯ááºáááŒá áº) ááẠáá±áá¬ááá°ááŒááºáž ááá¯á·ááá¯áẠáá¯ááºáá°ááŒááºážáááºááŒá áºáááºá á¡áá»á¬ážá á¯ááŸá¬á áá±áá¬ááẠá¡áá»áá¯á·áá±á¬áá¯á¶á á¶ááŒáá·áº áá áºáá±áá¬áá¬ááœáẠááá¯ááºáá±ááŒá®áž ááá¯áá±áá¬á០"ááŒááºáá°áááº" ááá¯á¡ááºáááºá
Query áá¬áá¬á áá¬ážáá»á¬ážááẠááá·áºá¡á¬áž á€á¡áá»ááºá¡áááºááᯠáá¯ááºáá°ááá¯ááºá á±áá«áááºá ááá±á· áá»áœááºá¯ááºá¡ááœáẠá¡áá¯á¶ážáááºáá±á¬ á¡ááá¯áá« query languages ââáá»á¬ážá¡ááŒá±á¬ááºáž ááá·áºá¡á¬áž ááŒá±á¬ááŒáááºááŒá áºááŒá®áž áááºááá·áºáá±áá¬ááœáẠáááºáá²á·ááá¯á· áá±á·áá¬ááẠááá¯á¡ááºááŒá±á¬ááºáž á¡ááá¡áá» áá±á¬áºááŒáá«áááºá
á€áá±á¬ááºážáá«ážááœáẠáá»áœááºá¯ááºááá¯á· ááœá±ážááœá±ážááá·áº áá±áá¬áá±ážááŒááºážááŸá¯ á¡áá»áá¯ážá¡á á¬ážá á¡ááá ááá±á¬ááºáá¯á¶ážáá»áá¯áž ááŸááá«áááºá
- "Standard" query languages ââáá»á¬ážááẠrelational algebra ááá¯á·ááá¯áẠSQL áá²á·ááá¯á·áá±á¬ query language áá áºáá¯á¡ááŒá±á¬ááºážááŒá±á¬áá±á¬á¡áá« á¡áá»á¬ážá¡á¬ážááŒáá·áº áá¬ážáááºááá·áºá¡áá¬ááŒá áºáááºá
- Scripting query languages- á¥ááá¬á Python things pandasá numpy ááá¯á·ááá¯áẠshell scriptingá
- ááá¯áá¯áááááºáá»á¬ážááŸáá·áº ááááºáá±áá¬áá±á·á áºáá»á¬ážá¡ááœáẠáá±ážááœááºážáá¬áá¬á áá¬ážáá»á¬ážá
á€áá±áá¬ááœáẠáá±ážáá¬ážááá·áºá¡áá¬á¡á¬ážáá¯á¶ážááẠááá¯ááºáá±ážááá¯ááºáá¬á¡ááœá±á·á¡ááŒá¯á¶áá
áºáá¯áá»áŸáá¬ááŒá
áºááŒá®áž á¡ááŒá±á¡áá±áá»á¬ážáá±á¬áºááŒáá»ááºááŸáá·áº "á¡áááºááŒá±á¬áá·áºááá¯á¡ááºááááºáž" ááŒáá·áº á¡áá¯á¶ážáááºááẠ- áá°ááá¯ááºážááẠá¡áá¬ážáá°á¡ááŒá±á¡áá±áá»á¬áž ááá·áºáá¶áá±á¬ááºáá¬ááá¯ááºáá¯á¶ááᯠááááŸáááá¯ááºááŒá®áž á€áá¬áá¬á
áá¬ážáá»á¬ážááᯠáá¬ážáááºááŒááºážááŒáá·áº áááºážááá¯á·á¡ááœáẠááŒáá¯áááºááŒááºáááºáááºááŒáá¯ážá
á¬ážááá¯ááºáááºá ááá±á¬áá»ááºáá
áºáá¯ááœáẠ(á¡áá±ážáááŒá®áž) ááá»áŸá±á¬ááºáá¬ážáá® ááá¯á·ááá¯áẠáááºážááá¯á·ááá¯á¡ááºááá·áº ááá±á¬áá»ááºáá
áºáá¯ááá¯á·ááẠááá±á¬ááºáá®á
"á á¶" áá±ážááœááºážáá¬áá¬á áá¬ážáá»á¬áž
áá±ážááœááºážáá»á¬ážá¡ááŒá±á¬ááºážááŒá±á¬áá±á¬á¡áá«ááœáẠáá»áœááºá¯ááºááá¯á·ááẠá¡áá»á¬ážá¡á¬ážááŒáá·áº áááºážááá¯á·á¡ááŒá±á¬ááºáž á ááºážá á¬ážáá±á·ááŸáááá·áº á á¶ááŸá¯ááºážááŒáá·áº áááá»áá±á¬ query languages ââáá»á¬ážááŒá áºáááºá
áááºá ááºá¡áá¹ááá¬áááºá¹áá»á¬
ááá±á·áá±ááºááœáẠáááºá ááºá¡áá¹ááá¬áááºá¹áá»á¬ááẠá¡áááºááŒá±á¬áá·áº ááá¯á¡ááºááááºážá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áá±ážááŒááºážááŸá¯áá¬áá¬á áá¬ážáá»á¬ážááᯠáááá»áá±áá»á¬áá±á¬áááºážáááºážááŒáá·áº ááœá²á·á ááºážáááºáá±á¬ááºáá¬ážááŒá®áž áááºážááá¯á·ááᯠáááááŸáááŸáá¡áá¯á¶ážááŒá¯áááŒááºážá¡ááŒá±á¬ááºáž áá±á¬ááºážá áœá¬áá¬ážáááºááá¯ááºáááºá áááºážááá¯á·á á¡áááºážáá¶á¡ááŒá±áá¶ááᯠáá¬ážáááºááẠááá¯á¡ááºáá«áááºá
Relational Algebra ááá¯áᬠáá¬áá²
ááá¬ážááẠá¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºááŸá¬ á¡á±á¬ááºáá«á¡ááá¯ááºážááŒá áºáááº- áááºá ááºá¡áá¹ááá¬áááºá¹áá»á¬ááẠáááºá ááºáá±áá¬áá¯á¶á á¶áá áºáá¯ááŸá áááºáá¶áá±ážá¡áá±á«áº á¡ááááºáá¯ááºáá±á¬ááºááŸá¯á áá áºáá áºáá¯ááŒá áºáááºá áááºážááᯠáá°áá¬ážáááºá áœá¬ááŒá±á¬ááá»áŸáẠá€ááááºááẠá¡ááŒá²áááºážááá¬ážáá áºáá¯ááŒá áºááá·áº á á¬ážááœá²áá»á¬ážáá±á«áºááœáẠáá¯ááºáá±á¬ááºááŸá¯á áá áºáá áºáá¯ááŒá áºáááºá
áááºá
ááºáá±á¬ááºááœááºááŸá¯á¡á¬ážáá¯á¶ážááᯠááŒáá·áºáá«á
á¡áááºááŒá±á¬áá·áºáááºáž
query languages ââáá»á¬ážááẠáááºááá·áºá¡áá¬ááŒá áºáááºááᯠáá¬ážáááºáá¬áááºááŸáá·áº áááá»áá±á¬ query languages ââáá»á¬ážááœáẠexpressions áá»á¬ážá áá±á¬ááºááœááºááœáẠáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááẠá¡áááºá¡áá¬ááᯠquery languages ââáá»á¬ážááŸáá·áº áááºááá¯á·áááºáá¯á¶ áá¯ááºáá±á¬ááºáááºááá¯á·ááᯠááá¯ááá¯áááºááŸáá¯ááºážáá¬ážáááºááŸá¯ááᯠáá±ážáá«áááºá
ááŸáá°ážáá°áááºá
áá±á·áá¬áááºáá á¹á ááºážáá»á¬áž
SQL
ááŸáá°ážáá°áááºá
SQL ááẠá¡áááá¡á¬ážááŒáá·áº áááºá
ááºá¡áá¹ááá¬áááºá¹áá»á¬á á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá
áºáá¯ááŒá
áºááẠ- á¡áá±ážááŒá®ážáá±á¬á¡áá»ááºááŒáá·áºá SQL ááẠááŒá±ááŒá¬áá»ááºááŒá
áºáááºá ááá¯ááá¯áááºááŸá¬á áááºá
ááºá¡áá¹ááá¬áááºá¹áá»á¬áá¬áá¬á
áá¬ážááŒáá·áº query áá
áºáá¯ááᯠáá±ážáá¬ážááá·áºá¡áá«á ááœááºáá»ááºáááºážááᯠáááºá¡ááŸááºááááºááŒá±á¬ááá¯ááºááẠ- ááá¯á·áá±á¬áº SQL ááŒáá·áº áááºáá¯ááºáá°ááá¯ááá·áºá¡áá¬ááᯠáááºááŸááºáá±ážááŒá®ážáá±á¬áẠDBMS ááẠáááºá
ááºá¡áá¹ááá¬áááºá¹áá»á¬áá¬áá¬á
áá¬ážááœáẠ(áááá±á¬ááºáá±á¬) á¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááᯠáá¯ááºáá±ážáá±ááŒá®ááŒá
áºáááºá áá®áá»áŸááŒááºážááᯠáá»áœááºá¯ááºááá¯á·áááááºá
ááŸáá°ážáá°áááºá
á¡áááºááŒá±á¬áá·áºáááºáž
Relational DBMSs- Oracleá Postgresá SQL Server á áááºááá¯á·ááẠáá±áá¬ááá¯ááºážáá®ážáá«ážááœáẠááŸááá±áá²ááŒá áºááŒá®áž áááºážááá¯á·ááŸáá·áº ááááœá±á·áááºáá¶ááẠááá¯á¶ááá¯ááºáá±á¬ááºá¡á±á¬áẠááŒáá·áºáá¬ážáá±á¬ á¡ááœáá·áºá¡áááºážáá áºáᯠááŸááááºá ááá¯ááá¯áááºááŸá¬ áááºááẠSQL ááá¯áááºááẠ(ááŒá áºááá¯ááºááœááºááŸááááº) ááá¯á·ááá¯áẠáááºážááᯠáá±ážááá¯ááºááẠ( áááŒá áºááá¯ááºáá°áž)á
áá¬ááœá±ááᯠáá±á·áá¬áááºááá²á
á¡áááºáá±á¬áºááŒáá« áá°áá®áá±á¬ááá·áºááºáá»á¬áž (áááºá
ááºá¡áá¹ááá¬áááºá¹áá»á¬áá»á¬ážá¡ááŒá±á¬ááºáž)á á¥ááá¬á ááá¯á¶ááá¯ááºáá±á¬ááºá¡á±á¬áẠáá»á¬ážááŒá¬ážááŸáá±á¬ áá
á¹á
ááºážáá
áºáᯠááŸááá«áááºá
á áá¬ážáá áẠNoSQL ááá¯áá¬áá¬áá²á
"NoSQL" áá°áá±á¬á¡áá¯á¶ážá¡ááŸá¯ááºážááẠáá°á·á¡ááá¯ááá¯áá±áááºážáá¬ááááŒá
áºááŒá®áž áá±áá¯áá»á¡á¬ážááŒáá·áºáááºáá¶áá¬ážáá±á¬á¡áááá¹áá«ááºááœáá·áºááá¯áá»áẠááá¯á·ááá¯áẠáááá¹áá¶ááá¯ááºáá¬á¡ááœá²á·á¡á
ááºážáá
áºáá¯ááŸáááŸáááŒá±á¬ááºáž áá
áºáááºá¡áá±ážáá±ážáá±á¬áºááŒááá»áá¯ážáááºáá«áááºá" áááºááá¯ááºáá¬
ááááºáá±á¬á·á áá°ááœá±á ááŒá¿áá¬áá»á¬ážá áœá¬ááᯠááŒá±ááŸááºážááá¯á· á¡ááŒáá·áºá¡ááááºá ááºááŸá¯áá¯á¶á á¶ááᯠáááá¯á¡ááºáá°ážááá¯áᬠááá±á¬áá±á«ááºáá«áááºá á¡áá°ážáááŒáá·áº á¥ááá¬á á áœááºážáá±á¬ááºáááºá á¡áá±ážááŒá®ážááŒá®áž á á¯á ááºážááŸá¯ááŸááá²á· ááá¯ážááŸááºážáá²á·áá±ážááœááºážááœá±ááᯠááœáŸááºážááá¯ážáá¬ážáá°ááœá±á¡ááœááºá á¡áá°ážáááŒáá·áº áááºááá áºááœá±ááᯠááŒááºááŒááºáááºáááºááœááºáá»ááºááŒá®áž áá°ááá¯á·áá®ááᯠá á¬áá±ážááá¯á· á¡áá±ážááŒá®ážáá²á·áá°ááœá±á¡ááœááºá áá±áá¬áá±á·á áºá ááŸáá·áºá¡ááºá¹áá«áááºá¡áá»á¬ážá á¯ááẠáááá¯á¡ááºáá²áá¬áá á¡áá¹ááá¬ááºááŒá áºá á±áááºáᯠáááºá ááºáá±á¬áºááŒááŒááẠ- áá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡áá±ážááŒá®ážáá¯á¶ážá¡áᬠ(á¡áá»áá¯á·áá±á¬á¡áá¯ááºá¡ááœááº) - áá¯ááºáá¯ááºá áœááºážá¡á¬ážááᯠáá»ááºááŒá¬ážá á±áá«á á¡áááºááŒá±á¬áá·áº áá¯á¶ááŸááºáá¯ááºáá±á¬ááºáááááºážá
ááá¯á·á¡ááŒááºá ááá¯ááºáá»á±á¬áá®ááœá±ááŸááá±á¬ schema áá»á¬ážááẠclassical relational model á áá¯á¶áá±áááºá¹áá»á¬áá¯á¶á á¶áá»á¬ážá¡á á¬áž áááŒá¬áá ááá¯á¡ááºááẠ- áááºážááẠá áá áºá¡á¬áž á¡áá¯á¶ážáá»ááŒá®áž áá»ááºááŒááºá áœá¬ á áááºá¡áá¯ááºáá¯ááºááẠá¡áá±ážááŒá®ážáá±á¬á¡áá«ááœáẠá¡áá±ážááŒá®ážáá±á¬á¡áá«ááœáẠáááºážááẠá¡ááá®áá±ážááŸááºážááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááᯠááá¯á¶ááá¯ááºáá±á¬ááºá¡á±á¬áẠááá¯ážááŸááºážááœááºáá°á á±ááŒá®áž ááááºáá»á¬ážááᯠá á®áá¶áá±á¬ááºááœááºáá±ážááŒááºáž - ááá¯á·ááá¯áẠá¡á á®á¡á ááºááŸáá·áº ááááºážáááºážáá¬ážáá±á¬áá±áá¬á¡áá»áá¯ážá¡á á¬ážáá»á¬áž ááááºá¡áá±ážáááŒá®ážáá«áá°ážá
á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºážáá»ááºáá°á áá áºáá áºáá¯ááᯠáááºáá®ážáá±ááŒá®áž á¡áá»áá¯á·áá±á¬ meta á¡áá»ááºá¡áááºáá»á¬ážááŸáá·áºá¡áá° áá®ážááŒá¬ážááá¯ááááºážáá áºáá¯áá±á«áºááœáẠá¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážááá¯ááẠ- áá»áœááºá¯ááºááá¯á·ááẠáááºáááºá¡á¬ážáá¯á¶ážááᯠáááááá¯ááºááá·áºá¡ááŒáẠááŸááºáááºážáá áºáá¯á á®á¡ááœáẠ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 á áá áºáá»á¬ážáááŸáááá¯ááºáááºááᯠáá±áá»á¬á áœá¬ááœá²ááŒááºážá áááºááŒá¬áááºáá¬ááá¯áááº- ááá¯á·áá±á¬áẠá€á áá áºááᯠá áááºáá±á·áá¬áá«á
Scripting Query Languages
á¡á ááá¯ááºážááœááºá Python ááẠáááºážááŸáá·áº áá±áá°áá»á¡á¬ážááŒáá·áº áááºááá¯á·áááºá ááºáá±áá¯á¶áááẠ- áááºážááẠáááá¯ááááºážáááºážáá¬áá¬á áá¬ážááŒá áºááŒá®áž queries áá¯á¶ážáááááºáááºáá«á
- Pandas ááẠáá±áá¬áááá¹áá¶á ááœá áºáá¬áááºá á áºáááºáá¬ážáá áºáááºááŒá áºááŒá®ážá áá±áá¬á¡ááœááºááŒá±á¬ááºážááŸá¯á á á¯á ááºážááŸá¯á áááºááŒáá·áº ááá¬ááá»á¬ážá áœá¬ ááŒá áºáá±á«áºáá±áááºá
- Numpy - vector ááœááºáá»ááºááŸá¯áá»á¬ážá matrices ááŸáá·áº linear algebra áá»á¬áž
- Scipy - á¡áá°ážáááŒáá·áº ááááºážááááºážáá»á¬áž á€áááºáá±á·ááºá»ááœáẠáááºá¹áá»á¬áá»á¬ážá áœá¬ ááŸááá«áááºá
- Jupyter áá¬ááºááœá²áááºáž - á á°ážá ááºážáá±á·áá¬áá±ážáá±áá¬ááœá²ááŒááºážá áááºááŒá¬ááŸá¯á¡áá»á¬ážá¡ááŒá¬ážááẠáááºááºáá±á¬á·áá»á¬ážááŸáá·áº á¡á¶ááá¯ááºááŒá áºááẠ- áááááºá¡áá¯á¶ážáááºáááºá
- áá±á¬ááºážááá¯áá»ááºáá»á¬áž - ááœááºáááºááŸáá·áºá¡áá°á¡áá¯ááºáá¯ááºá
- 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
ááá¯á·áá±á¬áº á¡áá±ážááŒá®ážáá±á¬ á¡ááá¯ááºážááŸá¬ á€áá¯ááºááẠscript ááŸáá·áº pipeline á á¡á áááºá¡ááá¯ááºážááŒá áºáááºá á¡ááŸááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠáá±ážááŒááºážáá»ááºáá»á¬ážááᯠPython ááá¯ááºááá¯ááºážááœáẠááá·áºááœááºážáá±áá«áááºá á€á¡ááŒá±á¡áá±ááœááºá Pandas ááá¯á·ááá¯áẠpySpark áá²á·ááá¯á·áá±á¬ á á¬ááŒáá·áºááá¯ááºáá»á¬ážá០áá»áœááºá¯ááºááá¯á·áᶠáá±ážááŒááºážáá±á¬áá¬áá¬á áá¬ážááẠáá±á¬ááºááŸááá¬áá«áááºá
áá±áá°áá»á¡á¬ážááŒáá·áºá pySpark ááœáẠquery language ááŸáááá·áº á¡áá¬ážáá° data á¡ááœááºááŒá±á¬ááºážááŒááºážááᯠáá»áœááºá¯ááºááá¯á· ááœá±á·ááááº-
df.filter(df.trip_type = âreturnâ)
.groupby(âdayâ)
.agg({duration: 'mean'})
.sort()
áááºááŸá¬áááºáááá²
áá±áá¯áá»á¡á¬ážááŒáá·áº Python ááá¯ááºááá¯ááº
Shell ááᯠáá±ážááŒááºážááŸá¯áá¬áá¬á áá¬ážá¡ááŒá áº
áá»áœááºáá±á¬áºáá¯ááºáá±á¬ááºáá²á·áá±á¬ áá±áá¬áá¯ááºáá±á¬ááºááŒááºážááŸáá·áº ááœá²ááŒááºážá áááºááŒá¬ááŒááºážááá¯ááºáᬠááá±á¬áá»ááºá¡áááºážáááºááẠááááºáá±á¬á· Pythoná Java ááœáẠáá¯ááºáá¯áá±á«áºáá±á¬ shell script áá»á¬ážááŒá áºááŒá®áž shell á áááºážááá¯á·ááá¯ááºááá¯áẠáá¯ááºáá±á¬ááºáá±ážáá«áááºá ááá¯á·ááŒá±á¬áá·áºá áá±áá°áá»á¡á¬ážááŒáá·áºá áááºááẠbash/zsh/etc ááœáẠááá¯ááºááá¯ááºážáá»á¬ážááᯠá¡ááá·áºááŒáá·áºáá±ážááŒááºážááŸá¯áá áºáá»áá¯ážá¡ááŒá Ạáááºááá·áºááœááºážá ááºážá á¬ážááá¯ááºááẠ(á¡ááŸááºáááºá áááºááẠááá¯áá±áá¬ááœáẠáááºáá»á¬áááºáá±ááá¯ááºáááºá ááá¯á·áá±á¬áº áááºážááẠshell áá¬áá¬á áá¬ážáá»á¬ážááŒáá·áº DS áá¯ááºá¡ááœáẠáá¯á¶ááŸááºááá¯ááºáá«) áá±ážááŒáá«á áá¯á·á ááá¯ážááŸááºážáá±á¬á¥ááá¬áá áºáᯠ- wikidata á QID ááŒá±áá¯á¶ááœá²ááŒááºážááŸáá·áº áá¯ááŸá¬ážááŸáá·áº á¡ááºá¹ááááẠwikis ááá¯á· ááá·áºááºá¡ááŒáá·áºá¡á á¯á¶ááᯠááŒá¯áá¯ááºáááºááá¯á¡ááºáááºá áááºážá¡ááœáẠáá»áœááºá¯ááºááẠbash ááŸá command áá»á¬ážá០ááá¯ážááŸááºážáá±á¬ áá±á¬ááºážááá¯áá»ááºáá áºáá¯ááᯠáá±ážáá¬ážáá²á·ááŒá®áž ááœááºááŸáááŸá¯á¡ááœáẠPython ááœáẠááá¯ážááŸááºážáá±á¬ script áá áºáá¯ááᯠáá±ážáá¬ážáá²á·áááºá á€áá²á·ááá¯á·áá±á«ááºážá ááºážáá«á
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")'
á€áááºááŸá¬ á¡ááŸááºááááºáá±á¬á· ááá¯á¡ááºáá±á¬ááŒá±áá¯á¶ááœá²ááŒááºážááᯠáááºáá®ážáá±ážáá±á¬ ááá¯ááºááá¯ááºážáá áºáá¯áá¯á¶ážááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááŒááºáááá·áºá¡ááá¯ááºáž á¡áá¬á¡á¬ážáá¯á¶ážááẠflow mode ááœááºá¡áá¯ááºáá¯ááºáááº-
- pv filepath - ááá¯ááºá¡ááœááºá¡á á¬ážáá±á«áºáá°áááºááŒá®áž ááá¯ážáááºááŸá¯áá¬ážááá¯áá±ážáᬠáááºážáá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠáááºáááºááŒááºáááºážáá«á
- unpigz -c ááẠarchive áá¡á áááºá¡ááá¯ááºážááá¯áááºááŒá®áž jq ááá¯á·áá±ážáááºá
- jq áá±á¬á·ááŒáá·áº - stream ááẠááááºááá¯áá»ááºáá»ááºážáá¯ááºáá±ážááŒá®áž Python ááŸá postprocessor (áááá¥ááá¬áá²á·ááá¯á·áááº) ááá¯á·áá±ážááá¯á·áááºá
- á¡ááœááºážááá¯ááºážá postprocessor ááẠoutput ááá¯áá±á¬áºáááºáá±ážáá±á¬ááá¯ážááŸááºážáá±á¬ááŒááºáááºá ááºáá áºáá¯ááŒá áºáááºá
á á¯á á¯áá±á«ááºážá ááŒá®ážáá¬ážáá±á¬áá±áᬠ(0.5TB) ááœáẠá á®ážáááºážááŸá¯áá¯ááºááœáẠá¡áá¯ááºáá¯ááºáá±á¬ ááŸá¯ááºááœá±ážáá±á¬ááá¯ááºááá¯ááºážáá áºáá¯ááẠáááá¬áááºááŸá¬ážáá±á¬á¡áááºážá¡ááŒá áºáá»á¬ážáááŸááá²á ááá¯ážááŸááºážáá±á¬ááá¯ááºááá¯ááºážáá áºáá¯ááŸáá·áº áááááá¬ááŸá áºáá¯ááŸááŒá¯áá¯ááºáá¬ážáááºá
áá±á¬ááºáááºá¡áá±ážááŒá®ážáá±á¬ á¡ááŒá¶ááŒá¯áá»ááº- terminal ááœáẠáá±á¬ááºážááœááºáááá±á¬ááºá áœá¬ áá¯ááºáá±á¬ááºááá¯ááºááŒá®áž bash/zsh/etc ááᯠáá±ážáá¬ážááá¯ááºááááºá
áááºááŸá¬ á¡áá¯á¶ážáááºááŸá¬áá²á áá¯ááºáá«áááºá áá±áá¬ááá¯ááºážáá®ážáá«áž - áá±á¬ááºááááºá á¡ááºáá¬áááºáá±á«áºááœááºáá±á·áá¬áááºáá
á¹á
ááºážáá»á¬ážáá»á¬ážá
áœá¬ááŸááááºá á¡áá°ážáááŒáá·áº áá®ááŸá¬
R áá¬ááºááœáŸááºážáá±ážááŒááºážá
ááááºá á á¬áááºáá°ááẠá¡á±á¬áºááŒá±á¬ááá¯ááºááẠ- áá±á¬ááºážááŒá®á á€áááºááŸá¬ áááá¯ááááºážáááºážáá¬áá¬á áá¬ážáá áºáá¯áá¯á¶ážááŒá áºáááºá áá¯ááºáá«ááẠáá°ááŸááºáááá·áºáááºá ááá¯á·áá±á¬áºáááºážá á¡ááŸááºáá±á¬á·á áááºážááẠquery language ááŸáá·áº á¡ááœááºáááºáá°áá±á¬ áááºá ááºá¡ááŒá±á¡áá±áá»áá¯ážááœáẠR ááᯠáá»áœááºá¯ááºááœá±á·áááºáááºá
R ááẠstatic computing ááŸáá·áº visualization á¡ááœáẠstatistical computing environment ááŸáá·áº language áá
áºáá¯ááŒá
áºáááºá
áá°áá¬ážáááºá
áá±áá¬áááá¹áá¶ááá¬ááŸááºáá áºáŠážááẠá¡áááºááŒá±á¬áá·áº R ááááẠááá¯á¡ááºááááºážá á¡áááºážáá¯á¶ážá R ááœáẠáá±áá¬ááᯠááœá²ááŒááºážá áááºááŒá¬áá±á¬ IT ááá¯ááºáá±á¬ á¡ááœáŸá¬áá»á¬ážá áœá¬ ááŸááá±áá±á¬ááŒá±á¬áá·áºá áá»áœááºá¯ááºááẠáááºážááᯠá¡á±á¬ááºáá«áá±áá¬áá»á¬ážááœáẠááœá±á·áá²á·ááááº-
- áá±ážáá«ážááá¹áá
- áá®ááá±áááá¬ááŸááºáá»á¬ážá
- ááœá±ááŒá±ážááá¹áá
- áááºá¹áá»á¬ááá¬áááºáááºáá²á· áááºáá¶áá²á·áá°ááœá±ááá¯á· ááŒááºáá«áááºá
- á¡áá°ážááŒá¯ á á¬áááºážá¡ááºáž áá±á¬áºáááºáá»á¬ážááŸáá·áº á ááºáááºáá°ááŸá¯ áá±á¬áºáááºáá»á¬áž (á á¬áá±ážáá°á áá¬ážááŸááºážááœááºáᬠ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 á០á áááºáá°ážá áááºáááºážáá»á¬ážá áœá¬ááẠdataframes ááŸáá·áº data vectorization áá²á·ááá¯á·áá±á¬ pandasá numpy ááá¯á·ááá¯áẠscipy áá²á·ááá¯á·áá±á¬ python packages áá»á¬ážáá²ááá¯á· ááœáŸá±á·ááŒá±á¬ááºážááœá¬ážááẠ- ááá¯á·ááŒá±á¬áá·áº áá±áá¯áá»á¡á¬ážááŒáá·áº R ááœáẠá¡áá¬áá»á¬ážá áœá¬ááẠááá·áºá¡ááœáẠáááºážááŸá®ážááŒá®áž á¡áááºááŒá±áá±áá¯á¶ááááºá
áá±á·áá¬á
áᬠá¡áááºážá¡ááŒá
áºááœá± á¡áá»á¬ážááŒá®ážááŸáááẠá¥ááá¬á
á¡ááááá¬ááááºáá»á¬áž
á€áá±áá¬ááœáẠáá»áœááºá¯ááºááœáẠá¡áááºážáááºáá°ážááŒá¬ážáá±á¬ á¡ááœá±á·á¡ááŒá¯á¶áá áºáá¯ááŸááááºá á¡ááŒá±á¬ááºážááŸá¬ áá»áœááºá¯ááºááẠááááºáá»á¬ážá¡ááœáẠá¡ááááá¬ááááºáá»á¬ážááŸáá·áº á á¯á¶á ááºážáá±ážááŒááºážáá±á¬áá¬áá¬á áá¬ážáá»á¬ážááŒáá·áº áááŒá¬áááá¯ááºáá±á¬ááºááá±á¬ááŒá±á¬áá·áº ááŒá áºáá«áááºá ááá¯á·ááŒá±á¬áá·áºá á€á¡ááá¯ááºážááẠá¡áááºážáááºááá¯ááááºážááŒááºáá±á¬ááŒá±á¬áá·áº á¡ááŒá±áá¶áá»á¬ážááᯠá¡ááá¯áá»á¯ááºááŒá±á¬ááŒáá«á áá¯á·á
ááŸá±ážááá¯ážáááºááœáŸááºáá±á¬áá±áá¬áá±á·á áºáá»á¬ážááœáẠáá»áœááºá¯ááºááá¯á·ááœáẠáá¯á¶áá± schema áá áºáá¯ááŸááááºá ááá¯á·áá±á¬áº á€áá±áá¬ááœáẠschema ááẠááŒá±á¬ááºážááœááºááŒááºááœááºááŒá áºáááºá predicate áá áºáá¯á á®ááẠá¡ááŸááºááááºááœáẠ"column" áá áºáá¯ááŒá áºááŒá®áž ááá¯á·áááºááá¯áááºá
áááºááẠáá°áá áºáŠážááᯠá á¶ááá°áá¬áá°áá±ááŒá®áž á¡áááá¡áá¬áá»á¬ážááᯠáá±á¬áºááŒááá¯áááºáᯠááŒááºáá±á¬ááºááŒáá·áºáá«á á¥ááá¬á áááá»áá±á¬áá°áá áºáŠážá Douglas Adams ááá¯áá°á á€áá±á¬áºááŒáá»ááºááᯠá¡ááŒá±áá¶á¡ááŒá Ạá¡áá¯á¶ážááŒá¯ááŒáá«á áá¯á·á
á¡áááºá áá»áœááºá¯ááºááá¯á·ááẠáááºá ááºáá±áá¬áá±á·á áºááᯠá¡áá¯á¶ážááŒá¯áá«áá áá±á¬áºáá¶á¡áá»á¬ážá¡ááŒá¬ážáá«ááŸááá±á¬ ááŒá®ážáá¬ážáá±á¬ ááá¬áž ááá¯á·ááá¯áẠááá¬ážáá»á¬ážááᯠáááºáá®ážááááºááŒá áºááŒá®ážá á¡áá»á¬ážá á¯ááŸá¬ NULL ááá¯á·ááá¯áẠáá¯á¶áá± False áááºááá¯ážá¡áá»áá¯á·ááŸáá·áº ááŒáá·áºáá±áááá·áºáááºá á¥ááá¬á áá»áœááºá¯ááºááá¯á·ááœáẠá¡áá»á¬ážá¡ááŒá¬ážááŸááááºááá¯ááºáá±á ááá¯áá®ážáá¬áž á¡áá»áá¯ážáá¬ážá á¬ááŒáá·áºááá¯ááºááœáẠáááºáá±á¬ááºááŒááºáž - áá¯ááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠáááºážááá¯á·á¡á¬áž áá®ážááŒá¬ážááá¬ážáá»á¬ážááœáẠááá·áºáá¬ážááá¯ááºáá±á¬áºáááºážá áááºážááẠáá¯á¶áá±áááºá ááºáá á¹á ááºážááᯠá¡áá¯á¶ážááŒá¯á ááá¯ááºáá»á±á¬áá®ááœá±ááŸááá±á¬ áá¯áá¹áááá¬ážáá áºáá áºáá¯ááᯠá á¶ááá°áá¬ááŒá¯ááẠááŒáá¯ážáááºážááŸá¯áá áºáá¯ááŒá áºáááºá
ááá¯á·ááŒá±á¬áá·áº áá±áá¬á¡á¬ážáá¯á¶ážááᯠááááºá¡ááŒá
Ạááá¯á·ááá¯áẠbinary ááŸáá·áº unary boolean áá±á¬áºááŒáá»ááºáá»á¬ážá¡ááŒá
Ạááááºážáááºážáá¬ážááŒá±á¬ááºáž á
áááºáá°ážááŒáá·áºáá«á
áá«ááᯠáááºááŸá¬áá±á¬áẠááŒá¯á¶ááœá±á·ááá¯ááºááá²á áááá¡áá»ááºá¡áá±ááŒáá·áºá
á¡á±á¬ááºáá±á¬áºááŒáá«áá»á¬ážááẠáá»áœááºá¯ááºá¡áá¯á¶ážááŒá¯ááŒá®áž áá¯ááºáá±á¬ááºáá²á·áá±á¬ á¡ááááá±ážááŒááºážáá»ááºáá¬áá¬á áá¬ážáá»á¬ážááŒá áºáááºá
SPARQL
áá®áá®:
SPARQL (recursive á¡ááá¯áá±á¬áẠПÑeng á SPARQL Protocol ááŸáá·áº RDF Query áá¬áá¬á áá¬áž) -áá±áá¬áá±ážááŒááºážááŸá¯áá¬áá¬á áá¬áž áá±á¬áºáááºá¡á¬ážááŒáá·áºááá¯ááºá á¬ážááŒá¯áááºáRDF ááŸáá·áºáááá¯ááá¯áá±á¬ á€áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá±ážááá¯á·áááºááŸáá·áº áááºážááá¯á·á¡á¬áž áá¯á¶á·ááŒááºáááºá SPARQL ááẠá¡ááŒá¶ááŒá¯áá»ááºáá áºáá¯ááŒá áºáááºáW3C áá¯ááºáááºážá ᯠáááºážááá¬áá»á¬ážáá²á០áá áºáá¯ááŒá áºáááºásemantic web .
ááá¯á·áá±á¬áº áááºááœá±á·ááœáẠáááºážááẠáá¯áá¹áááá²á· unary ááŸáá·áº binary predicates á¡ááœáẠquery language áá áºáá¯ááŒá áºáááºá áááºááẠBoolean á áá¬ážáááºááœáẠáá¯á¶áá±áááºááŸááºáá¬ážááá·áºá¡áá¬ááŸáá·áº áááºááá·áºá¡áᬠ(á¡ááœááºááá¯ážááŸááºážáááº) ááᯠáááºááŸááºáá±á¬áºááŒáá¬ážáááºá
RDF (Resource Description Framework) ááẠSPARQL queries áá»á¬ážááᯠáá¯ááºáá±á¬ááºáá±ážáá±á¬ á¡ááŒá±áá¶ááá¯ááºááá¯ááºááŒá
áºááŒá®ážá object, predicate, subject
- ááŸáá·áº query ááẠá
áááºáááá¬ááºááœáẠáááºááŸááºáá¬ážáá±á¬ ááá·áºáááºáá»ááºáá»á¬ážá¡á ááá¯á¡ááºáá±á¬ áá¯á¶ážáááᯠááœá±ážáááº- p_55(X, q_33) ááẠááŸááºáááºáá°áá±á¬ X ááá¯ááŸá¬áá« - áá¯ááºáá«áááºá p_55 ááẠID 55 ááŸáá·áº áááºá
ááºááŸá¯áá
áºáá»áá¯ážááŒá
áºááŒá®áž q_33 ááẠáá
áºáá¯ááŒá
áºáááºá ID 33 áá«ááá·áºá¡áᬠ(á€áá±áá¬ááŸáá·áº áá¬ááºáááºážáá
áºáá¯áá¯á¶ážá á¡áá±ážá
áááºá¡áá»áá¯ážá¡á
á¬ážá¡á¬ážáá¯á¶ážááᯠáá»ááºááŸááºáá¬ážááŒááºáááº)á
áá±áá¬áááºááŒáá»áẠá¥ááá¬-
á€áá±áá¬ááœáẠááá¯ááºáá¶áá»á¬ážááŸáá·áº ááá°áá¬áá¯á¶áá»á¬áž
á¡ááŒá±áá¶áá±ážááœááºážááá°áá¬
á¡ááŸááºááŸá¬á áá»áœááºá¯ááºááá¯á·ááẠpredicate á¡ááœáẠááá¯áá²á·ááá¯á·áá±á¬ ?country variable ááááºááá¯ážááᯠááŸá¬ááœá±ááá¯áá«áááºá
member_ofá member_of(?countryáq458) ááŸáá·áº q458 ááẠá¥áá±á¬ááááá¹áá ID ááŒá
áºááẠá
python á¡ááºáá»ááºá¡ááœááºážááŸá áááá·áº SPARQL query á á¥ááá¬áá áºáá¯á
áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááẠáááºážááá¯áá±ážááá·áºá¡á á¬áž SPARQL ááá¯áááºááá«áááº- ááá¯á¡ááŒá±á¡áá±ááœááºá áá±áá¬ááá¯áááºáá²á·ááá¯á·ááá°áááºááᯠá¡ááá¡áá»áá¬ážáááºááẠáá¬áá¬á áá¬ážááᯠá¡áááºážáá¯á¶ážá¡ááŒá±áá¶á¡ááá·áºááœáẠáá¬ážáááºááẠá¡áá¯á¶ážáááºáá±á¬áá»áœááºážáá»ááºááŸá¯áá áºáᯠááŒá áºááá¯ááºááœááºááŸááááºá
á¡áœááºááá¯ááºážááœáẠáá±á·áá¬ááẠá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážá
áœá¬ ááŸááááº- á¥ááá¬á á€ááœááº
áá¯áá¹áááá±áááá¯ááºáᬠáá±ážááŒááºážááŸá¯áá¬áá¬á áá¬ážáá»á¬áž
áá»áœááºá¯ááºá áá±á¬ááºážáá«ážááœáẠáá±á«ááºážá
ááºááᯠáááºááá¯ááá¯áááºááŸá¯ááá¯ááºáá«áááºá
output(X) :- country(X), member_of(X,âEUâ).
á€ááœááºáá»áœááºá¯ááºááá¯á·ááŒá±á¬áá±áááºááŸá¬ predicate output / 1 (/1 ááá¯áááºááŸá¬ unary) ááá¯áááºáá®ážááŒááºážá¡ááŒá±á¬ááºážááŒá±á¬áá±áááºááŸá¬ X á¡ááœáẠááá¯ááºáá¶(X) ááẠá¡ááŸááºááŒá áºááẠ- ááá¯ááá¯áááºááŸá¬ X ááẠááá¯ááºáá¶áá áºáá¯ááŒá áºááŒá®áž member_of(X"EU") ááŒá áºáááºá
ááá¯ááá¯áááºááŸá¬ á€ááá á¹á ááœááºá áá±áá¬ááŸáá·áº á ááºážáá»ááºážáá»á¬ážááᯠáá°áá®áá±á¬áááºážááŒáá·áº áááºááŒáá¬ážáá±á¬ááŒá±á¬áá·áº ááŒá¿áá¬áá»á¬ážááᯠá¡ááœááºááœááºáá°ááŒá®áž áá±á¬ááºážááœááºá áœá¬ ááá°áá¬áá°ááá¯ááºá á±áá«áááºá
áá¯ááºáááºážááœááºááŸá¬ áááºááŸá¬ááœá±á·áá²á·áá²á: ááá¯ááá¯á·áá±á¬áá¬áá¬á áá¬ážááŒáá·áº á á¯á¶á ááºážáá±ážááŒááºážááŸá¯áá»á¬ážááᯠáá±ážáá¬ážááá·áº áá¯áá¹ááá®áá áºáá¯ááŸáá·áº á áá áºáá áºáá¯áá¯á¶ážá á¡á°ááá¯ááºááŸá áááºááŸáááá±á¬áá»ááºááœáẠááŒá®ážáá¬ážáá±á¬ááá±á¬áá»ááºáá áºáᯠ- áááºážááẠá¡ááœááºáá°ážááŒá¬ážáááºážááŒá¬ážááá·áºá¡áá¬áᯠáááºááá±á¬áºáááºáž áá áºáá«áá áºáá¶ááœáẠááŒá áºáá±á«áºáá¬áá«áááºá
áá¯áá¹áááá±ááá¬áá¬á áá¬ážááŒáá·áº áá¯ááºáá±á¬ááºáá±ááá·áº wikidata ááŸá áá¯ááºá¡ááá¯ááºážá¡á áá áºáá¯á á¥ááá¬-
á¡ááŒá±á¬ááºážá¡áá¬áá»á¬áž- áá±ááºáá áºáá¯áá¹áááá±ááááá¯ááááºážáááºážáá¬áá¬á áá¬ážá¡ááœáẠááá·áºááºá¡áá»áá¯á·ááᯠá€áá±áá¬ááœáẠáá±ážááẠAnswer Set Programming - áá±á·áá¬ááẠá¡ááŒá¶ááŒá¯ááá¯áá«áááºá
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
source: www.habr.com