αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™
αžαŸ’αž‰αž»αŸ†αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž–αžΈαž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž’αŸ†αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆ αž“αž·αž„αž–αŸαž›αžŽαžΆαŸ” αžœαžΆαž‡αžΆαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‘αžΌαž‘αŸ… αž“αž·αž„αž“αž·αž€αŸ’αžαŸαž”αž”αž‘ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαž’αŸ’αžœαžΈ αž“αž·αž„αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αž‡αžΈαž€αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αž - αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„ αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αŸ”

αž αŸαžαž»αž’αŸ’αžœαžΈαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαžŠαžΉαž„ αž“αž·αž„αž’αžΆαž…αž”αŸ’αžšαžΎαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžš? αž‡αžΆαžŸαŸ’αž“αžΌαž›αžšαž”αžŸαŸ‹αžœαžΆ αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αžΆαž“αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸƒαž€αžΆαžšαž„αžΆαžš αž αžΎαž™αžŠαŸ†αž”αžΌαž„αž”αŸ†αž•αž»αž αž“αž·αž„αžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αž (αž”αžΎαž‚αŸ’αž˜αžΆαž“αžœαžΆαž‘αŸ αž”αŸ’αžšαžΆαž€αžŠαž‡αžΆαž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸ!) αž‚αžΊαž€αžΆαžšαž‘αž‘αž½αž›αž”αžΆαž“ αž¬αž‘αžΆαž‰αž™αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹ αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ†αž–αž»αž„αž’αž„αŸ’αž‚αž»αž™αž“αŸ…αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž˜αž½αž™αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αžαŸ’αž›αŸ‡ αž αžΎαž™αžαŸ’αžšαžΌαžœαž€αžΆαžš "αž‘αžΆαž‰αž™αž€" αž–αžΈαž‘αžΈαž“αŸ„αŸ‡αŸ” 

αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž‘αžΆαž‰αž™αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸαŸ‡αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„! αž αžΎαž™αžαŸ’αž„αŸƒαž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αŸ†αž–αžΈαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αžΆαŸ†αž„αž“αŸ„αŸ‡αžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ† αž αžΎαž™αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€ αž“αž·αž„αž”αž„αŸ’αž αžΆαž‰αž’αŸ’αž“αž€αž–αžΈαž€αž“αŸ’αž›αŸ‚αž„ αž“αž·αž„αžšαž”αŸ€αž”αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠ - αž αŸαžαž»αž’αŸ’αžœαžΈαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαžŸαž·αž€αŸ’αžŸαžΆαŸ”

αžœαžΆαž“αžΉαž„αž˜αžΆαž“αž”αŸ’αž›αž»αž€αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αž…αŸ†αž“αž½αž“αž”αžΈαž“αŸƒαž”αŸ’αžšαž—αŸαž‘αžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™ αžŠαŸ‚αž›αž™αžΎαž„αž“αžΉαž„αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αŸ–

  • αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžš "αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš" αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αž›αŸ‹αž‡αžΆαž‘αžΌαž‘αŸ…αž“αŸ…αž–αŸαž›αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžš αžŠαžΌαž…αž‡αžΆαž–αž·αž‡αž‚αžŽαž·αžαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„ ឬ SQL αŸ”
  • αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαŸ– αž§αž‘αžΆαž αžšαžŽαŸ Python things pandas, numpy ឬ shell scriptingαŸ”
  • αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαžΆαž αŸ’αžœαž…αŸ†αžŽαŸαŸ‡αžŠαžΉαž„ αž“αž·αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αžšαžΆαž αŸ’αžœαŸ”

αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αžŠαŸ‚αž›αž”αžΆαž“αžŸαžšαžŸαŸαžšαž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‚αžΊαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸ αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžŸαŸ’αžαžΆαž“αž—αžΆαž– αž“αž·αž„ "αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžš" - αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆαž’αžΆαž…αžŸαžΆαž€αž›αŸ’αž”αž„αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž’αžΆαž…αž˜αž€αžαžΆαž˜αž•αŸ’αž›αžΌαžœαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž αžΎαž™αž–αŸ’αž™αžΆαž™αžΆαž˜αžšαŸ€αž”αž…αŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αž½αž€αž‚αŸαž‡αžΆαž˜αž»αž“αžŠαŸ„αž™αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž’αŸ†αž–αžΈαž—αžΆαžŸαžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αŸ” αž˜αž»αž“β€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€β€‹αžαŸ’αžšαžΌαžœβ€‹αžŠαžΆαž€αŸ‹β€‹αž–αžΆαž€αŸ’αž™ (αž‡αžΆβ€‹αž”αž“αŸ’αž‘αžΆαž“αŸ‹) αž›αžΎβ€‹αž‚αž˜αŸ’αžšαŸ„αž„β€‹αž˜αž½αž™ αž¬β€‹αžŸαžΌαž˜αŸ’αž”αžΈβ€‹αžαŸ‚β€‹αž‘αŸ…β€‹αž€αžΆαž“αŸ‹β€‹αž‚αž˜αŸ’αžšαŸ„αž„β€‹αžŠαŸ‚αž›β€‹αž–αž½αž€αž‚αŸβ€‹αžαŸ’αžšαžΌαžœβ€‹αž€αžΆαžšαŸ”

"αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš" αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžš

αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž‚αžΊαž…αŸ’αž”αžΆαžŸαŸ‹αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž“αŸαž™αžαžΆαž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαž™αžΎαž„αž‚αž·αžαž’αŸ†αž–αžΈαž–αž½αž€αž‚αŸαž“αŸ…αž–αŸαž›αž™αžΎαž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžŸαŸ†αžŽαž½αžšαŸ”

αž–αž·αž‡αž‚αžŽαž·αžαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„

αž αŸαžαž»β€‹αž’αŸ’αžœαžΈβ€‹αž”αžΆαž“β€‹αž‡αžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž€αžΆαžšβ€‹αž–αž·αž‡αž‚αžŽαž·αžβ€‹αž‘αŸ†αž“αžΆαž€αŸ‹β€‹αž‘αŸ†αž“αž„β€‹αžŸαž–αŸ’αžœβ€‹αžαŸ’αž„αŸƒ? αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΆαž“αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž›αŸ’αž’αž’αŸ†αž–αžΈαž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αž‘αžΎαž„αžαžΆαž˜αžšαž”αŸ€αž”αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αž αžΎαž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžœαžΆαžŠαŸ„αž™αž˜αž“αžŸαž·αž€αžΆαžš αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž™αž›αŸ‹αž’αŸ†αž–αžΈαžŸαŸ’αž“αžΌαž›αž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžšαž”αžŸαŸ‹αžœαžΆαŸ”

αžαžΎαž–αž·αž‡αž‚αžŽαž·αžαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈ?

αž“αž·αž™αž˜αž“αŸαž™αž•αŸ’αž›αžΌαžœαž€αžΆαžšαž˜αžΆαž“αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ– αž–αž·αž‡αž‚αžŽαž·αžαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‚αžΊαž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αž·αž‘αž‡αž·αžαž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž›αžΎαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž€αŸ’αž“αž»αž„αž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŠαžΆαž€αŸ‹αžœαžΆαž±αŸ’αž™αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž˜αž“αž»αžŸαŸ’αžŸαž”αž“αŸ’αžαž·αž… αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸ…αž›αžΎαžαž» αžŠαŸ‚αž›αž›αž‘αŸ’αž’αž•αž›αž‚αžΊαžαŸ‚αž„αžαŸ‚αž‡αžΆαžαžΆαžšαžΆαž„αŸ”

αž˜αžΎαž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ αž“αŸαŸ‡ αž’αžαŸ’αžαž”αž‘αž–αžΈ Habr - αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαžŠαžΉαž„ αž“αž·αž„αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αŸ”

αž αŸαžαž»αž’αŸ’αžœαžΈ?

αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž™αž›αŸ‹αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‚αžΊαž’αŸ†αž–αžΈαž’αŸ’αžœαžΈ αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αŸ’αžœαžΈαž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αž€αž“αŸ’αžŸαŸ„αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž€αžΆαž“αŸ‹αžαŸ‚αžŸαŸŠαžΈαž‡αž˜αŸ’αžšαŸ…αž’αŸ†αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžš αž“αž·αž„αžšαž”αŸ€αž”αŸ”

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™
αž™αž€αž–αžΈ αž“αŸαŸ‡ αž’αžαŸ’αžαž”αž‘αŸ” αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž˜αž½αž™αŸ– αž…αžΌαž›αžšαž½αž˜ αžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αžαžΆαžšαžΆαž„αŸ”

αžŸαž˜αŸ’αž—αžΆαžšαŸˆαžŸαž·αž€αŸ’αžŸαžΆαŸ–

αžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆαžŽαŸ‚αž“αžΆαŸ†αžŠαŸαž›αŸ’αž’αž–αžΈ Stanford. αž‡αžΆαž‘αžΌαž‘αŸ…αž˜αžΆαž“αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž›αžΎαž–αž·αž‡αž‚αžŽαž·αžαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„ αž“αž·αž„αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈ - Coursera, Udacity αŸ” αžœαžΆαž€αŸαž˜αžΆαž“αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž αžšαž½αž˜αž‘αžΆαŸ†αž„αžšαž”αžŸαŸ‹αž›αŸ’αž’αž•αž„αžŠαŸ‚αžšαŸ” αžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆ. αžŠαŸ†αž”αžΌαž“αŸ’αž˜αžΆαž“αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ– αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž™αž›αŸ‹αž’αŸ†αž–αžΈαž–αž·αž‡αž‚αžŽαž·αžαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž±αŸ’αž™αž”αžΆαž“αž…αŸ’αž”αžΆαžŸαŸ‹ - αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ”

