ΠŸΡ€Π²ΠΈΡ‚Π΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ Амазон НСптун

ΠŸΠΎΠ·Π΄Ρ€Π°Π², ΠΆΠΈΡ‚Π΅Π»ΠΈ Π½Π° Π₯абровск. Π’ΠΎ прСсрСт Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚ Π½Π° курсот β€žAWS Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈβ€œ ΠŸΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΠ²ΠΌΠ΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° интСрСсСн ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π».

ΠŸΡ€Π²ΠΈΡ‚Π΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ Амазон НСптун

Π’ΠΎ ΠΌΠ½ΠΎΠ³Ρƒ случаи Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΡˆΡ‚ΠΎ Π½ΠΈ сС Π΄ΠΎΠΏΠ°Ρ“Π°Π°Ρ‚ Π±Π°ΠΊΠ΄Π°Ρ‚ΠšΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π° Π²Π΅Π±-Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ, Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ сС скриСни Π²ΠΎ врскитС ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ΠΈΡ‚Π΅, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ³Π° сС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π°Ρ‚ односитС ΠΌΠ΅Ρ“Ρƒ корисницитС, зависноститС ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ врскитС ΠΏΠΎΠΌΠ΅Ρ“Ρƒ сСнзоритС. Π’Π°ΠΊΠ²ΠΈΡ‚Π΅ случаи Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€Π°Π½ΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½. ΠŸΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ ΠΎΠ²Π°Π° Π³ΠΎΠ΄ΠΈΠ½Π°, Амазон ја објави ΡΠ²ΠΎΡ˜Π°Ρ‚Π° Π½ΠΎΠ²Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ, НСптун. Π’ΠΎ овој пост сакамС Π΄Π° Π³ΠΈ сподСлимС Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€Π²ΠΈ ΠΈΠ΄Π΅ΠΈ, Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΈ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ со Ρ‚Π΅ΠΊΠΎΡ‚ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ.

Π—ΠΎΡˆΡ‚ΠΎ Π½ΠΈ Ρ‚Ρ€Π΅Π±Π°ΡˆΠ΅ Амазон НСптун

Π‘Π°Π·ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ со Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ Π²Π΅Ρ‚ΡƒΠ²Π°Π°Ρ‚ Π΄Π΅ΠΊΠ° ќС сС справуваат со високо ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ мноТСства Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΎ ΠΎΠ΄ Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ рСлациски Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ΠΈ. Π’ΠΎ Ρ‚Π°ΠΊΠ²ΠΈΡ‚Π΅ Π·Π±ΠΈΡ€ΠΊΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±ΠΈΡ‡Π½ΠΎ сС складираат Π²ΠΎ односитС ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈΡ‚Π΅. ΠšΠΎΡ€ΠΈΡΡ‚ΠΈΠ²ΠΌΠ΅ Π½Π΅Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° Π΄Π° Π³ΠΎ тСстирамС НСптун MusicBrainz. MusicBrainz собира сСкаков Π²ΠΈΠ΄ ΠΌΡƒΠ·ΠΈΡ‡ΠΊΠΈ ΠΌΠ΅Ρ‚Π°ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС замисли, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π·Π° ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π°Ρ‡ΠΈ, пСсни, изданија Π½Π° Π°Π»Π±ΡƒΠΌΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ†Π΅Ρ€Ρ‚ΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ со ΠΊΠΎΠ³ΠΎ соработувал ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π°Ρ‡ΠΎΡ‚ Π·Π°Π΄ пСсната ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π° Π°Π»Π±ΡƒΠΌΠΎΡ‚ Π±ΠΈΠ» ΠΈΠ·Π΄Π°Π΄Π΅Π½ Π²ΠΎ која зСмја. MusicBrainz ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π³Π»Π΅Π΄Π° ΠΊΠ°ΠΊΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½Π° ΠΌΡ€Π΅ΠΆΠ° Π½Π° Π΅Π½Ρ‚ΠΈΡ‚Π΅Ρ‚ΠΈ ΠΊΠΎΠΈ сС Π½Π΅ΠΊΠ°ΠΊΠΎ ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΌΡƒΠ·ΠΈΡ‡ΠΊΠ°Ρ‚Π° ΠΈΠ½Π΄ΡƒΡΡ‚Ρ€ΠΈΡ˜Π°.

