рдНрдореЗрдЭреЙрди рдиреЗрдкрдЪреНрдпреВрдирдЪреА рдкрд╣рд┐рд▓реА рдЫрд╛рдк

рд╕рд▓рд╛рдо, рдЦрд╛рдмреНрд░реЛрд╡реНрд╕реНрдХ рд░рд╣рд┐рд╡рд╛рд╕реА. рдЕрднреНрдпрд╛рд╕рдХреНрд░рдо рд╕реБрд░реВ рд╣реЛрдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдкреЗрдХреНрд╖реЗрдиреЗ "рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрд╕рд╛рдареА AWS" рдЖрдореНрд╣реА рдордиреЛрд░рдВрдЬрдХ рд╕рд╛рдордЧреНрд░реАрдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЖрд╣реЗ.

рдНрдореЗрдЭреЙрди рдиреЗрдкрдЪреНрдпреВрдирдЪреА рдкрд╣рд┐рд▓реА рдЫрд╛рдк

рдЕрдиреЗрдХ рд╡рд╛рдкрд░ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрд╡рдбрддреЗ рдмрд╛рдХрдбрд╛рдЯрд╛рдЬрд╕реЗ рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╡рд░ рдкрд╛рд╣рддреЛ, рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рд╣рд┐рддреА рдШрдЯрдХрд╛рдВрдордзреАрд▓ рдХрдиреЗрдХреНрд╢рдирдордзреНрдпреЗ рд▓рдкрд╡рд▓реЗрд▓реА рдЕрд╕рддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдордзреАрд▓ рд╕рдВрдмрдВрдзрд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛рдирд╛, рдШрдЯрдХрд╛рдВрдордзреАрд▓ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдХрд┐рдВрд╡рд╛ рд╕реЗрдиреНрд╕рд░рдордзреАрд▓ рдХрдиреЗрдХреНрд╢рди. рдЕрд╢реА рд╡рд╛рдкрд░ рдкреНрд░рдХрд░рдгреЗ рд╕рд╣рд╕рд╛ рдЖрд▓реЗрдЦрд╛рд╡рд░ рддрдпрд╛рд░ рдХреЗрд▓реА рдЬрд╛рддрд╛рдд. рдпрд╛ рд╡рд░реНрд╖рд╛рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛, рдНрдореЗрдЭреЙрдирдиреЗ рдЖрдкрд▓рд╛ рдирд╡реАрди рдЖрд▓реЗрдЦ рдбреЗрдЯрд╛рдмреЗрд╕, рдиреЗрдкрдЪреНрдпреВрди рдЬрд╛рд░реА рдХреЗрд▓рд╛. рдпрд╛ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдХрд▓реНрдкрдирд╛, рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкрджреНрдзрддреА рдЖрдгрд┐ рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рдХрд╛рдп рд╕реБрдзрд╛рд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ рд╣реЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░реВ рдЗрдЪреНрдЫрд┐рддреЛ.

рдЖрдореНрд╣рд╛рд▓рд╛ рдНрдореЗрдЭреЙрди рдиреЗрдкрдЪреНрдпреВрдирдЪреА рдЧрд░рдЬ рдХрд╛ рдЖрд╣реЗ