SQL αž˜αž½αž™

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™
αž™αž€αž–αžΈ αž“αŸαŸ‡ αž’αžαŸ’αžαž”αž‘

SQL αž‚αžΊαž‡αžΆαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž–αž·αž‡αž‚αžŽαž·αžαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„ - αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™ SQL αž‚αžΊαž‡αžΆαž€αžΆαžšαž”αŸ’αžšαž€αžΆαžŸ! αž“αŸ„αŸ‡αž‚αžΊαž“αŸ…αž–αŸαž›αžŸαžšαžŸαŸαžšαžŸαŸ†αžŽαž½αžšαž‡αžΆαž—αžΆαžŸαžΆαž“αŸƒαž–αž·αž‡αž‚αžŽαž·αžαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„ αž’αŸ’αž“αž€αž–αž·αžαž‡αžΆαž“αž·αž™αžΆαž™αž–αžΈαžšαž”αŸ€αž”αž‚αžŽαž“αžΆ - αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž˜αž½αž™αž“αžΉαž„ SQL αž’αŸ’αž“αž€αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αž„αŸ‹αžŸαŸ’αžšαž„αŸ‹αž…αŸαž‰ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€ DBMS αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž€αž“αŸ’αžŸαŸ„αž˜ (αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž·αž—αžΆαž–) αžšαž½αž…αž αžΎαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž—αžΆαžŸαžΆαž“αŸƒαž–αž·αž‡αž‚αžŽαž·αžαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„ (αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αžŸαž˜αž˜αžΌαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžŸαŸ’αž‚αžΆαž›αŸ‹αžαžΆαž‡αžΆ αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈαž”αž‘ Codd).

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™
αž™αž€αž–αžΈ αž“αŸαŸ‡ αž’αžαŸ’αžαž”αž‘

αž αŸαžαž»αž’αŸ’αžœαžΈ?

DBMSs αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αŸ– Oracle, Postgres, SQL Server αž‡αžΆαžŠαžΎαž˜ αž“αŸ…αžαŸ‚αž˜αžΆαž“αžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‚αŸ’αžšαž”αŸ‹αž‘αžΈαž€αž“αŸ’αž›αŸ‚αž„ αž αžΎαž™αž˜αžΆαž“αž±αž€αžΆαžŸαžαŸ’αž–αžŸαŸ‹αž˜αž·αž“αž‚αž½αžšαž±αŸ’αž™αž‡αžΏαžŠαŸ‚αž›αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž–αž½αž€αž‚αŸ αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαžΆαž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž’αžΆαž“ SQL (αžŠαŸ‚αž›αž‘αŸ†αž“αž„αžŽαžΆαžŸαŸ‹) ឬសរសេរវអ ( αž€αŸαž˜αž·αž“αž‘αŸ†αž“αž„αžŠαŸ‚αžš)αŸ”

αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αžΆαž“αž“αž·αž„αžŸαž·αž€αŸ’αžŸαžΆ

αž™αŸ„αž„αžαžΆαž˜αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαžΌαž…αž‚αŸ’αž“αžΆαžαžΆαž„αž›αžΎ (αž’αŸ†αž–αžΈαž–αž·αž‡αž‚αžŽαž·αžαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„) αž˜αžΆαž“αž”αžšαž·αž˜αžΆαžŽαž˜αž·αž“αž‚αž½αžšαž±αŸ’αž™αž‡αžΏαž“αŸƒαžŸαž˜αŸ’αž—αžΆαžšαŸˆαž§αž‘αžΆαž αžšαžŽαŸαŸ” αž“αŸαŸ‡.

αž“αž·αž™αžΆαž™αž’αž‰αŸ’αž…αžΉαž„αžαžΎ NoSQL αž‡αžΆαž’αŸ’αžœαžΈ?

"αžœαžΆαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαžŸαž„αŸ’αž€αžαŸ‹αž’αŸ’αž„αž“αŸ‹αž˜αŸ’αžαž„αž‘αŸ€αžαžαžΆαž–αžΆαž€αŸ’αž™ "NoSQL" αž˜αžΆαž“αž”αŸ’αžšαž—αž–αžŠαžΎαž˜αžŠαŸ„αž™αž―αž€αž―αž„αž αžΎαž™αž˜αž·αž“αž˜αžΆαž“αž“αž·αž™αž˜αž“αŸαž™αžŠαŸ‚αž›αž‘αž‘αž½αž›αž™αž€αž‡αžΆαž‘αžΌαž‘αŸ…αž¬αžŸαŸ’αžαžΆαž”αŸαž“αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αžœαžΆαž‘αŸαŸ” αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαŸ” αž’αžαŸ’αžαž”αž‘ αž“αŸ…αž›αžΎ Habr αŸ”