Π‘Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ MusicBrainz Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΠΊΠ°ΠΊΠΎ CSV дСпонија Π½Π° Ρ€Π΅Π»Π°Ρ†ΠΈΠΎΠ½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π’ΠΊΡƒΠΏΠ½ΠΎ, Π΄Π΅ΠΏΠΎΠ½ΠΈΡ˜Π°Ρ‚Π° содрТи ΠΎΠΊΠΎΠ»Ρƒ 93 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ Ρ€Π΅Π΄ΠΎΠ²ΠΈ Π²ΠΎ 157 Ρ‚Π°Π±Π΅Π»ΠΈ. Π”ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ Ρ‚Π°Π±Π΅Π»ΠΈ содрТат основни ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π°Ρ‡ΠΈ, настани, снимки, изданија ΠΈΠ»ΠΈ пСсни, Π΄Ρ€ΡƒΠ³ΠΈ Ρ‚Π°Π±Π΅Π»ΠΈ Π·Π° врски β€” Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅ Π½Π° односитС ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΡƒΠΌΠ΅Ρ‚Π½ΠΈΡ†ΠΈ ΠΈ снимки, Π΄Ρ€ΡƒΠ³ΠΈ ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π°Ρ‡ΠΈ ΠΈΠ»ΠΈ изданија, ΠΈΡ‚Π½... Π’ΠΈΠ΅ ја дСмонстрираат структурата Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΎΡ‚ Π½Π° мноТСството ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. ΠŸΡ€ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ RDF Ρ‚Ρ€ΠΎΡ˜ΠΊΠΈ, Π΄ΠΎΠ±ΠΈΠ²ΠΌΠ΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 500 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ.

Π’Ρ€Π· основа Π½Π° искуството ΠΈ Π²ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΈ со ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌΠ΅, прСтставувамС Π°ΠΌΠ±ΠΈΠ΅Π½Ρ‚ Π²ΠΎ кој ΠΎΠ²Π°Π° Π±Π°Π·Π° Π½Π° знаСњС сС користи Π·Π° добивањС Π½ΠΎΠ²ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ, ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°ΠΌΠ΅ Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎ Π΄Π° сС Π°ΠΆΡƒΡ€ΠΈΡ€Π°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ со додавањС Π½ΠΎΠ²ΠΈ изданија ΠΈΠ»ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ‡Π»Π΅Π½ΠΎΠ²ΠΈΡ‚Π΅ Π½Π° Π³Ρ€ΡƒΠΏΠ°Ρ‚Π°.

ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅

Како ΡˆΡ‚ΠΎ сС ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°ΡˆΠ΅, ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Амазон НСптун Π΅ Сдноставно. Π’Π°Π° Π΅ доста Π΄Π΅Ρ‚Π°Π»Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° стартуватС Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ со само Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ кликања. ΠœΠ΅Ρ“ΡƒΡ‚ΠΎΠ°, ΠΊΠΎΠ³Π° станува Π·Π±ΠΎΡ€ Π·Π° ΠΏΠΎΠ΄Π΅Ρ‚Π°Π»Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π° сС најдС. Π—Π°Ρ‚ΠΎΠ°, сакамС Π΄Π° ΡƒΠΊΠ°ΠΆΠ΅ΠΌΠ΅ Π½Π° Π΅Π΄Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°.

ΠŸΡ€Π²ΠΈΡ‚Π΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΡ†ΠΈ ΠΎΠ΄ Амазон НСптун
Π‘Π»ΠΈΠΊΠ° ΠΎΠ΄ Π΅ΠΊΡ€Π°Π½ΠΎΡ‚ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π·Π° Π³Ρ€ΡƒΠΏΠΈ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ

Амазон Π²Π΅Π»ΠΈ Π΄Π΅ΠΊΠ° НСптун сС фокусира Π½Π° трансакцискитС ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ° со ниска латСнтност, ΠΏΠΎΡ€Π°Π΄ΠΈ ΡˆΡ‚ΠΎ стандардниот истСк Π½Π° Π±Π°Ρ€Π°ΡšΠ΅Ρ‚ΠΎ Π΅ 120 сСкунди. Π‘Π΅ΠΏΠ°ΠΊ, тСстиравмС ΠΌΠ½ΠΎΠ³Ρƒ случаи Π½Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡ΠΊΠ° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π²ΠΎ ΠΊΠΎΠΈ Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎ ја достигнувавмС ΠΎΠ²Π°Π° Π³Ρ€Π°Π½ΠΈΡ†Π°. Овој истСк Π½Π° Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС смСни со создавањС Π½ΠΎΠ²Π° парамСтарска Π³Ρ€ΡƒΠΏΠ° Π·Π° НСптун ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ neptune_query_timeout соодвСтно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ΅.

Π‘Π΅ Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°Π°Ρ‚ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ

ΠŸΠΎΠ΄ΠΎΠ»Ρƒ ќС Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°ΠΌΠ΅ Π²ΠΎ Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΊΠ°ΠΊΠΎ Π³ΠΈ Π²Ρ‡ΠΈΡ‚Π°Π²ΠΌΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΎΠ΄ MusicBrainz Π²ΠΎ НСптун.

Врски Π²ΠΎ Ρ‚Ρ€ΠΎΡ˜Ρ†Π°

ΠŸΡ€Π²ΠΎ, Π³ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€Π°Π²ΠΌΠ΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΎΠ΄ 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> .

масовно ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сС Π²Ρ‡ΠΈΡ‚Π°Π°Ρ‚ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π²ΠΎ НСптун Π΅ ΠΏΡ€Π΅ΠΊΡƒ процСсот Π½Π° масовно ΠΈΡΠΏΡ€Π°ΡœΠ°ΡšΠ΅ ΠΏΡ€Π΅ΠΊΡƒ 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"
 
}'

Π—Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π±Π΅Π³Π½Π΅ΠΌΠ΅ овој Π΄ΠΎΠ»Π³ процСс сСкогаш ΠΊΠΎΠ³Π° ќС Π³ΠΎ лансирамС НСптун, Ρ€Π΅ΡˆΠΈΠ²ΠΌΠ΅ Π΄Π° Π³ΠΎ Π²Ρ€Π°Ρ‚ΠΈΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ‚ ΠΎΠ΄ снимката Π²ΠΎ која ΠΎΠ²ΠΈΠ΅ Ρ‚Ρ€ΠΎΡ˜ΠΊΠΈ вСќС Π±Π΅Π° Π²Ρ‡ΠΈΡ‚Π°Π½ΠΈ. Π˜Π·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ ΠΎΠ΄ снимка Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ±Ρ€Π·ΠΎ, Π½ΠΎ сСпак Ρ‚Ρ€Π°Π΅ ΠΎΠΊΠΎΠ»Ρƒ Π΅Π΄Π΅Π½ час Π΄ΠΎΠ΄Π΅ΠΊΠ° НСптун Π½Π΅ Π±ΠΈΠ΄Π΅ достапСн Π·Π° Π±Π°Ρ€Π°ΡšΠ°.

Кога ΠΏΡ€Π²ΠΈΡ‡Π½ΠΎ Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°Π²ΠΌΠ΅ Ρ‚Ρ€ΠΎΡ˜ΠΊΠΈ Π²ΠΎ НСптун, Π½Π°ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ.

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