рдЖрд▓реЗрдЦ рдбреЗрдЯрд╛рдмреЗрд╕ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд░рд┐рд▓реЗрд╢рдирд▓ рд╕рдорддреБрд▓реНрдпрд╛рдВрдкреЗрдХреНрд╖рд╛ рдЙрдЪреНрдЪ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╣рд╛рддрд╛рд│рдгреНрдпрд╛рдЪреЗ рд╡рдЪрди рджреЗрддрд╛рдд. рдЕрд╢рд╛ рдбреЗрдЯрд╛рд╕реЗрдЯрдордзреНрдпреЗ, рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рд╣рд┐рддреА рд╕рд╣рд╕рд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдордзреАрд▓ рд╕рдВрдмрдВрдзрд╛рдВрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ. рдиреЗрдкрдЪреНрдпреВрдирдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдПрдХ рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХ рдЦреБрд▓рд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд▓реНрдк рд╡рд╛рдкрд░рд▓рд╛ рдореНрдпреБрдЭрд┐рдХрдмреНрд░реЗрдирдЭ. MusicBrainz рдХрд▓рд╛рдХрд╛рд░, рдЧрд╛рдгреА, рдЕрд▓реНрдмрдо рд░рд┐рд▓реАрдЭ рдХрд┐рдВрд╡рд╛ рдореИрдлрд┐рд▓реАрдВрдмрджреНрджрд▓рдЪреА рдорд╛рд╣рд┐рддреА, рддрд╕реЗрдЪ рдЧрд╛рдгреНрдпрд╛рдорд╛рдЧреАрд▓ рдХрд▓рд╛рдХрд╛рд░рд╛рдиреЗ рдХреЛрдгрд╛рд╢реА рд╕рд╣рдпреЛрдЧ рдХреЗрд▓рд╛ рдХрд┐рдВрд╡рд╛ рдЕрд▓реНрдмрдо рдХреЛрдгрддреНрдпрд╛ рджреЗрд╢рд╛рдд рдХрдзреА рд░рд┐рд▓реАрдЬ рдЭрд╛рд▓рд╛ рдпрд╛рд╕рд╛рд░рдЦреНрдпрд╛ рдХрд▓реНрдкрдирд╛ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рд╕рдВрдЧреАрдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ. рдореНрдпреБрдЭрд┐рдХрдмреНрд░реЗрдиреНрдЭрд▓рд╛ рд╕рдВрдЧреАрдд рдЙрджреНрдпреЛрдЧрд╛рд╢реА рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рдШрдЯрдХрд╛рдВрдЪреЗ рдПрдХ рдореЛрдареЗ рдиреЗрдЯрд╡рд░реНрдХ рдореНрд╣рдгреВрди рдкрд╛рд╣рд┐рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

MusicBrainz рдбреЗрдЯрд╛рд╕реЗрдЯ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕рдЪрд╛ CSV рдбрдВрдк рдореНрд╣рдгреВрди рдкреНрд░рджрд╛рди рдХреЗрд▓рд╛ рдЖрд╣реЗ. рдПрдХреВрдг, рдбрдВрдкрдордзреНрдпреЗ 93 рдЯреЗрдмрд▓реНрд╕рдордзреНрдпреЗ рд╕реБрдорд╛рд░реЗ 157 рджрд╢рд▓рдХреНрд╖ рдкрдВрдХреНрддреА рдЖрд╣реЗрдд. рдпрд╛рддреАрд▓ рдХрд╛рд╣реА рд╕рд╛рд░рдгреНрдпрд╛рдВрдордзреНрдпреЗ рдХрд▓рд╛рдХрд╛рд░, рдХрд╛рд░реНрдпрдХреНрд░рдо, рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ, рд░рд┐рд▓реАрдЭ рдХрд┐рдВрд╡рд╛ рдЯреНрд░реЕрдХ, рдЗрддрд░рд╛рдВрд╕рд╛рд░рдЦрд╛ рдореВрд▓рднреВрдд рдбреЗрдЯрд╛ рдЕрд╕рддреЛ рд▓рд┐рдВрдХ рдЯреЗрдмрд▓ тАФ рдХрд▓рд╛рдХрд╛рд░ рдЖрдгрд┐ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ, рдЗрддрд░ рдХрд▓рд╛рдХрд╛рд░ рдХрд┐рдВрд╡рд╛ рдкреНрд░рдХрд╛рд╢рди рдЗ. рдпрд╛рдВрдЪреНрдпрд╛рддреАрд▓ рд╕рдВрдмрдВрдз рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рд╛... рддреЗ рдбреЗрдЯрд╛ рд╕реЗрдЯрдЪреА рдЖрд▓реЗрдЦ рд░рдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛рдд. рдбреЗрдЯрд╛рд╕реЗрдЯрд▓рд╛ RDF рдЯреНрд░рд┐рдкрд▓реНрд╕рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛рдирд╛, рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрдВрджрд╛рдЬреЗ 500 рджрд╢рд▓рдХреНрд╖ рдЙрджрд╛рд╣рд░рдгреЗ рдорд┐рд│рд╛рд▓реА.