αž‡αžΆαž€αžΆαžšαž–αž·αž αž˜αž“αž»αžŸαŸ’αžŸαž”αžΆαž“αžŠαžΉαž„αžαžΆαž‚αŸ†αžšαžΌαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž–αŸαž‰αž›αŸαž‰αž‚αžΊαž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“ αž‡αžΆαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž§αž‘αžΆαž αžšαžŽαŸ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹ αž αžΎαž™αžŸαŸ†αžŽαž½αžšαžŸαžΆαž˜αž‰αŸ’αž‰αž˜αž½αž™αž…αŸ†αž“αž½αž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹ - αžŠαŸ‚αž›αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‚αžŽαž“αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αž αžΎαž™αžŸαžšαžŸαŸαžšαžœαžΆαž‘αŸ… αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž αžΎαž™αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž‚αžΊαž‘αžΆαž€αŸ‹αž‘αž„αž‚αŸ’αž“αžΆαž”αžΆαž“αž”αŸ’αžšαŸ‚αž€αŸ’αž›αžΆαž™αžαžΆαž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž”αž„αŸ’αž€αž‚αŸ’αžšαŸ„αŸ‡αžαŸ’αž“αžΆαž€αŸ‹αž•αž„αžŠαŸ‚αžš - αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž’αŸ’αžœαžΎαž±αŸ’αž™αž’αŸ’αžœαžΈαž˜αž½αž™αž˜αžΆαž“αž›αž€αŸ’αžαžŽαŸˆαž’αž˜αŸ’αž˜αžαžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαž“αžΉαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžαžΌαž…αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αžΎαž„ (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž·αž…αŸ’αž…αž€αžΆαžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“) - αž•αž›αž·αžαž—αžΆαž–?

αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸαŸ‡αž•αž„αžŠαŸ‚αžš αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαžŠαŸ‚αž›αž’αžΆαž…αž”αžαŸ‹αž”αŸ‚αž“αž”αžΆαž“αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαžΌαžœαž€αžΆαžšαž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž‚αžŽαž·αžαžœαž·αž‘αŸ’αž™αžΆαžαŸαžšαž“αŸƒαž‚αŸ†αžšαžΌαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž”αž»αžšαžΆαžŽ - αž αžΎαž™αž“αŸαŸ‡αž‡αž½αž™αžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž αžΎαž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αž‘αŸ’αž’αž•αž› αž¬αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ αž“αž·αž„αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αŸ” αž˜αž·αž“αžŸαžΌαžœαžŸαŸ†αžαžΆαž“αŸ‹αž‘αŸαŸ”

αž§αž‘αžΆαž αžšαžŽαŸ αž™αžΎαž„αž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž’αŸ’αž“αž€αž‡αŸ†αž“αžΆαž‰ αž αžΎαž™αž…αž„αŸ‹αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž–αŸαžαŸŒαž˜αžΆαž“αž“αŸ…αž›αžΎαžŠαŸ‚αž“αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αŸαžαŸŒαž˜αžΆαž“αž˜αŸαžαžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“ - αž™αžΎαž„αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αžŸαŸ’αž‚αžΆαž›αŸ‹αžœαžΆαž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αž αžΎαž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ 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 αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž‡αžΆαž˜αž½αž™αžœαžΆαž‡αžΆαž‘αžΌαž‘αŸ… - αžœαžΆαž‡αžΆαž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž αžΎαž™αž˜αž·αž“αž˜αŸ‚αž“αž’αŸ†αž–αžΈαžŸαŸ†αžŽαž½αžšαž’αŸ’αžœαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™

  • Pandas αž‚αžΊαž‡αžΆαž€αžΆαŸ†αž”αž·αžαžšαž”αžŸαŸ‹αž€αž„αž‘αŸαž–αžŸαŸ’αžœαžΈαžŸαž“αŸƒαžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™ αž”αžšαž·αž˜αžΆαžŽαžŠαŸαž…αŸ’αžšαžΎαž“αž“αŸƒαž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αž‡αžΆαžŠαžΎαž˜αŸ”
  • αž›αŸαž - αž€αžΆαžšαž‚αžŽαž“αžΆαžœαŸ‰αž·αž…αž‘αŸαžš αž˜αŸ‰αžΆαž‘αŸ’αžšαžΈαžŸ αž“αž·αž„αž–αž·αž‡αž‚αžŽαž·αžαž›αžΈαž“αŸαž’αŸŠαŸ‚αžšαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ”
  • 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()

αž€αž“αŸ’αž›αŸ‚αž„αžŽαžΆαž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αžΆαž“

