αž…αŸ†αžŽαžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹ Amazon Neptune

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

αž…αŸ†αžŽαžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹ Amazon Neptune

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

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžš Amazon Neptune

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

αžŸαŸ†αžŽαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™ MusicBrainz αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž‡αžΆαž―αž€αžŸαžΆαžš CSV αž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αŸ” αžŸαžšαž»αž”αž˜αž€ αž€αž“αŸ’αž›αŸ‚αž„αž…αžΆαž€αŸ‹αžŸαŸ†αžšαžΆαž˜αž˜αžΆαž“αž”αŸ’αžšαž αŸ‚αž› 93 αž›αžΆαž“αž‡αž½αžšαž€αŸ’αž“αž»αž„ 157 αžαž»αŸ” αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αžαžΆαžšαžΆαž„αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž˜αž½αž™αž…αŸ†αž“αž½αž“αž˜αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŠαžΌαž…αž‡αžΆαžŸαž·αž›αŸ’αž”αž€αžš αž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸ αž€αžΆαžšαžαž αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ αž¬αž”αž‘αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αžαžΆαžšαžΆαž„αžαŸ†αžŽ β€” αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžšαžœαžΆαž„αžŸαž·αž›αŸ’αž”αž€αžš αž“αž·αž„αž€αžΆαžšαžαžαžŸαŸ†αž‘αŸαž„ αžŸαž·αž›αŸ’αž”αž€αžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž¬αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαžŠαžΎαž˜... αž–αž½αž€αž‚αŸαž”αž„αŸ’αž αžΆαž‰αž–αžΈαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αŸ’αžšαžΆαž αŸ’αžœαž“αŸƒαžŸαŸ†αžŽαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž“αŸ…αž–αŸαž›αž”αŸ†αž”αŸ’αž›αŸ‚αž„αžŸαŸ†αžŽαž»αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž‡αžΆαž”αžΈαžŠαž„ RDF αž™αžΎαž„αž‘αž‘αž½αž›αž”αžΆαž“αž”αŸ’αžšαž αŸ‚αž› 500 αž›αžΆαž“αž€αžšαžŽαžΈαŸ”

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

αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœ

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

αž…αŸ†αžŽαžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŠαŸ†αž”αžΌαž„αžšαž”αžŸαŸ‹ Amazon Neptune
αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαžΌαž”αžαžαž’αŸαž€αŸ’αžšαž„αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαž»αž˜αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžš

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

αž€αŸ†αž–αž»αž„αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™

αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž™αžΎαž„αž“αžΉαž„αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž›αž˜αŸ’αž’αž·αžαž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž™αžΎαž„αž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ MusicBrainz αž‘αŸ…αž€αŸ’αž“αž»αž„ Neptune αŸ”

αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž‡αžΆαž”αžΈ

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

<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/gid> "${gid}"^^<http://www.w3.org/2001/XMLSchema#string> .
 
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/name> "${name}"^^<http://www.w3.org/2001/XMLSchema#string> .
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/sort-name> "${sort_name}"^^<http://www.w3.org/2001/XMLSchema#string> .
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/begin-date> "${begin_date_year}-${begin_date_month}-${begin_date_day}"^^xsd:<http://www.w3.org/2001/XMLSchema#date> .
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/end-date> "${end_date_year}-${end_date_month}-${end_date_day}"^^xsd:<http://www.w3.org/2001/XMLSchema#date> .
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/type> <http://musicbrainz.foo/artist-type/${type}> .
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/area> <http://musicbrainz.foo/area/${area}> .
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/gender> <http://musicbrainz.foo/gender/${gender}> .
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/comment> "${comment}"^^<http://www.w3.org/2001/XMLSchema#string> .
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/edits-pending> "${edits_pending}"^^<http://www.w3.org/2001/XMLSchema#int> .
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/last-updated> "${last_updated}"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
 
<http://musicbrainz.foo/artist/${id}> <http://musicbrainz.foo/ended> "${ended}"^^<http://www.w3.org/2001/XMLSchema#boolean> .

αž•αŸ’αž‘αž»αž€αž‘αžΎαž„αž…αŸ’αžšαžΎαž“αŸ”

αž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž™αŸ‰αžΆαž„αž…αŸ’αžšαžΎαž“αž‘αŸ…αž€αŸ’αž“αž»αž„ Neptune αž‚αžΊαžαžΆαž˜αžšαž™αŸˆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αŸ’αžšαžΎαž“αžαžΆαž˜αžšαž™αŸˆ S3αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž”αž„αŸ’αž αŸ„αŸ‡αž―αž€αžŸαžΆαžšαž”αžΈαžŠαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‘αŸ… S3 αž’αŸ’αž“αž€αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαŸ†αžŽαžΎ POST αŸ” αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžšαž”αžŸαŸ‹αž™αžΎαž„ αžœαžΆαžαŸ’αžšαžΌαžœαž…αŸ†αžŽαžΆαž™αž–αŸαž›αž”αŸ’αžšαž αŸ‚αž› 24 αž˜αŸ‰αŸ„αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ 500 αž›αžΆαž“αž”αžΈαžŠαž„αŸ” αž™αžΎαž„αžšαŸ†αž–αžΉαž„αžαžΆαžœαžΆαž“αžΉαž„αž›αžΏαž“αž‡αžΆαž„αž˜αž»αž“αŸ”