рдЖрдореНрд╣реА рдЬреНрдпрд╛ рдкреНрд░рдХрд▓реНрдк рднрд╛рдЧреАрджрд╛рд░рд╛рдВрд╕реЛрдмрдд рдХрд╛рдо рдХрд░рддреЛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдиреБрднрд╡ рдЖрдгрд┐ рдЫрд╛рдкрд╛рдВрдЪреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░, рдЖрдореНрд╣реА рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рд╕рд╛рджрд░ рдХрд░рддреЛ рдЬреНрдпрд╛рдордзреНрдпреЗ рдирд╡реАрди рдорд╛рд╣рд┐рддреА рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдпрд╛ рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рдЖрдзрд╛рд░ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдореНрд╣реА рддреЗ рдирд┐рдпрдорд┐рддрдкрдгреЗ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдгреНрдпрд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЛ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рди рдЬреЛрдбреВрди рдХрд┐рдВрд╡рд╛ рдЧрдЯ рд╕рджрд╕реНрдп рдЕрджреНрдпрддрдирд┐рдд рдХрд░реВрди.

рд╕рдорд╛рдпреЛрдЬрди

рдЕрдкреЗрдХреНрд╖реЗрдкреНрд░рдорд╛рдгреЗ, Amazon Neptune рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ. рддреА рдЦреВрдк рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЖрд╣реЗ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг. рддреБрдореНрд╣реА рдХрд╛рд╣реА рдХреНрд▓рд┐рдХреНрд╕рдордзреНрдпреЗ рдЖрд▓реЗрдЦ рдбреЗрдЯрд╛рдмреЗрд╕ рд▓рд╛рдБрдЪ рдХрд░реВ рд╢рдХрддрд╛. рддрдерд╛рдкрд┐, рдЬреЗрд╡реНрд╣рд╛ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдЖрд╡рд╢реНрдпрдХ рдорд╛рд╣рд┐рддреА рд╢реЛрдзрдгреЗ рдХрдареАрдг. рдореНрд╣рдгреВрди, рдЖрдореНрд╣реА рдПрдХрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░рдХрдбреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд░реВ рдЗрдЪреНрдЫрд┐рддреЛ.

рдНрдореЗрдЭреЙрди рдиреЗрдкрдЪреНрдпреВрдирдЪреА рдкрд╣рд┐рд▓реА рдЫрд╛рдк
рдкреЕрд░рд╛рдореАрдЯрд░ рдЧрдЯрд╛рдВрд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ

рдНрдореЗрдЭреЙрди рдореНрд╣рдгрддреЗ рдХреА рдиреЗрдкрдЪреНрдпреВрди рдХрдореА-рд╡рд┐рд▓рдВрдм рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдЪреНрдпрд╛ рд╡рд░реНрдХрд▓реЛрдбрд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ, рдореНрд╣рдгреВрдирдЪ рдбреАрдлреЙрд▓реНрдЯ рд╡рд┐рдирдВрддреА рдЯрд╛рдЗрдордЖрдЙрдЯ 120 рд╕реЗрдХрдВрдж рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рдЖрдореНрд╣реА рдЕрдиреЗрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд╡рд╛рдкрд░ рдкреНрд░рдХрд░рдгрд╛рдВрдЪреА рдЪрд╛рдЪрдгреА рдХреЗрд▓реА рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдореНрд╣реА рдирд┐рдпрдорд┐рддрдкрдгреЗ рд╣реА рдорд░реНрдпрд╛рджрд╛ рдЧрд╛рдард▓реА рдЖрд╣реЗ. рдиреЗрдкрдЪреНрдпреВрди рдЖрдгрд┐ рд╕реЗрдЯрд┐рдВрдЧрд╕рд╛рдареА рдирд╡реАрди рдкреЕрд░рд╛рдореАрдЯрд░ рдЧрдЯ рддрдпрд╛рд░ рдХрд░реВрди рд╣реА рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рдмрджрд▓рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ neptune_query_timeout рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрдмрдВрдз.

рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдд рдЖрд╣реЗ

рдЦрд╛рд▓реА рдЖрдореНрд╣реА Neptune рдордзреНрдпреЗ 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% рдорд╛рд╣рд┐рддреАрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддреЛ.