αž“αŸ…αž›αžΎ Python αžαŸ’αž›αž½αž“αžœαžΆαž‡αžΆαž‘αžΌαž‘αŸ… αž˜αž·αž“β€‹αž˜αŸ‚αž“β€‹αž‡αžΆβ€‹αž”αž‰αŸ’αž αžΆ αžŸαŸ’αžœαŸ‚αž„αžšαž€αžŸαž˜αŸ’αž—αžΆαžšαŸˆαžŸαž·αž€αŸ’αžŸαžΆαŸ” αž˜αžΆαž“αž€αžΆαžšαž”αž„αŸ’αžšαŸ€αž“αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž αžαŸ’αž›αžΆαžƒαŸ’αž˜αž»αŸ†αž•αŸαž“αžŠαžΆ, pySpark αž“αž·αž„αžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆαž“αŸ…αž›αžΎ Spark (αž“αž·αž„αžŠαŸ„αž™αžαŸ’αž›αž½αž“αžœαžΆαž•αŸ’αž‘αžΆαž›αŸ‹ DS) αžŸαžšαž»αž”αž˜αž€ αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž“αŸ…αž‘αžΈαž“αŸαŸ‡αž‚αžΊαž›αŸ’αž’αžŽαžΆαžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸ’αž‚αžΌαž αŸ’αž‚αž› αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž€αž‰αŸ’αž…αž”αŸ‹αž˜αž½αž™αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αžαŸ„αžαž›αžΎ αž“αŸ„αŸ‡αžœαžΆαž“αžΉαž„αž‡αžΆαžαŸ’αž›αžΆαžƒαŸ’αž˜αž»αŸ†αž•αŸαž“αžŠαžΆαŸ” αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αŸƒαžŸαž˜αŸ’αž—αžΆαžšαŸˆ DS + Python αž•αž„αžŠαŸ‚αžšαŸ” αž…αŸ’αžšαžΎαž“αŸ”.

αžŸαŸ‚αž›αž‡αžΆαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžš

αž‚αž˜αŸ’αžšαŸ„αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αžœαž·αž—αžΆαž‚αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ αžαžΆαž˜αž–αž·αžαž‘αŸ… αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŸαŸ‚αž› αžŠαŸ‚αž›αž αŸ…αž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„ Python, Java αž“αž·αž„αžŸαŸ‚αž›αž”αž‰αŸ’αž‡αžΆαžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž‡αžΆαž‘αžΌαž‘αŸ… αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž…αžΆαžšαžŽαžΆαž”αŸ†αž–αž„αŸ‹αž”αž„αŸ’αž αžΌαžšαž”αŸ’αžšαŸαž„αž€αŸ’αž“αž»αž„ 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 (αžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸαžŠαŸ†αž”αžΌαž„) αž“αŸ…αž€αŸ’αž“αž»αž„ Python
  • αžαžΆαž„αž€αŸ’αž“αž»αž„ αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αžšαŸ„αž™αž‚αžΊαž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžšαžŠαŸ’αž‹αžŸαžΆαž˜αž‰αŸ’αž‰αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž›αž‘αŸ’αž’αž•αž› 

αžŸαžšαž»αž”αž˜αž€ αž”αŸ†αž–αž„αŸ‹αžŸαŸ’αž˜αž»αž‚αŸ’αžšαžŸαŸ’αž˜αžΆαž‰αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž›αŸ†αž αžΌαžšαž›αžΎαž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ† (0.5TB) αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž’αž“αž’αžΆαž“αžŸαŸ†αžαžΆαž“αŸ‹αŸ— αž“αž·αž„αž•αž›αž·αžαž…αŸαž‰αž–αžΈαž”αŸ†αž–αž„αŸ‹αž’αž˜αŸ’αž˜αžαžΆ αž“αž·αž„αž§αž”αž€αžšαžŽαŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ”

αž‚αž“αŸ’αž›αžΉαŸ‡αžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž‘αŸ€αžαŸ– αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αž›αŸ’αž’ αž“αž·αž„αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αžΈαž™ αž“αž·αž„αžŸαžšαžŸαŸαžš bash/zsh/etc αŸ”

αžαžΎαžœαžΆαž“αžΉαž„αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸ…αž―αžŽαžΆ? αž”αžΆαž‘ / αž…αžΆαžŸαžŸαŸ’αž‘αžΎαžšαžαŸ‚αž‚αŸ’αžšαž”αŸ‹αž‘αžΈαž€αž“αŸ’αž›αŸ‚αž„ - αž‡αžΆαžαŸ’αž˜αžΈαž˜αŸ’αžαž„αž‘αŸ€αžαž˜αžΆαž“αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž·αž€αŸ’αžŸαžΆαž“αŸ…αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαŸ” αž‡αžΆαž–αž·αžŸαŸαžŸαž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž“αŸαŸ‡ αž’αžαŸ’αžαž”αž‘αž˜αž»αž“αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ”

αž€αžΆαžšαžŸαžšαžŸαŸαžšαž’αž€αŸ’αžŸαžš R

αž‡αžΆαžαŸ’αž˜αžΈαž˜αŸ’αžαž„αž‘αŸ€αž αž’αŸ’αž“αž€αž’αžΆαž“αž’αžΆαž…αž§αž‘αžΆαž“ - αž”αžΆαž‘ αž“αŸαŸ‡αž‡αžΆαž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΆαŸ†αž„αž˜αžΌαž›! αž αžΎαž™αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹αž‚αžΆαžαŸ‹αž“αžΉαž„αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžαŸ’αž‰αž»αŸ†αž‡αž½αž” 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 αž“αžΉαž„αž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžŸαŸŠαžΆαŸ† αž“αž·αž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αŸ”

