เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™
เบ‚เป‰เบญเบเบšเบญเบเป€เบˆเบปเป‰เบฒเบˆเบฒเบเบ›เบฐเบชเบปเบšเบเบฒเบ™เบชเปˆเบงเบ™เบ•เบปเบงเบงเปˆเบฒเบกเบตเบ›เบฐเป‚เบซเบเบ”เบขเบนเปˆเปƒเบช เปเบฅเบฐเป€เบงเบฅเบฒเปƒเบ”. เบกเบฑเบ™เป€เบ›เบฑเบ™เบžเบฒเบšเบฅเบงเบกเปเบฅเบฐ thesis, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบกเบฑเบ™เบˆเบฐเปเบˆเป‰เบ‡เบงเปˆเบฒเปเบกเปˆเบ™เบซเบเบฑเบ‡เปเบฅเบฐเบšเปˆเบญเบ™เปƒเบ”เบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบธเบ”เบ„เบปเป‰เบ™เบ•เบทเปˆเบกเบญเบตเบ - เปเบ•เปˆเปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ‚เป‰เบญเบเบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เบชเปˆเบงเบ™เบ•เบปเบงเบชเบฐเป€เบžเบฒเบฐ, เบšเบฒเบ‡เบ—เบตเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบˆเบถเปˆเบ‡เบชเบณเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบฎเบนเป‰ เปเบฅเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเป„เบ”เป‰? เบขเบนเปˆเปƒเบ™เบซเบผเบฑเบเบ‚เบญเบ‡เบกเบฑเบ™, เบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™เบกเบตเบซเบผเบฒเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เปเบฅเบฐเบ—เปเบฒเบญเบดเบ”เปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ” (เบšเปเปˆเบกเบตเบกเบฑเบ™, เปเบ™เปˆเบ™เบญเบ™เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบ!) เปเบกเปˆเบ™เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบซเบผเบทเบชเบฐเบเบฑเบ”เบ‚เปเป‰เบกเบนเบ™. เบชเปˆเบงเบ™เบซเบผเบฒเบเบกเบฑเบ, เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบ™เบฑเปˆเบ‡เบขเบนเปˆเบšเปˆเบญเบ™เปƒเบ”เบซเบ™เบถเปˆเบ‡เปƒเบ™เบšเบฒเบ‡เบฎเบนเบšเปเบšเบšเปเบฅเบฐเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™ "เป€เบญเบปเบฒ" เบˆเบฒเบเบšเปˆเบญเบ™เบ™เบฑเป‰เบ™. 

เบžเบฒเบชเบฒ Query เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบฐเบเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เบซเบผเบฒเบเบ™เบตเป‰! เปเบฅเบฐเปƒเบ™เบกเบทเป‰เบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบšเบญเบเบ—เปˆเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบกเป€เบซเบผเบปเปˆเบฒเบ™เบฑเป‰เบ™เบ—เบตเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”เบ•เปเปˆเบ‚เป‰เบญเบเปเบฅเบฐเบ‚เป‰เบญเบเบˆเบฐเบšเบญเบเป€เบˆเบปเป‰เบฒเปเบฅเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบˆเบปเป‰เบฒเบฎเบนเป‰เบงเปˆเบฒเบšเปˆเบญเบ™เปƒเบ”เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™ - เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเบถเบเบชเบฒ.

เบกเบฑเบ™เบˆเบฐเบกเบตเบชเบฒเบกเบšเบฅเบฑเบญเบเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™, เป€เบŠเบดเปˆเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ›เบถเบเบชเบฒเบซเบฒเบฅเบทเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰:

  • เบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบก "เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™" เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ—เบปเปˆเบงเป„เบ›เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบก, เป€เบŠเบฑเปˆเบ™: เบžเบถเบ”เบŠเบฐเบ„เบฐเบ™เบดเบ”เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบซเบผเบท SQL.
  • เบเบฒเบ™เบ‚เบฝเบ™เบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบก: เบ•เบปเบงเบขเปˆเบฒเบ‡, Python things pandas, numpy เบซเบผเบท shell scripting.
  • เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบŸเบ„เบงเบฒเบกเบฎเบนเป‰เปเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฒเบŸ.

เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ‚เบฝเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบ›เบฐเบชเบปเบšเบเบฒเบ™เบชเปˆเบงเบ™เบ•เบปเบง, เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”, เบกเบตเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปเบฅเบฐ "เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบˆเบถเปˆเบ‡เบ•เป‰เบญเบ‡เบเบฒเบ™" - เบ—เบธเบเบ„เบปเบ™เบชเบฒเบกเบฒเบ”เบฅเบญเบ‡เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบชเบฒเบกเบฒเบ”เบกเบฒเป€เบ–เบดเบ‡เป€เบˆเบปเป‰เบฒเป„เบ”เป‰เปเบ™เบงเปƒเบ”เปเบฅเบฐเบžเบฐเบเบฒเบเบฒเบกเบเบฐเบเบฝเบกเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒเบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒเป‚เบ”เบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบžเบฒเบชเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบเปˆเบญเบ™โ€‹เบ—เบตเปˆโ€‹เบ—เปˆเบฒเบ™โ€‹เบˆเบฐโ€‹เบ•เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบชเบฐโ€‹เบซเบกเบฑเบ (เบ”เปˆเบงเบ™โ€‹) เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบซเบผเบทโ€‹เปเบกเป‰โ€‹เบเบฐโ€‹เบ—เบฑเป‰เบ‡โ€‹เป„เบ›โ€‹เบซเบฒโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹.

เบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบก "เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™".

เบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบกเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปเบกเปˆเบ™เบŠเบฑเบ”เป€เบˆเบ™เปƒเบ™เบ„เบงเบฒเบกเบซเบกเบฒเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบฑเบเบˆเบฐเบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเบžเบงเบเบกเบฑเบ™เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบก.

เบžเบถเบ”เบŠเบฐเบ„เบฐเบ™เบดเบ”เบชเบณเบžเบฑเบ™

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบžเบถเบ”เบŠเบฐเบ„เบฐเบ™เบดเบ”เบชเบณเบžเบฑเบ™เปƒเบ™เบกเบทเป‰เบ™เบตเป‰? เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบตเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ”เบตเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบกเบˆเบถเปˆเบ‡เบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปƒเบ™เปเบšเบšเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เปเบฅเบฐเปƒเบŠเป‰เบกเบฑเบ™เบขเปˆเบฒเบ‡เบกเบตเบชเบฐเบ•เบด, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเปƒเบˆเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™.

เบžเบถเบ”เบŠเบฐเบ„เบฐเบ™เบดเบ”เบชเบณเบžเบฑเบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡?

เบ„เปเบฒเบ™เบดเบเบฒเบกเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบกเบตเบ”เบฑเปˆเบ‡เบ™เบตเป‰: relational algebra เปเบกเปˆเบ™เบฅเบฐเบšเบปเบšเบ›เบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เปเป‰เบกเบนเบ™เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เบกเบฐเบ™เบธเบ”เป€เบฅเบฑเบเบ™เป‰เบญเบ, เบ™เบตเป‰เปเบกเปˆเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบงเปˆเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบชเบฐเป€เบซเบกเบต.

เป€เบšเบดเปˆเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ เบ™เบตเป‰ เบšเบปเบ”เบ„เบงเบฒเบกเบˆเบฒเบ Habr - เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฎเบนเป‰เปเบฅเบฐเบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡?

เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเปเบกเปˆเบ™เบซเบเบฑเบ‡เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเปƒเบ™เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบชเบฐเป€เบžเบฒเบฐเบกเบฑเบเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเป€เบฅเบดเบเป€เบŠเบดเปˆเบ‡เบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™.

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™
เป€เบญเบปเบฒเบกเบฒเบˆเบฒเบ เบ™เบตเป‰ เบšเบปเบ”เบ„เบงเบฒเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™: เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก, เป€เบŠเบดเปˆเบ‡เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบ•เบฒเบ•เบฐเบฅเบฒเบ‡.

เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบเบฒเบ™โ€‹เบชเบถเบโ€‹เบชเบฒโ€‹:

เบซเบผเบฑเบเบชเบนเบ”เปเบ™เบฐเบ™เปเบฒเบ—เบตเปˆเบ”เบตเบˆเบฒเบ Stanford. เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบกเบตเบซเบผเบฒเบเป€เบญเบเบฐเบชเบฒเบ™เบเปˆเบฝเบงเบเบฑเบš algebra เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เปเบฅเบฐเบ—เบดเบ”เบชเบฐเบ”เบต - Coursera, Udacity. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰เบเบฑเบ‡เบกเบตเบˆเปเบฒเบ™เบงเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™เบญเบญเบ™เป„เบฅเบ™เปŒ, เบฅเบงเบกเบ—เบฑเบ‡เบ”เบต เบซเบผเบฑเบเบชเบนเบ”เบงเบดเบŠเบฒเบเบฒเบ™. เบ„เปเบฒโ€‹เปเบ™เบฐโ€‹เบ™เปเบฒโ€‹เบชเปˆเบงเบ™โ€‹เบšเบธเบโ€‹เบ„เบปเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹: เบ—เปˆเบฒเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เปƒเบˆโ€‹เบžเบถเบ”โ€‹เบŠเบฐโ€‹เบ„เบฐโ€‹เบ™เบดเบ”โ€‹เบ—เบตเปˆโ€‹เบเปˆเบฝเบงโ€‹เบ‚เป‰เบญเบ‡โ€‹เป„เบ”เป‰โ€‹เบ”เบต - เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹.