curl -X POST -H 'Content-Type: application/json' http://your-neptune-cluster:8182/loader -d '{
 
 
 "source" : "s3://your-s3-bucket",
 
 "format" : "ntriples",
 
 "iamRoleArn" : "arn:aws:iam::your-iam-user:role/NeptuneLoadFromS3",
 
 "region" : "eu-west-1",
 
 "failOnError" : "FALSE"
 
}'

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

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

{
 
 
 "errorCode" : "PARSING_ERROR",
 
 "errorMessage" : "Content after '.' is not allowed",
 
 "fileName" : [...],
 
 "recordNum" : 25
 
}

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

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

αž€αžΆαžšαž‘αžΆαž‰αž™αž€αžŸαŸ’αž‘αŸ’αžšαžΈαž˜

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

Neptune αž‚αžΆαŸ†αž‘αŸ’αžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž”αž‰αŸ’αž…αžΌαž›αžαžΆαž˜αžšαž™αŸˆαžŸαŸ†αžŽαž½αžš SPARQL αž‘αžΆαŸ†αž„αž†αŸ… αž“αž·αž„αž‚αŸ†αžšαžΌαž•αŸ’αž’αŸ‚αž€αž›αžΎαŸ” αž™αžΎαž„αž“αžΉαž„αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž’αŸ†αž–αžΈαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž‘αžΆαŸ†αž„αž–αžΈαžšαžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ”

αž‚αŸ„αž›αžŠαŸ…αž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž‚αŸ„αž›αžŠαŸ…αžšαž”αžŸαŸ‹αž™αžΎαž„αž‚αžΊαž”αž‰αŸ’αž…αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžŽαŸˆαžŸαŸ’αž‘αŸ’αžšαžΈαž˜αŸ” αž–αž·αž…αžΆαžšαžŽαžΆβ€‹αž…αŸαž‰β€‹αž’αžΆαž›αŸ‹αž”αŸŠαž»αž˜β€‹αž€αŸ’αž“αž»αž„β€‹αž”αŸ’αžšαž‘αŸαžŸβ€‹αžαŸ’αž˜αžΈαŸ” αžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαžšαž”αžŸαŸ‹ MusicBrainz αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž’αžΆαž›αŸ‹αž”αŸŠαž»αž˜ αž”αž‘αž…αž˜αŸ’αžšαŸ€αž„ EPs αž‡αžΆαžŠαžΎαž˜αŸ” αž’αžΆαžαž»αžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αŸ” αž”αŸ’αžšαž‘αŸαžŸαžŠαŸ„αŸ‡αž›αŸ‚αž„. αž“αŸ…αž€αŸ’αž“αž»αž„ RDF αž™αžΎαž„αž•αŸ’αž‚αžΌαž•αŸ’αž‚αž„αž–αŸαžαŸŒαž˜αžΆαž“αž“αŸαŸ‡αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αžΈαžŠαž„αžαŸ’αž˜αžΈαŸ”