αž˜αžΆαž“αž”αŸ’αžšαž—αž–αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαžŸαž·αž€αŸ’αžŸαžΆ αž§αž‘αžΆαž αžšαžŽαŸαŸ– αž“αŸαŸ‡.

αž€αŸ’αžšαžΆαž αŸ’αžœαž…αŸ†αžŽαŸαŸ‡αžŠαžΉαž„

αž“αŸ…αž‘αžΈαž“αŸαŸ‡αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž˜αž·αž“αž’αž˜αŸ’αž˜αžαžΆαž”αž“αŸ’αžαž·αž… αž–αŸ’αžšαŸ„αŸ‡αžαŸ’αž‰αž»αŸ†αž…αŸ’αžšαžΎαž“αžαŸ‚αžαŸ’αžšαžΌαžœαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αŸ’αžšαžΆαž αŸ’αžœαž…αŸ†αžŽαŸαŸ‡αžŠαžΉαž„ αž“αž·αž„αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαžΆαž αŸ’αžœαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αžŸαžΌαž˜β€‹αž“αž·αž™αžΆαž™β€‹αžŠαŸ„αž™β€‹αžŸαž„αŸ’αžαŸαž”β€‹αž’αŸ†αž–αžΈβ€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αž–αŸ’αžšαŸ„αŸ‡β€‹αž•αŸ’αž“αŸ‚αž€β€‹αž“αŸαŸ‡β€‹αž€αž˜αŸ’αžšβ€‹αž”αŸ’αž›αŸ‚αž€β€‹αž‡αžΆαž„β€‹αž“αŸαŸ‡β€‹αž”αž“αŸ’αžαž·αž…αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž”αž»αžšαžΆαžŽ αž™αžΎαž„αž˜αžΆαž“αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαžαŸαžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž‚αžΊαž’αžΆαž…αž”αžαŸ‹αž”αŸ‚αž“αž”αžΆαž“ αž€αžΆαžšαž–αŸ’αž™αžΆαž€αžšαžŽαŸαž“αžΈαž˜αž½αž™αŸ—αž–αž·αžαž‡αžΆ "αž‡αž½αžšαžˆαžš" αž“αž·αž„αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ”

αžŸαŸ’αžšαž˜αŸƒαžαžΆαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž™αž€αž‚αŸ†αžšαžΌαžαžΆαž˜αž˜αž“αž»αžŸαŸ’αžŸαž˜αŸ’αž“αžΆαž€αŸ‹ αž αžΎαž™αž…αž„αŸ‹αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαžšαžΏαž„αžŸαŸ†αžαžΆαž“αŸ‹αŸ— αž§αž‘αžΆαž αžšαžŽαŸ αž…αžΌαžšαž™αžΎαž„αž™αž€αž˜αž“αž»αžŸαŸ’αžŸαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αž‚αžΊ Douglas Adams αž αžΎαž™αž”αŸ’αžšαžΎαž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸαŸ‡αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ”

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™
www.wikidata.org/wiki/Q42

αž”αŸ’αžšαžŸαž·αž“αž”αžΎβ€‹αž™αžΎαž„β€‹αž”αŸ’αžšαžΎβ€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αžŠαŸ‚αž›β€‹αž‘αžΆαž€αŸ‹αž‘αž„β€‹αž‚αŸ’αž“αžΆ αž™αžΎαž„β€‹αž“αžΉαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αž„αŸ’αž€αžΎαžβ€‹αžαžΆαžšαžΆαž„ αž¬β€‹αžαžΆαžšαžΆαž„β€‹αžŠαŸβ€‹αž’αŸ†β€‹αž˜αž½αž™β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž…αŸ†αž“αž½αž“β€‹αž‡αž½αžšβ€‹αžˆαžšβ€‹αžŠαŸβ€‹αž…αŸ’αžšαžΎαž“ αžŠαŸ‚αž›β€‹αž—αžΆαž‚β€‹αž…αŸ’αžšαžΎαž“β€‹αž‡αžΆ NULL αž¬β€‹αž”αŸ†αž–αŸαž‰β€‹αžŠαŸ„αž™β€‹αžαž˜αŸ’αž›αŸƒβ€‹αž˜αž·αž“β€‹αž–αž·αžβ€‹αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜β€‹αž˜αž½αž™β€‹αž…αŸ†αž“αž½αž“ αž‡αžΆβ€‹αž§αž‘αžΆαž αžšαžŽαŸ αžœαžΆβ€‹αž˜αž·αž“β€‹αž‘αŸ†αž“αž„β€‹αžαžΆβ€‹αž™αžΎαž„β€‹αž‡αžΆβ€‹αž…αŸ’αžšαžΎαž“β€‹αž˜αžΆαž“ αž’αžΆαžαž»αž…αžΌαž›αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž‡αžΆαžαž·αž€αžΌαžšαŸ‰αŸ - αž‡αžΆαž€αžΆαžšαž–αž·αžαžŽαžΆαžŸαŸ‹ αž™αžΎαž„αž’αžΆαž…αžŠαžΆαž€αŸ‹αž–αž½αž€αžœαžΆαž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αŸαŸ‡αž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‡αžΆαž€αžΆαžšαž”αŸ‰αž»αž“αž”αŸ‰αž„αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌαžŸαŸ€αž‚αŸ’αžœαžΈαž‘αžΌαž‡αžΈαžαž›αžŠαŸ‚αž›αž’αžΆαž…αž”αžαŸ‹αž”αŸ‚αž“αž”αžΆαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‘αžŸαŸ’αžŸαž“αŸαž‘αžΆαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžαŸαžšαž˜αž½αž™αŸ”

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™
αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžŸαŸ’αžšαž˜αŸƒαžαžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‡αžΆαž€αŸ’αžšαžΆαž αŸ’αžœ αž¬αž‡αžΆαž€αž“αŸ’αžŸαŸ„αž˜ binary αž“αž·αž„ unary αŸ”