SQL

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™
เป€เบญเบปเบฒเบกเบฒเบˆเบฒเบ เบ™เบตเป‰ เบšเบปเบ”เบ„เบงเบฒเบก.

SQL เปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบฑเบ™เบชเปเบฒเบ„เบฑเบ™เบ‚เบญเบ‡ algebra เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡ - เบกเบต caveat เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, SQL เปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบเบฒเบ”! เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เป€เบกเบทเปˆเบญเบ‚เบฝเบ™เบ„เปเบฒเบ–เบฒเบกเปƒเบ™เบžเบฒเบชเบฒเบ‚เบญเบ‡ algebra เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡, เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบงเบ—เปˆเบฒเบ™เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ - เปเบ•เปˆเบ”เป‰เบงเบ SQL เบ—เปˆเบฒเบ™เบเปเบฒเบ™เบปเบ”เบชเบดเปˆเบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบฐเบเบฑเบ”, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ DBMS เป„เบ”เป‰เบชเป‰เบฒเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ (เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš) เปƒเบ™เบžเบฒเบชเบฒเบ‚เบญเบ‡ algebra เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡ (เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบ„เบงเบฒเบกเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบเบเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ เบ—เบดเบ”เบชเบฐเบ”เบตเบ‚เบญเบ‡ Codd).

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™
เป€เบญเบปเบฒเบกเบฒเบˆเบฒเบ เบ™เบตเป‰ เบšเบปเบ”เบ„เบงเบฒเบก.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡?

Relational DBMSs: Oracle, Postgres, SQL Server, เปเบฅเบฐเบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เบเบฑเบ‡เบกเบตเบขเบนเปˆเบ—เบปเปˆเบงเบ—เบธเบเปเบซเปˆเบ‡เปเบฅเบฐเบกเบตเป‚เบญเบเบฒเบ”เบชเบนเบ‡เบขเปˆเบฒเบ‡เบšเปเปˆเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒ, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบญเปˆเบฒเบ™ SQL (เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบซเบผเบฒเบ) เบซเบผเบทเบ‚เบฝเบ™เบกเบฑเบ™ (. เบ„เบปเบ‡เบˆเบฐเบšเปเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰).

เบชเบดเปˆเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เบญเปˆเบฒเบ™เปเบฅเบฐเบชเบถเบเบชเบฒ

เบญเบตเบ‡โ€‹เบ•เบฒเบกโ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบ”เบฝเบงโ€‹เบเบฑเบ™โ€‹เบ‚เป‰เบฒเบ‡โ€‹เป€เบ—เบดเบ‡ (เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบžเบถเบ”โ€‹เบŠเบฐโ€‹เบ„เบฐโ€‹เบ™เบดเบ”โ€‹เบ—เบตเปˆโ€‹เบเปˆเบฝเบงโ€‹เบ‚เป‰เบญเบ‡โ€‹)โ€‹, เบกเบตโ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™ incredible เบ‚เบญเบ‡โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบเบฒเบ™โ€‹, เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹. เบ™เบตเป‰.

เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, NoSQL เปเบกเปˆเบ™เบซเบเบฑเบ‡?

"เบกเบฑเบ™เป€เบ›เบฑเบ™เบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเป€เบ™เบฑเป‰เบ™เบซเบ™เบฑเบเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เบงเปˆเบฒเบ„เปเบฒเบงเปˆเบฒ "NoSQL" เบกเบตเบ•เบปเป‰เบ™เบเปเบฒเป€เบ™เบตเบ” spontaneous เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡เปเบฅเบฐเบšเปเปˆเบกเบตเบ„เปเบฒเบ™เบดเบเบฒเบกเบ—เบตเปˆเบเบญเบกเบฎเบฑเบšเป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เบซเบผเบทเบชเบฐเบ–เบฒเบšเบฑเบ™เบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ—เบตเปˆเบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡เบกเบฑเบ™." เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™ เบšเบปเบ”เบ„เบงเบฒเบก เบชเบธเบ” Habr.

เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบ›เบฐเบŠเบฒเบŠเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบฎเบนเป‰เบงเปˆเบฒเบ•เบปเบงเปเบšเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบซเบผเบฒเบเบขเปˆเบฒเบ‡, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบกเปˆเบ™เบชเปเบฒเบ„เบฑเบ™เปเบฅเบฐเบšเบฒเบ‡เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบกเบตเบเบฒเบ™เบฅเบงเบšเบฅเบงเบก dominate - เบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ„เบดเบ”เป„เบฅเปˆ metrics เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเปเบฅเบฐเบ‚เบฝเบ™เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ. เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เปเบฅเบฐเบฅเบฑเบเบชเบฐเบ™เบฐเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™ relational เบซเบฑเบ™เบญเบญเบเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เปเบ•เปˆเบเบฑเบ‡เป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบ - เป€เบ›เบฑเบ™เบซเบเบฑเบ‡ normalize เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบˆเบฐ spoil เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ (เบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡เบงเบฝเบเบ‡เบฒเบ™เบชเบฐเป€เบžเบฒเบฐ) - เบœเบปเบ™เบœเบฐเบฅเบดเบ”?

เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, schemas เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เปเบกเปˆเบ™เบกเบฑเบเบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ schemas เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เบ„เบปเบ‡เบ—เบตเปˆเบ‚เบญเบ‡เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบ„เบฅเบฒเบชเบชเบดเบ - เปเบฅเบฐเบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบขเปˆเบฒเบ‡เบšเปเปˆเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบกเบฑเบ™เบชเปเบฒเบ„เบฑเบ™เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบฅเบฐเบšเบปเบšเปเบฅเบฐเป€เบฅเบตเปˆเบกเป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เป„เบงเบงเบฒ, เบ›เบธเบ‡เปเบ•เปˆเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš - เบซเบผเบท schema เปเบฅเบฐเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบเบฑเบšเป„เบงเป‰. เบšเปเปˆเบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบ.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™เปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป‚เบ”เป€เบกเบ™เบชเบฐเป€เบžเบฒเบฐเบžเป‰เบญเบกเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ meta เบšเบฒเบ‡ - เบžเบงเบเป€เบฎเบปเบฒเบญเบฒเบ”เบˆเบฐเบšเปเปˆเบฎเบนเป‰เบ—เบธเบเบ‚เบปเบ‡เป€เบ‚เบ”เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒ JSON เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบšเบฑเบ™เบ—เบถเบ - เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เปเป‰เบกเบนเบ™. เบฎเบนเบšเปเบšเบšเปเบฅเบฐ iterating เบขเปˆเบฒเบ‡เป„เบงเบงเบฒ - เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, 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 เปเบกเปˆเบ™เบซเบเบฑเบ‡เบ—เบตเปˆเบˆเบฐเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ™เบตเป‰ - เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเบถเบเบชเบฒเบฅเบฐเบšเบปเบšเบ™เบตเป‰.

Scripting Query Languages

เบ—เปเบฒเบญเบดเบ”, เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ, Python เป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”เบเบฑเบšเบกเบฑเบ™เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ› - เบกเบฑเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบฑเบ‡เบซเบกเบปเบ”.

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™

  • Pandas เป€เบ›เบฑเบ™โ€‹เบกเบตเบ”โ€‹เบเบญเบ‡เบ—เบฑเบšโ€‹เบชเบฐโ€‹เบงเบดเบ”โ€‹เบ‚เบญเบ‡โ€‹เบงเบดโ€‹เบ—เบฐโ€‹เบเบฒโ€‹เบชเบฒเบ”โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เบตเปˆโ€‹เบฎเบนเป‰โ€‹เบซเบ™เบฑเบ‡โ€‹เบชเบทโ€‹, เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบผเบงเบ‡โ€‹เบซเบผเบฒเบโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบซเบฑเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹, เบเบฒเบ™โ€‹เบฅเบงเบšโ€‹เบฅเบงเบกโ€‹, เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†โ€‹เป€เบเบตเบ”โ€‹เบ‚เบถเป‰เบ™โ€‹เปƒเบ™โ€‹เบกเบฑเบ™โ€‹.
  • Numpy - เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ vector, matrices เปเบฅเบฐ linear algebra เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™.
  • Scipy - เบกเบตเบซเบผเบฒเบเบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เบขเบนเปˆเปƒเบ™เบŠเบธเบ”เบ™เบตเป‰, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเบฐเบ–เบดเบ•เบด.
  • เบซเป‰เบญเบ‡เบ—เบปเบ”เบฅเบญเบ‡ Jupyter - เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบชเปเบฒเบซเบผเบงเบ”เบซเบผเบฒเบเป€เบซเบกเบฒเบฐเบเบฑเบšเบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป‚เบ™เบ”เบšเบธเบ - เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบˆเบฐเบฎเบนเป‰.
  • เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป - เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ.
  • Pyspark เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบ™เบดเบเบปเบกเบซเบผเบฒเบเปƒเบ™เบšเบฑเบ™เบ”เบฒเบงเบดเบชเบฐเบงเบฐเบเบญเบ™เบ‚เปเป‰เบกเบนเบ™, เบชเปˆเบงเบ™เบซเบผเบฒเบเปเบกเปˆเบ™เป€เบˆเบปเป‰เบฒเบˆเบฐเบ•เป‰เบญเบ‡เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบชเบดเปˆเบ‡เบ™เบตเป‰เบซเบผเบท Spark, เบžเบฝเบ‡เปเบ•เปˆเบเป‰เบญเบ™เบ„เบงเบฒเบกเบ™เบดเบเบปเบกเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ.
  • *Selenium - เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ”โ€‹เบซเบผเบฒเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบเบฑเบšโ€‹เบเปเบฒโ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบˆเบฒเบโ€‹เบชเบฐโ€‹เบ–เบฒเบ™โ€‹เบ—เบตเปˆโ€‹เปเบฅเบฐโ€‹เบŠเบฑเบšโ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบญเบ™โ€‹, เบšเบฒเบ‡โ€‹เบ„เบฑเป‰เบ‡โ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบ—เบฒเบ‡โ€‹เบญเบทเปˆเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹.

เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบ‚เป‰เบญเบ: เบฎเบฝเบ™เบฎเบนเป‰ Python!

Pandas

เปƒเบซเป‰เป€เบญเบปเบฒเบฅเบฐเบซเบฑเบ”เบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡:

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 เปเบฅเบฐเบ—เปเปˆ; เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบ„เปเบฒเบ–เบฒเบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ—เปเปˆ Python. เปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰, เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบกเบฒเบซเบฒเบžเบงเบเป€เบฎเบปเบฒเบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เป€เบŠเบฑเปˆเบ™ Pandas เบซเบผเบท pySpark.

เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เปƒเบ™ pySpark เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบกเปƒเบ™เบˆเบดเบ”เปƒเบˆเบ‚เบญเบ‡:

df.filter(df.trip_type = โ€œreturnโ€)
  .groupby(โ€œdayโ€)
  .agg({duration: 'mean'})
  .sort()

เบšเปˆเบญเบ™เปƒเบ”เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบญเปˆเบฒเบ™

เปƒเบ™ Python เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ› เบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒ เบŠเบญเบเบซเบฒเป€เบญเบเบฐเบชเบฒเบ™เป€เบžเบทเปˆเบญเบชเบถเบเบชเบฒ. เบกเบตเบˆเปเบฒเบ™เบงเบ™เบญเบฑเบ™เปƒเบซเบเปˆเบซเบผเบงเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบชเบญเบ™เบญเบญเบ™เป„เบฅเบ™เปŒ เปเบต เปเบžเบ™เบ”เบฒ, pySpark เปเบฅเบฐเบซเบผเบฑเบเบชเบนเบ”เบเปˆเบฝเบงเบเบฑเบš Spark (เปเบฅเบฐเบ”เป‰เบงเบเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡ DS). เป‚เบ”เบเบฅเบงเบกเปเบฅเป‰เบง, เป€เบ™เบทเป‰เบญเบซเบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เปเบกเปˆเบ™เบ”เบตเป€เบฅเบตเบ”เบชเปเบฒเบฅเบฑเบš google, เปเบฅเบฐเบ–เป‰เบฒเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เป€เบฅเบทเบญเบเบŠเบธเบ”เบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเบชเบธเบกเปƒเบชเปˆ, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ pandas, เปเบ™เปˆเบ™เบญเบ™. เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ‚เบญเบ‡เบงเบฑเบ”เบชเบฐเบ”เบธ DS + Python เบ„เบทเบเบฑเบ™ เบขเปˆเบฒเบ‡เบซเบผเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เป€เบ›เบฑเบ™.

Shell เป€เบ›เบฑเบ™เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบก

เป‚เบ„เบ‡เบเบฒเบ™เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบเบ—เบตเปˆเบ‚เป‰เบญเบเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเปเบกเปˆเบ™, เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, shell scripts เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบฅเบฐเบซเบฑเบ”เปƒเบ™ Python, Java, เปเบฅเบฐ shell เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เบปเบงเป€เบญเบ‡. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ—เปเปˆเปƒเบ™ bash / zsh / etc เป€เบ›เบฑเบ™เบšเบฒเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบฅเบฐเบ”เบฑเบšเบชเบนเบ‡ (เปเบ™เปˆเบ™เบญเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”, เบชเบดเปˆเบ‡เบ—เบตเปˆ loops เบขเบนเปˆเปƒเบ™เบ™เบฑเป‰เบ™, เปเบ•เปˆเบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบ›เบปเบเบเบฐเบ•เบดเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบซเบฑเบ” DS เปƒเบ™เบžเบฒเบชเบฒเปเบเบฐ), เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒ. เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ - เบ‚เป‰เบญเบเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เปเบœเบ™เบ—เบตเปˆ QID เบ‚เบญเบ‡ wikidata เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบเบฑเบš wikis เบฅเบฑเบ”เป€เบŠเบเปเบฅเบฐเบญเบฑเบ‡เบเบดเบ”, เบชเปเบฒเบฅเบฑเบšเบ™เบตเป‰เบ‚เป‰เบญเบเบ‚เบฝเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‡เปˆเบฒเบเป†เบˆเบฒเบเบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™ bash เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบ‚เป‰เบญเบเบ‚เบฝเบ™ script เบ‡เปˆเบฒเบเป†เปƒเบ™ 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 เบเบฑเบšเบ„เบต - stream เบ—เบฑเบ™เบ—เบตเบœเบฐเบฅเบดเบ”เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบฅเบฐเบชเบปเปˆเบ‡เบœเปˆเบฒเบ™ postprocessor (เบ„เบทเบเบฑเบ™เบเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เปเบฒเบญเบดเบ”) เปƒเบ™ Python
  • เบžเบฒเบเปƒเบ™, เป‚เบ›เป€เบŠเบ”เป€เบŠเบต postprocessor เปเบกเปˆเบ™เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ‚เบญเบ‡เบฅเบฑเบ”เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบˆเบฑเบ”เบฎเบนเบšเปเบšเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” 

เป‚เบ”เบเบฅเบงเบกเปเบฅเป‰เบง, เบ—เปเปˆเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป„เบซเบผเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ (0.5TB), เป‚เบ”เบเบšเปเปˆเบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบฅเบฐเป€เบฎเบฑเบ”เบˆเบฒเบเบ—เปเปˆเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเบญเบ‡เบขเปˆเบฒเบ‡.

เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡: เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ”เบตเปเบฅเบฐเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™ terminal เปเบฅเบฐเบ‚เบฝเบ™ 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 เปเบฅเบฐ vectorization เบ‚เปเป‰เบกเบนเบ™ - เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เบซเบผเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบ™ R เบˆเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ„เบธเป‰เบ™เป€เบ„เบตเบเปเบฅเบฐเบชเบฐเบ”เบงเบเบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™.

เบกเบตเบซเบผเบฒเบเปเบซเบผเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบชเบถเบเบชเบฒ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบ™เบตเป‰.

เบเบฃเบฒเบŸเบ„เบงเบฒเบกเบฎเบนเป‰

เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ‚เป‰เบญเบเบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ—เบตเปˆเบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบดเป€เบฅเบฑเบเบ™เป‰เบญเบ, เป€เบžเบฒเบฐเบงเปˆเบฒเบ‚เป‰เบญเบเบกเบฑเบเบˆเบฐเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบฒเบŸเบ„เบงเบฒเบกเบฎเบนเป‰เปเบฅเบฐเบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบŸ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบงเบปเป‰เบฒเบชเบฑเป‰เบ™เป†เบเปˆเบฝเบงเบเบฑเบšเบžเบทเป‰เบ™เบ–เบฒเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบชเปˆเบงเบ™เบ™เบตเป‰เปเบกเปˆเบ™เปเบ›เบเปƒเบซเบกเปˆเป€เบฅเบฑเบเบ™เป‰เบญเบ.

เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบ„เบฅเบฒเบชเบชเบดเบเบžเบงเบเป€เบฎเบปเบฒเบกเบต schema เบ„เบปเบ‡, เปเบ•เปˆเปƒเบ™เบ—เบตเปˆเบ™เบตเป‰ schema เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™, เปเบ•เปˆเบฅเบฐ predicate เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบงเปเบกเปˆเบ™ "เบ–เบฑเบ™" เปเบฅเบฐเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เบซเบผเบฒเบ.

เบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™เบงเปˆเบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เบชเป‰เบฒเบ‡เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบšเบธเบเบ„เบปเบ™เปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบฐเบ—เบดเบšเบฒเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบซเป‰เป€เบญเบปเบฒเบšเบธเบเบ„เบปเบ™เบชเบฐเป€เบžเบฒเบฐ, Douglas Adams, เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ™เบตเป‰เป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™.

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™
www.wikidata.org/wiki/Q42

เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปƒเบซเบเปˆเบซเบผเบทเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบ„เปเบฅเปเบฒเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ, เป€เบŠเบดเปˆเบ‡เบชเปˆเบงเบ™เปƒเบซเบเปˆเบˆเบฐเป€เบ›เบฑเบ™ NULL เบซเบผเบทเป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบเบ„เปˆเบฒ False เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบกเบฑเบ™เบšเปเปˆเบซเบ™เป‰เบฒเบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบซเบผเบฒเบเบ„เบปเบ™เบกเบต. เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบขเบนเปˆเปƒเบ™เบซเปเบชเบฐเบซเบกเบธเบ”เปเบซเปˆเบ‡เบŠเบฒเบ”เป€เบเบปเบฒเบซเบผเบต - เปเบ™เปˆเบ™เบญเบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบงเบฒเบ‡เบžเบงเบเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เปเบ•เปˆเบชเบธเบ”เบ—เป‰เบฒเบเบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบงเบปเบ‡เบˆเบญเบ™เบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เบเบฑเบš predicates เป‚เบ”เบเปƒเบŠเป‰เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบ„เบปเบ‡เบ—เบตเปˆ.

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™
เบชเบฐเบ™เบฑเป‰เบ™เบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™เบงเปˆเบฒเบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบซเบผเบทเป€เบ›เบฑเบ™เบ•เบปเบงเบชเบฐเปเบ”เบ‡ binary เปเบฅเบฐ unary boolean.

เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบžเบปเบšเบชเบดเปˆเบ‡เบ™เบตเป‰เป„เบ”เป‰เบขเบนเปˆเปƒเบช? เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš เบ‚เปเป‰เบกเบนเบ™ wiki, เปเบฅเบฐเบกเบตเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฒเบŸเบซเบผเบทเบ‚เปเป‰เบกเบนเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.

เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปเบกเปˆเบ™เบžเบฒเบชเบฒเบ„เปเบฒเบ–เบฒเบกเบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบ‚เป‰เบญเบเป„เบ”เป‰เปƒเบŠเป‰เปเบฅเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš.

SPARQL

Wiki:
SPARQL (เบ•เบปเบงเบซเบเปเป‰ recursive เบˆเบฒเบ เบžเบฒเบชเบฒเบญเบฑเบ‡เบเบดเบ” SPARQL Protocol เปเบฅเบฐ RDF Query Language) - เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™, เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เป‚เบ”เบเบ•เบปเบงเปเบšเบš RDFเปเบฅเบฐ เบญเบฐเบ™เบธเบชเบฑเบ™เบเบฒ เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเบฐเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ. SPARQL เปเบกเปˆเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ เบชเบฐเบกเบฒเบ„เบปเบก W3C เปเบฅเบฐเบซเบ™เบถเปˆเบ‡เปƒเบ™เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต เป€เบงเบฑเบšเป„เบŠเบ•เปŒ semantic.

เปเบ•เปˆเปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡เบกเบฑเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบชเปเบฒเบฅเบฑเบš unary เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™เปเบฅเบฐ binary predicates. เบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เบเปเบฒเบ™เบปเบ”เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบžเบฝเบ‡เปเบ•เปˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡ Boolean เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™ (เบ‡เปˆเบฒเบเบซเบผเบฒเบ).

เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ RDF (Resource Description Framework) เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡, เป€เบŠเบดเปˆเบ‡เบซเบผเบฒเบเบเบงเปˆเบฒเบเบฒเบ™เบชเบญเบšเบ–เบฒเบก SPARQL เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เปเบกเปˆเบ™เบชเบฒเบกเป€เบ—เบปเปˆเบฒ. object, predicate, subject - เปเบฅเบฐเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเป€เบฅเบทเบญเบเบชเบฒเบกเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ•เบฒเบกเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบงเบดเบ™เบเบฒเบ™: เบŠเบญเบเบซเบฒ X เป€เบŠเบฑเปˆเบ™เบงเปˆเบฒ p_55(X, q_33) เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡ - เบšเปˆเบญเบ™เบ—เบตเปˆ, เปเบ™เปˆเบ™เบญเบ™, p_55 เปเบกเปˆเบ™เบšเบฒเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบเบฑเบš ID 55, เปเบฅเบฐ q_33 เปเบกเปˆเบ™เป€เบ›เบฑเบ™. เบงเบฑเบ”เบ–เบธเบ—เบตเปˆเบกเบต ID 33 (เบ—เบตเปˆเบ™เบตเป‰เปเบฅเบฐเป€เบฅเบทเปˆเบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”, เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡ omitting เบ—เบธเบเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบฅเบฒเบเบฅเบฐเบญเบฝเบ”).

เบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบ‚เปเป‰เบกเบนเบ™:

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™
เบฎเบนเบšเบžเบฒเบšเปเบฅเบฐเบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฑเบšเบ›เบฐเป€เบ—เบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰ เบˆเบฒเบเบ™เบตเป‰.

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ„เปเบฒเบ–เบฒเบกเบžเบทเป‰เบ™เบ–เบฒเบ™

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™

เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบŠเบญเบเบซเบฒเบ„เปˆเบฒเบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบ›เบฐเป€เบ—เบ” ?เป€เบŠเบฑเปˆเบ™เบ™เบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบš predicate
member_of, เบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒ member_of(?country,q458) เปเบฅเบฐ q458 เปเบกเปˆเบ™ ID เบ‚เบญเบ‡เบชเบฐเบซเบฐเบžเบฒเบšเป€เบญเบตเบฃเบปเบš.

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก SPARQL เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบžเบฒเบเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ python:

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™

เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบญเปˆเบฒเบ™ SPARQL เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบกเบฑเบ™ - เปƒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบฑเป‰เบ™, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ—เบฑเบเบชเบฐเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบžเบฒเบชเบฒเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเปƒเบ™เบฅเบฐเบ”เบฑเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบขเปˆเบฒเบ‡เปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™. 

เบกเบตเบซเบผเบฒเบเป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบˆเบฐเบชเบถเบเบชเบฒเบญเบญเบ™เป„เบฅเบ™เปŒ: เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เบตเปˆเบ™เบตเป‰ เบ™เบตเป‰ ะธ เบ™เบตเป‰. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง google เบเบฒเบ™เบญเบญเบเปเบšเบšเบชเบฐเป€เบžเบฒเบฐเปเบฅเบฐเบ•เบปเบงเบขเปˆเบฒเบ‡เปเบฅเบฐเบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™.

เบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบกเบ•เบฒเบกเป€เบซเบ”เบœเบปเบ™

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ‚เบญเบ‡เบ‚เป‰เบญเบ เบ—เบตเปˆเบ™เบตเป‰. เปเบฅเบฐเปƒเบ™เบ—เบตเปˆเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบเบงเบ”เป€เบšเบดเปˆเบ‡เบžเบฝเบ‡เปเบ•เปˆเบชเบฑเป‰เบ™เป†เบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบฒเบชเบฒเบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบ”เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฝเบ™เบ„เปเบฒเบ–เบฒเบก. เป‚เบ”เบเบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเป‰เบง, RDF เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบŠเบธเบ”เบ‚เบญเบ‡เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ—เบตเปˆเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบš p(X) เปเบฅเบฐ h(X,Y), เปเบฅเบฐเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เบกเบตเบฎเบนเบšเปเบšเบšเบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

output(X) :- country(X), member_of(X,โ€œEUโ€).

เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ” predicate เปƒเบซเบกเปˆ / 1 (/1 เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒ unary), เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบงเปˆเบฒเบชเปเบฒเบฅเบฑเบš X เบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบ›เบฐเป€เบ—เบ”(X) - i.e., X เป€เบ›เบฑเบ™เบ›เบฐเป€เบ—เบ”เปเบฅเบฐเบเบฑเบ‡ member_of(X,"EU ").

เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบ—เบฑเบ‡เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบเบปเบ”เบฅเบฐเบšเบฝเบšเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™เบ—เบฒเบ‡เบ”เบฝเบงเบเบฑเบ™, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ‡เปˆเบฒเบเปเบฅเบฐเบ”เบต.

เบ—เปˆเบฒเบ™เบžเบปเบšเบšเปˆเบญเบ™เปƒเบ”เปƒเบ™เบญเบธเบ”เบชเบฒเบซเบฐเบเปเบฒ?: เป‚เบ„เบ‡เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบตเบšเปเบฅเบดเบชเบฑเบ”เบ—เบตเปˆเบ‚เบฝเบ™เปเบšเบšเบชเบญเบšเบ–เบฒเบกเปƒเบ™เบžเบฒเบชเบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เบขเบนเปˆเปƒเบ™เบซเบผเบฑเบเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš - เบกเบฑเบ™เบˆเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเปเบ›เบเบ›เบฐเบซเบผเบฒเบ”เบซเบผเบฒเบ, เปเบ•เปˆเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบกเบฑเบ™เบเปเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™.

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบฅเบฐเบซเบฑเบ”เปƒเบ™ wikidata เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบžเบฒเบชเบฒเบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™:

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™

เบงเบฑเบ”เบชเบฐเบ”เบธ: เบ‚เป‰เบญเบเบˆเบฐเปƒเบซเป‰เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบญเบ‡เบญเบฑเบ™เบ™เบตเป‰เบเบฑเบšเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก Answer Set Programming - เบ‚เป‰เบญเบเบ‚เปเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบชเบถเบเบชเบฒเบกเบฑเบ™:

เบšเบฑเบ™เบ—เบถเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเบ—เบฐเบเบฒเบชเบฒเบ”เบ‚เปเป‰เบกเบนเบ™: เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เปเป‰เบกเบนเบ™

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™