рдЬрд░реА SPARQL рд╢реА рдкрд░рд┐рдЪрд┐рдд рд▓реЛрдХрд╛рдВрд╕рд╛рдареА рд╣реЗ рд╕реЛрдкреЗ рдЕрд╕рд▓реЗ рддрд░реА, рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА RDF рдЯреНрд░рд┐рдкрд▓реНрд╕ рд╕реНрдкрд╖реНрдЯ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╣ рднрд╛рд╖реНрдп рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдкреБрдиреНрд╣рд╛ рддреНрд░реБрдЯреА рдпреЗрдК рд╢рдХрддрд╛рдд.

рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбрд╛рдЙрдирд▓реЛрдб

рд╡рд░ рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЖрдореНрд╣реА рдиреЗрдкрдЪреНрдпреВрдирдЪрд╛ рд╡рд╛рдкрд░ рд╕реНрдерд┐рд░ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрдЕрд░ рдореНрд╣рдгреВрди рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реА, рддрд░ рдПрдХ рд▓рд╡рдЪрд┐рдХ рдЖрдгрд┐ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдгрд╛рд░рд╛ рдЬреНрдЮрд╛рди рдЖрдзрд╛рд░ рдореНрд╣рдгреВрди рдХрд░реВ рдЗрдЪреНрдЫрд┐рддреЛ. рдореНрд╣рдгреВрди рдЬреЗрд╡реНрд╣рд╛ рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рдЖрдзрд╛рд░ рдмрджрд▓рддреЛ рддреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдирд╡реАрди рддрд┐рдкреНрдкрдЯ рд╕рд╛рджрд░ рдХрд░рдгреНрдпрд╛рдЪреЗ рдорд╛рд░реНрдЧ рд╢реЛрдзрдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдЬреЗрд╡реНрд╣рд╛ рдПрдЦрд╛рджрд╛ рдирд╡реАрди рдЕрд▓реНрдмрдо рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддреЛ рдХрд┐рдВрд╡рд╛ рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗрд▓реЗ рдЬреНрдЮрд╛рди рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдЖрдгрд╛рдпрдЪреЗ рдЕрд╕рддреЗ.

рдиреЗрдкрдЪреНрдпреВрди рдЗрдирдкреБрдЯ рдСрдкрд░реЗрдЯрд░рдирд╛ 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
 
}

рдЖрд▓реЗрдЦрд╛рдордзреНрдпреЗ рдПрдХрд▓ рддрд┐рдкреНрдкрдЯ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдорд┐рд▓реАрд╕реЗрдХрдВрдж рд▓рд╛рдЧрддрд╛рдд, рддрд░ рд╕рдмрдХреНрд╡реЗрд░реАрдЪрд╛ рдирд┐рдХрд╛рд▓ рдЯрд╛рдХрдгреНрдпрд╛рд╕рд╛рдареА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рд╡реЗрд│ рд╣реА рд╕рдмрдХреНрд╡реЗрд░реАрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рд╡реЗрд│реЗрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ.

рдЖрдореНрд╣реА рддреЗ рдЕрдиреЗрдХрджрд╛ рд╡рд╛рдкрд░рд▓реЗ рдирд╕рд▓реЗ рддрд░реА, рдиреЗрдкрдЪреНрдпреВрди рддреБрдореНрд╣рд╛рд▓рд╛ рдирдореБрдиреЗ рдХрд┐рдВрд╡рд╛ рд╕реБрд╕реНрдкрд╖реНрдЯ рдбреЗрдЯрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рддрд┐рд╣реЗрд░реА рдХрд╛рдврдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ, рдЬреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдорд╛рд╣рд┐рддреА рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

SPARQL рдХреНрд╡реЗрд░реА