αžαžΎαž’αŸ’αž“αž€αž’αžΆαž…αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡αžšαžΏαž„αž“αŸαŸ‡αž“αŸ…αž―αžŽαžΆ? αž‘αžΈαž˜αž½αž™αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ αž‘αž·αž“αŸ’αž“αž“αŸαž™αžœαžΈαž‚αžΈαž“αž·αž„αž‡αžΆαž˜αž½αž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αžšαžΆαž αŸ’αžœ αž¬αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžαž—αŸ’αž‡αžΆαž”αŸ‹αŸ”

αžαžΆαž„β€‹αž€αŸ’αžšαŸ„αž˜β€‹αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αž‡αžΆβ€‹αž—αžΆαžŸαžΆβ€‹αžŸαŸ†αžŽαž½αžšβ€‹αž…αž˜αŸ’αž”αž„β€‹αžŠαŸ‚αž›β€‹αžαŸ’αž‰αž»αŸ†β€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αž“αž·αž„β€‹αž’αŸ’αžœαžΎβ€‹αž€αžΆαžšβ€‹αž‡αžΆαž˜αž½αž™αŸ”

SPARQL

αžœαžΈαž‚αžΈ:
SPARQL (αž’αž€αŸ’αžŸαžšαž€αžΆαžαŸ‹ recursive αž–αžΈ αž’αŸαž„αŸ” αž–αž·αž’αžΈαžŸαžΆαžš SPARQL αž“αž·αž„αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžš RDF) - αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ†αžŽαžΆαž„αžŠαŸ„αž™αž‚αŸ†αžšαžΌ RDF, αž€αŸαžŠαžΌαž…αž‡αžΆ αž–αž·αž’αžΈαž€αžΆαžš αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž‡αžΌαž“αžŸαŸ†αžŽαžΎαž‘αžΆαŸ†αž„αž“αŸαŸ‡ αž“αž·αž„αž†αŸ’αž›αžΎαž™αžαž”αž‘αŸ…αž–αž½αž€αž‚αŸαŸ” SPARQL αž‚αžΊαž‡αžΆαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ W3C αž“αž·αž„αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ αž”αžŽαŸ’αžαžΆαž‰αž“αŸαž™αžœαž·αž‘αŸ’αž™αžΆ.

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαžΆαž˜αž–αž·αž αžœαžΆαž‚αžΊαž‡αžΆαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆ unary αž“αž·αž„ binary predicates αŸ” αž’αŸ’αž“αž€αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαžΆαž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒαžαžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αž½αžŸαž‡αž»αž›αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž“αŸ’αžŸαŸ„αž˜ Boolean αž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“ (αžŸαžΆαž˜αž‰αŸ’αž‰αžŽαžΆαžŸαŸ‹)αŸ”

αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ 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 αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ pythonαŸ–

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™

αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆ αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž’αžΆαž“ SPARQL αž‡αžΆαž‡αžΆαž„αžŸαžšαžŸαŸαžšαžœαžΆ - αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸ„αŸ‡ αžœαžΆαž‘αŸ†αž“αž„αž‡αžΆαž‡αŸ†αž“αžΆαž‰αžŠαŸαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž™αž›αŸ‹αž—αžΆαžŸαžΆαž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αžšαž·αžαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αž…αŸ’αž”αžΆαžŸαŸ‹αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž‰αž™αž€αŸ” 

αž˜αžΆαž“αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž·αž€αŸ’αžŸαžΆαžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαŸ– αž§αž‘αžΆαž αžšαžŽαŸαž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž“αŸαŸ‡ ΠΈ αž“αŸαŸ‡. αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžαŸ’αž‰αž»αŸ† google αž€αžΆαžšαžšαž…αž“αžΆ αž“αž·αž„αž§αž‘αžΆαž αžšαžŽαŸαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž αžΎαž™αžœαžΆαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαž›αž“αŸαŸ‡αŸ”