НСкои ΠΎΠ΄ Π½ΠΈΠ² Π±Π΅Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠ°Ρ€ΡΠΈΡ€Π°ΡšΠ΅, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ°Π½ΠΎ ΠΏΠΎΠ³ΠΎΡ€Π΅. Π”ΠΎ дСнСс, сè ΡƒΡˆΡ‚Π΅ Π½Π΅ смС сфатилС ΡˆΡ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Ρ€Π³Π½Π°Π»ΠΎ Π½Π°ΠΎΠΏΠ°ΠΊΡƒ Π²ΠΎ овој ΠΌΠΎΠΌΠ΅Π½Ρ‚. ОвдС Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ‚ΠΈΠ²Π½ΠΎ Π±ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Π»Π΅ ΠΌΠ°Π»ΠΊΡƒ повСќС Π΄Π΅Ρ‚Π°Π»ΠΈ. Оваа Π³Ρ€Π΅ΡˆΠΊΠ° сС појави Π·Π° ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 1% ΠΎΠ΄ Π²ΠΌΠ΅Ρ‚Π½Π°Ρ‚ΠΈ Ρ‚Ρ€ΠΎΡ˜ΠΊΠΈ. Но, ΡˆΡ‚ΠΎ сС однСсува Π΄ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° НСптун, Π³ΠΎ ΠΏΡ€ΠΈΡ„Π°Ρ‚ΠΈΠ²ΠΌΠ΅ Ρ„Π°ΠΊΡ‚ΠΎΡ‚ Π΄Π΅ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚ΠΈΠΌΠ΅ само со 99% ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ ΠΎΠ΄ MusicBrainz.

Иако ΠΎΠ²Π° Π΅ лСсно Π·Π° Π»ΡƒΡ“Π΅Ρ‚ΠΎ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Π½ΠΈ со SPARQL, ΠΈΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° RDF Ρ‚Ρ€ΠΎΡ˜ΠΊΠΈΡ‚Π΅ ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈ со Сксплицитни Ρ‚ΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΡˆΡ‚ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° Π³Ρ€Π΅ΡˆΠΊΠΈ.

ΠŸΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅ Π½Π° стриминг

Како ΡˆΡ‚ΠΎ спомСнавмС ΠΏΠΎΠ³ΠΎΡ€Π΅, Π½Π΅ сакамС Π΄Π° Π³ΠΎ користимС НСптун ΠΊΠ°ΠΊΠΎ статична ΠΏΡ€ΠΎΠ΄Π°Π²Π½ΠΈΡ†Π° Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, Ρ‚ΡƒΠΊΡƒ ΠΊΠ°ΠΊΠΎ флСксибилна ΠΈ Π΅Π²ΠΎΠ»ΡƒΡ‚ΠΈΠ²Π½Π° Π±Π°Π·Π° Π½Π° знаСњС. Π—Π°Ρ‚ΠΎΠ°, Ρ‚Ρ€Π΅Π±Π°ΡˆΠ΅ Π΄Π° најдСмС Π½Π°Ρ‡ΠΈΠ½ΠΈ Π΄Π° Π²ΠΎΠ²Π΅Π΄Π΅ΠΌΠ΅ Π½ΠΎΠ²ΠΈ Ρ‚Ρ€ΠΎΡ˜ΠΊΠΈ ΠΊΠΎΠ³Π° сС ΠΌΠ΅Π½ΡƒΠ²Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° знаСњС, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ³Π° сС ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π° Π½ΠΎΠ² Π°Π»Π±ΡƒΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π° сакамС Π΄Π° Π³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΎΡ‚ΠΎ знаСњС.

НСптун ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° Π²Π»Π΅Π·Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ ΠΏΡ€Π΅ΠΊΡƒ SPARQL Π±Π°Ρ€Π°ΡšΠ°, ΠΈ сурови ΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ. ΠŸΠΎΠ΄ΠΎΠ»Ρƒ ќС Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€Π°ΠΌΠ΅ Π·Π° Π΄Π²Π°Ρ‚Π° пристапа.

Π•Π΄Π½Π° ΠΎΠ΄ Π½Π°ΡˆΠΈΡ‚Π΅ Ρ†Π΅Π»ΠΈ бСшС Π΄Π° внСсувамС ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π° стриминг Π½Π°Ρ‡ΠΈΠ½. РазмислСтС Π·Π° издавањС Π°Π»Π±ΡƒΠΌ Π²ΠΎ Π½ΠΎΠ²Π° зСмја. Од пСрспСктива Π½Π° MusicBrainz, Ρ‚ΠΎΠ° Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° Π·Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΅ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Π°Π»Π±ΡƒΠΌΠΈ, синглови, EP ΠΈΡ‚Π½., сС Π΄ΠΎΠ΄Π°Π²Π° Π½ΠΎΠ² запис Π½Π° Ρ‚Π°Π±Π΅Π»Π°Ρ‚Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅-зСмја. Π’ΠΎ 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
 
}