рдорд╛рдЧреАрд▓ рдЙрдкрдирдореБрдирд╛ рд╕рд╛рджрд░ рдХрд░реВрди, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдХрд▓рд╛рдХрд╛рд░рд╛рд╕рд╛рдареА рд░рд┐рд▓реАрдЭрдЪреА рд╕рдВрдЦреНрдпрд╛ рджреЗрддреЛ, рдЖрдореНрд╣реА рдиреЗрдкрдЪреНрдпреВрди рд╡рд╛рдкрд░реВрди рдЙрддреНрддрд░ рджреЗрдК рдЗрдЪреНрдЫрд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдХреНрд╡реЗрд░реАрдЪрд╛ рдкрд░рд┐рдЪрдп рдХрд░реВрди рджрд┐рд▓рд╛ рдЖрд╣реЗ. рдиреЗрдкрдЪреНрдпреВрдирдордзреНрдпреЗ рдХреНрд╡реЗрд░реА рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ - рдЦрд╛рд▓реА рджрд░реНрд╢рд╡рд┐рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, SPARQL рдПрдВрдбрдкреЙрдЗрдВрдЯрд╡рд░ POST рд╡рд┐рдирдВрддреА рдкрд╛рдард╡рд╛:

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/рддрд╛рд╕ рдЖрд╣реЗ. рд╡рд░реАрд▓ рдХреНрд╡реЗрд░реАрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЬреЗ рдПрдХрд╛ рдХрд╛рдордЧрд╛рд░рд╛рдЪреНрдпрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓рдЪреА рдЧрдгрдирд╛ рдХрд░рддреЗ, Amazon рдЖрдордЪреНрдпрд╛рдХрдбреВрди рд╣рдЬрд╛рд░реЛ I/O рдСрдкрд░реЗрд╢рдиреНрд╕рд╕рд╛рдареА рд╢реБрд▓реНрдХ рдЖрдХрд╛рд░рддреЗ, рдЬреНрдпрд╛рдЪреА рдХрд┐рдВрдордд $0.02 рдЖрд╣реЗ.

рдирд┐рд╖реНрдХрд░реНрд╖

рдкреНрд░рдердо, рдНрдореЗрдЭреЙрди рдиреЗрдкрдЪреНрдпреВрди рдЖрдкрд▓реА рдмрд╣реБрддреЗрдХ рд╡рдЪрдиреЗ рдкрд╛рд│рддреЛ. рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди, рд╣рд╛ рдПрдХ рдЖрд▓реЗрдЦ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрд╣реЗ рдЬреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЕрддреНрдпрдВрдд рд╕реЛрдкреЗ рдЖрд╣реЗ рдЖрдгрд┐ рдмрд░реНрдпрд╛рдЪ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╢рд┐рд╡рд╛рдп рдЪрд╛рд▓реВ рдЖрдгрд┐ рдЪрд╛рд▓реВ рдЕрд╕реВ рд╢рдХрддреЛ. рдпреЗрдереЗ рдЖрдордЪреЗ рдкрд╛рдЪ рдкреНрд░рдореБрдЦ рдирд┐рд╖реНрдХрд░реНрд╖ рдЖрд╣реЗрдд:

  • рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдЕрдкрд▓реЛрдб рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ рдкрд░рдВрддреБ рд╣рд│реВ рдЖрд╣реЗ. рдкрд░рдВрддреБ рд╣реЗ рддреНрд░реБрдЯреА рд╕рдВрджреЗрд╢рд╛рдВрд╕рд╣ рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪреЗ рд╣реЛрдК рд╢рдХрддреЗ рдЬреЗ рдлрд╛рд░рд╕реЗ рдЙрдкрдпреБрдХреНрдд рдирд╕рддрд╛рдд.
  • рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ рдЖрдгрд┐ рддреЗ рдЦреВрдк рдЬрд▓рдж рд╣реЛрддреЗ
  • рдХреНрд╡реЗрд░реА рд╕реЛрдкреНрдпрд╛ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдХреНрд╡реЗрд░реА рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╢рд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдирд╛рд╣реАрдд
  • SPARQL рдХреНрд╡реЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХреЗрд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд
  • Amazon рдкреЗрдореЗрдВрдЯреНрд╕рдЪрд╛ рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рдгреЗ рдХрдареАрдг рдЖрд╣реЗ рдХрд╛рд░рдг SPARQL рдХреНрд╡реЗрд░реАрджреНрд╡рд╛рд░реЗ рд╕реНрдХреЕрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдЪреНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдЪрд╛ рдЕрдВрджрд╛рдЬ рд▓рд╛рд╡рдгреЗ рдХрдареАрдг рдЖрд╣реЗ.

рдЗрддрдХрдВрдЪ. рд╕рд╛рдареА рд╕рд╛рдЗрди рдЕрдк рдХрд░рд╛ тАЬрд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд┐рдВрдЧтАЭ рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рдореЛрдлрдд рд╡реЗрдмрд┐рдирд╛рд░.


рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