αž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αžΌαž‡αžΈαžαž›

αž’αŸ’αž“αž€αž’αžΆαž…αž’αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž›αžΎαž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž“αŸ…αž‘αžΈαž“αŸαŸ‡. αž αžΎαž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž™αžΎαž„αž“αžΉαž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž™αŸ‰αžΆαž„αžαŸ’αž›αžΈαžαžΆαž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž—αžΆαžŸαžΆαž‘αžΌαž‡αžΈαžαž›αž‚αžΊαžŸαž˜αž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžšαžŸαŸαžšαžŸαŸ†αžŽαž½αžšαŸ” αžŸαŸ†αžαžΆαž“αŸ‹ RDF αž‚αžΊαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαžŸαŸαž…αž€αŸ’αžαžΈαžαŸ’αž›αŸ‚αž„αž€αžΆαžšαžŽαŸαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž“αŸƒαž‘αž˜αŸ’αžšαž„αŸ‹ p(X) αž“αž·αž„ h(X,Y) αž αžΎαž™αžŸαŸ†αžŽαž½αžšαž‘αžΌαž‡αžΈαžαž›αž˜αžΆαž“αž‘αž˜αŸ’αžšαž„αŸ‹αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

output(X) :- country(X), member_of(X,β€œEU”).

αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„αž€αŸ†αž–αž»αž„αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž›αž‘αŸ’αž’αž•αž›αž–αŸ’αž™αžΆαž€αžšαžŽαŸαžαŸ’αž˜αžΈ / 1 (/1 αž˜αžΆαž“αž“αŸαž™αžαžΆ unary) αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ X αžœαžΆαž‡αžΆαž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αž”αŸ’αžšαž‘αŸαžŸ (X) - αž–αŸ„αž›αž‚αžΊ X αž‚αžΊαž‡αžΆαž”αŸ’αžšαž‘αŸαžŸαž˜αž½αž™ αž αžΎαž™αž€αŸαž‡αžΆαžŸαž˜αžΆαž‡αž·αž€αž“αŸƒ (X "EU") αž•αž„αžŠαŸ‚αžšαŸ”

αž“αŸ„αŸ‡αž‚αžΊαž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ αž‘αžΆαŸ†αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αžαžΆαž˜αžšαž”αŸ€αž”αžŠαžΌαž…αž‚αŸ’αž“αžΆ αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌαž”αž‰αŸ’αž αžΆαž”αžΆαž“αž™αŸ‰αžΆαž„αž„αžΆαž™ αž“αž·αž„αž›αŸ’αž’αŸ”

αžαžΎαž’αŸ’αž“αž€αž”αžΆαž“αž‡αž½αž”αž“αŸ…αž―αžŽαžΆαž€αŸ’αž“αž»αž„αž§αžŸαŸ’αžŸαžΆαž αž€αž˜αŸ’αž˜αž“αŸαŸ‡?αŸ– αž‚αž˜αŸ’αžšαŸ„αž„αž’αŸ†αž‘αžΆαŸ†αž„αž˜αžΌαž›αž‡αžΆαž˜αž½αž™αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“αžŠαŸ‚αž›αžŸαžšαžŸαŸαžšαžŸαŸ†αžŽαž½αžšαž‡αžΆαž—αžΆαžŸαžΆαž”αŸ‚αž”αž“αŸαŸ‡ αž€αŸαžŠαžΌαž…αž‡αžΆαž‚αž˜αŸ’αžšαŸ„αž„αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αž“αžΌαž›αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’ - αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžαžΆαž“αŸαŸ‡αž‡αžΆαžšαžΏαž„αž€αž˜αŸ’αžšαž“αž·αž„αž’αžŸαž€αž˜αŸ’αž˜ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αŸαž›αžαŸ’αž›αŸ‡αžœαžΆαž€αžΎαžαž‘αžΎαž„αŸ”

αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž”αŸ†αžŽαŸ‚αž€αž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„ wikidata αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž—αžΆαžŸαžΆαž‘αžΌαž‡αžΈαžαž›αŸ–

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™

αžŸαž˜αŸ’αž—αžΆαžšαŸˆαŸ– αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž“αžΌαžœαžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αž–αžΈαžšαž”αžΈαž‘αŸ…αž—αžΆαžŸαžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΌαž‡αžΈαžαž›αž‘αŸ†αž“αžΎαž” αž…αž˜αŸ’αž›αžΎαž™αž€αŸ†αžŽαžαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ - αžαŸ’αž‰αž»αŸ†αžŸαžΌαž˜αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αžŸαž·αž€αŸ’αžŸαžΆαžœαžΆαŸ–

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž‘αŸ’αž™αžΆαžŸαžΆαžŸαŸ’αžαŸ’αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž‘αžΎαž„αžœαž·αž‰αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸƒαž—αžΆαžŸαžΆαžŸαŸ†αžŽαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