Π”ΠΎΠ΄Π°Π²Π°ΡšΠ΅Ρ‚ΠΎ Π΅Π΄ΠΈΠ½Π΅Ρ‡Π½ΠΈ Ρ‚Ρ€ΠΎΡ˜ΠΊΠΈ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΡ‚ Ρ‚Ρ€Π°Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ милисСкунди, Π΄ΠΎΠ΄Π΅ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π·Π° Π²ΠΌΠ΅Ρ‚Π½ΡƒΠ²Π°ΡšΠ΅ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° ΠΏΠΎΠ΄ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅ зависи ΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° самото ΠΏΠΎΠ΄ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅.

Иако Π½Π΅ Π³ΠΎ користСвмС чСсто, НСптун исто Ρ‚Π°ΠΊΠ° Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π° Π΄Π° отстранитС Ρ‚Ρ€ΠΎΡ˜ΠΊΠΈ Π²Ρ€Π· основа Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΡ†ΠΈ ΠΈΠ»ΠΈ Сксплицитни ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΠΊΠΎΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користат Π·Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

SPARQL ΠΏΡ€Π°ΡˆΠ°ΡšΠ°

Π‘ΠΎ Π²ΠΎΠ²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΈΠΎΡ‚ ΠΏΠΎΡ‚ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΊ, кој Π³ΠΎ Π²Ρ€Π°ΡœΠ° Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° изданија Π·Π° сСкој ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π°Ρ‡, вСќС Π³ΠΎ Π²ΠΎΠ²Π΅Π΄ΠΎΠ²ΠΌΠ΅ ΠΏΡ€Π²ΠΈΠΎΡ‚ Ρ‚ΠΈΠΏ Π½Π° Π±Π°Ρ€Π°ΡšΠ΅ ΡˆΡ‚ΠΎ сакамС Π΄Π° Π³ΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌΠ΅ со помош Π½Π° НСптун. Π˜Π·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π° Π½Π° Π±Π°Ρ€Π°ΡšΠ΅ Π²ΠΎ НСптун Π΅ лСсно - испратСтС Π±Π°Ρ€Π°ΡšΠ΅ 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)
 
   }

ΠŸΠΎΡ€Π°Π΄ΠΈ слоТСноста Π½Π° Π²Π°ΠΊΠ²ΠΎΡ‚ΠΎ Π±Π°Ρ€Π°ΡšΠ΅, ΠΌΠΎΠΆΠ΅Π²ΠΌΠ΅ Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π·Π° ΠΏΡ€Π΅Π±Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ само Π·Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π°Ρ‡, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ Π•Π»Ρ‚ΠΎΠ½ Џон, Π½ΠΎ Π½Π΅ ΠΈ Π·Π° ситС ΡƒΠΌΠ΅Ρ‚Π½ΠΈΡ†ΠΈ. Π‘Π΅ Ρ‡ΠΈΠ½ΠΈ Π΄Π΅ΠΊΠ° НСптун Π½Π΅ Π³ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° Ρ‚Π°ΠΊΠ²ΠΎΡ‚ΠΎ Π±Π°Ρ€Π°ΡšΠ΅ со Ρ„Ρ€Π»Π°ΡšΠ΅ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈ Π²ΠΎ ΠΏΠΎΠ΄ΠΈΠ·Π±ΠΎΡ€ΠΈ. Π—Π°Ρ‚ΠΎΠ°, сСкој ΠΈΠ·Π±ΠΎΡ€ ΠΌΠΎΡ€Π° Ρ€Π°Ρ‡Π½ΠΎ Π΄Π° сС Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π° спорСд ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π°Ρ‡ΠΎΡ‚.