INSERT DATA { <http://musicbrainz.foo/release-country/737041> <http://musicbrainz.foo/release> <http://musicbrainz.foo/release/435759> };INSERT DATA { <http://musicbrainz.foo/release-country/737041> <http://musicbrainz.foo/date-year> "2018"^^<http://www.w3.org/2001/XMLSchema#int> };

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

INSERT {
 
 
  ?artist_credit <http://musicbrainz.foo/number-of-releases> ?number_of_releases
 
} WHERE {
 
  SELECT ?artist_credit (COUNT(*) as ?number_of_releases)
 
  WHERE {
 
     ?artist_credit <http://musicbrainz.foo/rdftype> <http://musicbrainz.foo/artist-credit> .
 
     ?release_group <http://musicbrainz.foo/artist-credit> ?artist_credit .
 
     ?release_group <http://musicbrainz.foo/rdftype> <http://musicbrainz.foo/release-group> .
 
     ?release_group <http://musicbrainz.foo/name> ?release_group_name .
 
  }
 
  GROUP BY ?artist_credit
 
}

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

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

αžŸαŸ†αžŽαž½αžš SPARQL

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

curl -X POST --data-binary 'query=SELECT ?artist ?p ?o where {?artist <http://musicbrainz.foo/name> "Elton John" . ?artist ?p ?o . }' http://your-neptune-cluster:8182/sparql

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

SELECT
 
 
 ?artist_name ?year
 
 ?releases_in_year ?releases_up_year
 
 ?artist_type_name ?releases
 
 ?artist_gender ?artist_country_name
 
 ?artist_begin_date ?bands
 
 ?bands_in_year
 
WHERE {
 
 # Bands for each artist
 
 {
 
   SELECT
 
     ?year
 
     ?first_artist
 
     (group_concat(DISTINCT ?second_artist_name;separator=",") as ?bands)
 
     (COUNT(DISTINCT ?second_artist_name) AS ?bands_in_year)     
 
   WHERE {
 
     VALUES ?year {
 
       1960 1961 1962 1963 1964 1965 1966 1967 1968 1969
 
       1970 1971 1972 1973 1974 1975 1976 1977 1978 1979
 
       1980 1981 1982 1983 1984 1985 1986 1987 1988 1989
 
       1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
 
       2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
 
       2010 2011 2012 2013 2014 2015 2016 2017 2018
 
     }   
 
     ?first_artist <http://musicbrainz.foo/name> "Elton John" .
 
     ?first_artist <http://musicbrainz.foo/rdftype> <http://musicbrainz.foo/artist> .
 
     ?first_artist <http://musicbrainz.foo/type> ?first_artist_type .
 
     ?first_artist <http://musicbrainz.foo/name> ?first_artist_name .
 

 
 
     ?second_artist <http://musicbrainz.foo/rdftype> <http://musicbrainz.foo/artist> .
 
     ?second_artist <http://musicbrainz.foo/type> ?second_artist_type .
 
     ?second_artist <http://musicbrainz.foo/name> ?second_artist_name .
 
     optional { ?second_artist <http://musicbrainz.foo/begin-date-year> ?second_artist_begin_date_year . }
 
     optional { ?second_artist <http://musicbrainz.foo/end-date-year> ?second_artist_end_date_year . }
 

 
 
     ?l_artist_artist <http://musicbrainz.foo/entity0> ?first_artist .
 
     ?l_artist_artist <http://musicbrainz.foo/entity1> ?second_artist .
 
     ?l_artist_artist <http://musicbrainz.foo/link> ?link .
 

 
 
     optional { ?link <http://musicbrainz.foo/begin-date-year> ?link_begin_date_year . }
 
     optional { ?link <http://musicbrainz.foo/end-date-year> ?link_end_date_year . }
 

 
 
     FILTER (!bound(?link_begin_date_year) || ?link_begin_date_year <= ?year)
 
     FILTER (!bound(?link_end_date_year) || ?link_end_date_year >= ?year)
 
     FILTER (!bound(?second_artist_begin_date_year) || ?second_artist_begin_date_year <= ?year)
 
     FILTER (!bound(?second_artist_end_date_year) || ?second_artist_end_date_year >= ?year)
 
     FILTER (?first_artist_type NOT IN (<http://musicbrainz.foo/artist-type/2>, <http://musicbrainz.foo/artist-type/5>, <http://musicbrainz.foo/artist-type/6>))
 
     FILTER (?second_artist_type IN (<http://musicbrainz.foo/artist-type/2>, <http://musicbrainz.foo/artist-type/5>, <http://musicbrainz.foo/artist-type/6>))
 
   }
 
   GROUP BY ?first_artist ?year
 
 }
 
 # Releases up to a year
 
 {
 
   SELECT
 
     ?artist
 
     ?year
 
     (group_concat(DISTINCT ?release_name;separator=",") as ?releases)
 
     (COUNT(*) as ?releases_up_year)
 
   WHERE {
 
     VALUES ?year {
 
       1960 1961 1962 1963 1964 1965 1966 1967 1968 1969
 
       1970 1971 1972 1973 1974 1975 1976 1977 1978 1979
 
       1980 1981 1982 1983 1984 1985 1986 1987 1988 1989
 
       1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
 
       2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
 
       2010 2011 2012 2013 2014 2015 2016 2017 2018 
 
     }
 

 
 
     ?artist <http://musicbrainz.foo/name> "Elton John" .
 

 
 
     ?artist_credit_name <http://musicbrainz.foo/artist-credit> ?artist_credit .
 
     ?artist_credit_name <http://musicbrainz.foo/rdftype> <http://musicbrainz.foo/artist-credit-name> .
 
     ?artist_credit_name <http://musicbrainz.foo/artist> ?artist .
 
     ?artist_credit <http://musicbrainz.foo/rdftype> <http://musicbrainz.foo/artist-credit> .
 

 
 
     ?release_group <http://musicbrainz.foo/artist-credit> ?artist_credit .
 
     ?release_group <http://musicbrainz.foo/rdftype> <http://musicbrainz.foo/release-group> .
 
     ?release_group <http://musicbrainz.foo/name> ?release_group_name .
 
     ?release <http://musicbrainz.foo/release-group> ?release_group .
 
     ?release <http://musicbrainz.foo/name> ?release_name .
 
     ?release_country <http://musicbrainz.foo/release> ?release .
 
     ?release_country <http://musicbrainz.foo/date-year> ?release_country_year .
 

 
 
     FILTER (?release_country_year <= ?year)
 
   }
 
   GROUP BY ?artist ?year
 
 }
 
 # Releases in a year
 
 {
 
   SELECT ?artist ?year (COUNT(*) as ?releases_in_year)
 
   WHERE {
 
     VALUES ?year {
 
       1960 1961 1962 1963 1964 1965 1966 1967 1968 1969
 
       1970 1971 1972 1973 1974 1975 1976 1977 1978 1979
 
       1980 1981 1982 1983 1984 1985 1986 1987 1988 1989
 
       1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
 
       2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
 
       2010 2011 2012 2013 2014 2015 2016 2017 2018 
 
     }
 

 
 
     ?artist <http://musicbrainz.foo/name> "Elton John" .
 

 
 
     ?artist_credit_name <http://musicbrainz.foo/artist-credit> ?artist_credit .
 
     ?artist_credit_name <http://musicbrainz.foo/rdftype> <http://musicbrainz.foo/artist-credit-name> .
 
     ?artist_credit_name <http://musicbrainz.foo/artist> ?artist .
 
     ?artist_credit <http://musicbrainz.foo/rdftype> <http://musicbrainz.foo/artist-credit> .
 

 
 
     ?release_group <http://musicbrainz.foo/artist-credit> ?artist_credit .
 
     ?release_group <http://musicbrainz.foo/rdftype> <http://musicbrainz.foo/release-group> .
 
     ?release_group <http://musicbrainz.foo/name> ?release_group_name .
 
     ?release <http://musicbrainz.foo/release-group> ?release_group .
 
     ?release_country <http://musicbrainz.foo/release> ?release .
 
     ?release_country <http://musicbrainz.foo/date-year> ?release_country_year .
 

 
 
     FILTER (?release_country_year = ?year)
 
   }
 
   GROUP BY ?artist ?year
 
 }
 
 # Master data
 
 {
 
   SELECT DISTINCT ?artist ?artist_name ?artist_gender ?artist_begin_date ?artist_country_name
 
   WHERE {
 
     ?artist <http://musicbrainz.foo/name> ?artist_name .
 
     ?artist <http://musicbrainz.foo/name> "Elton John" .
 
     ?artist <http://musicbrainz.foo/gender> ?artist_gender_id .
 
     ?artist_gender_id <http://musicbrainz.foo/name> ?artist_gender .
 
     ?artist <http://musicbrainz.foo/area> ?birth_area .
 
     ?artist <http://musicbrainz.foo/begin-date-year> ?artist_begin_date.
 
     ?birth_area <http://musicbrainz.foo/name> ?artist_country_name .
 

 
 
     FILTER(datatype(?artist_begin_date) = xsd:int)
 
   }

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

Neptune αž˜αžΆαž“αž€αžΆαžšαž‚αž·αžαžαŸ’αž›αŸƒαžšαŸ€αž„αžšαžΆαž›αŸ‹αž˜αŸ‰αŸ„αž„ αž“αž·αž„αž€αŸ’αž“αž»αž„αž˜αž½αž™ I/O αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžšαž”αžŸαŸ‹αž™αžΎαž„ αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΎαž§αž‘αžΆαž αžšαžŽαŸ Neptune αž’αž”αŸ’αž”αž”αžšαž˜αžΆαž‘αž‘αŸ αžŠαŸ‚αž›αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒ $0,384/αž˜αŸ‰αŸ„αž„αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸƒαžŸαŸ†αžŽαž½αžšαžαžΆαž„αž›αžΎ αžŠαŸ‚αž›αž‚αžŽαž“αžΆαž‘αž˜αŸ’αžšαž„αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αž€αžšαžαŸ‚αž˜αž½αž™ αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ Amazon αž‚αž·αžαžαŸ’αž›αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš I/O αžšαžΆαž”αŸ‹αž˜αŸ‰αžΊαž“αžŠαž»αž›αŸ’αž›αžΆαžš αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸαž™αžαžΆαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒ 0.02 αžŠαž»αž›αŸ’αž›αžΆαžšαŸ”

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

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

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

αž’αžŸαŸ‹αž αžΎαž™αŸ” αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ webinar αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαž›αžΎαž”αŸ’αžšαž’αžΆαž“αž”αž‘ "αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžαž»αž›αŸ’αž™αž—αžΆαž–".


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

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