НСптун ΠΈΠΌΠ° ΠΈ час ΠΈ ΠΏΠΎ I/O Π½Π°ΠΏΠ»Π°Ρ‚Π°. Π—Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅, Π³ΠΎ користСвмС ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° НСптун, кој Ρ‡ΠΈΠ½ΠΈ 0,384 Π΄ΠΎΠ»Π°Ρ€ΠΈ/час. Π’ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ΠΎΡ‚ со Π³ΠΎΡ€Π΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΡ‚ΠΎ Π±Π°Ρ€Π°ΡšΠ΅, ΠΊΠΎΠ΅ Π³ΠΎ прСсмСтува ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΎΡ‚ Π·Π° Π΅Π΄Π΅Π½ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊ, Амазон Π½ΠΈ Π½Π°ΠΏΠ»Π°Ρ‚ΡƒΠ²Π° дСсСтици илјади ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π²Π»Π΅Π·/ΠΈΠ·Π»Π΅Π·, ΡˆΡ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π° Ρ†Π΅Π½Π° ΠΎΠ΄ 0.02 Π΄ΠΎΠ»Π°Ρ€ΠΈ.

ИзлСз

ΠŸΡ€Π²ΠΎ, Амазон НСптун Π³ΠΈ исполнува ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ ΠΎΠ΄ своитС Π²Π΅Ρ‚ΡƒΠ²Π°ΡšΠ°. Како ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°Π½Π° услуга, Ρ‚Π°Π° Π΅ Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π·Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ ΡˆΡ‚ΠΎ Π΅ исклучитСлно лСсна Π·Π° ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° ΠΈ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π±Π΅Π· ΠΌΠ½ΠΎΠ³Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π•Π²Π΅ Π³ΠΈ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΠ΅Ρ‚ ΠΊΠ»ΡƒΡ‡Π½ΠΈ Π½Π°ΠΎΠ΄ΠΈ:

  • ΠœΠ°ΡΠΎΠ²Π½ΠΎΡ‚ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π΅ лСсно, Π½ΠΎ Π±Π°Π²Π½ΠΎ. Но, ΠΌΠΎΠΆΠ΅ Π΄Π° сС искомплицира со ΠΏΠΎΡ€Π°ΠΊΠΈ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠ° ΠΊΠΎΠΈ Π½Π΅ сС ΠΌΠ½ΠΎΠ³Ρƒ корисни.
  • ΠŸΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅Ρ‚ΠΎ стриминг ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° сС ΡˆΡ‚ΠΎ ΠΎΡ‡Π΅ΠΊΡƒΠ²Π°Π²ΠΌΠ΅ ΠΈ бСшС доста Π±Ρ€Π·ΠΎ
  • Π‘Π°Ρ€Π°ΡšΠ°Ρ‚Π° сС Сдноставни, Π½ΠΎ Π½Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π·Π° Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠ°Ρ‚ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡ΠΊΠΈ ΠΏΡ€Π°ΡˆΠ°ΡšΠ°
  • SPARQL Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° ΠΌΠΎΡ€Π° Π΄Π° сС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π°Ρ‚ Ρ€Π°Ρ‡Π½ΠΎ
  • ΠŸΠ»Π°ΡœΠ°ΡšΠ°Ρ‚Π° Π½Π° Амазон Π΅ Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π° сС ΠΏΡ€ΠΎΡ†Π΅Π½Π°Ρ‚ бидСјќи Π΅ Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π° сС ΠΏΡ€ΠΎΡ†Π΅Π½ΠΈ ΠΊΠΎΠ»ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ скСнирани со Π±Π°Ρ€Π°ΡšΠ΅ SPARQL.

Π’ΠΎΠ° Π΅ сС. ΠŸΡ€ΠΈΡ˜Π°Π²ΠΈ сС Π·Π° бСсплатСн Π²Π΅Π±ΠΈΠ½Π°Ρ€ Π½Π° Ρ‚Π΅ΠΌΠ° β€žLoad Balancingβ€œ.


Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€