NDS 長岡 IT開発者 勉強会 第55回勉強会(2018/03/17)
"NB[PO/FQUVOFʹೖͯ͠ΈΔ:V8BUBOBCF !ZVXC/%4Ԭ*5։ൃऀษڧձ ୈճษڧձ
View Slide
ࣗݾհඇৗۈΤϯδχΞʴϑϦʔϥϯε˙ 41"ʴ"1*ʴ%#ͳ8FCαʔϏεͷ੍࡞!ΞΧσϛΞϑϩϯτΤϯυɿ+BWB4DSJQU3FBDUόοΫΤϯυɿ/PEFKT 3VCZ1)1σʔλϕʔεؔɿ.Z42-/FPK3%'ͦͷଞɿαʔόͷઃఆͱ͔ػցֶशͷ͓ख͍ͱ͔ɾɾɾͳΜͰ͞ΜͰ͢ɻ
ຊͷςʔϚ"NB[PO/FQUVOF"GVMMZNBOBHFEHSBQIEBUBCBTF"84ʹؒೖΓͨ͠άϥϑσʔλϕʔεͰ͢ɻݱࡏϓϨϏϡʔ൛͕͑·͢ɻ
άϥϑɾɾɾʁγϦʔζɾय़ͷάϥϑσʔλಛू
άϥϑߏσʔλ˙ σʔλߏͷछྨ• ྻ <ελοΫΩϡʔ>• ࿈ྻ <ϋογϡςʔϒϧϧοΫΞοϓςʔϒϧ>• ઢܗϦετ• ߏ• άϥϑ˙ ۙʹ͋Δάϥϑߏ• మಓ࿏ઢ• ίϯϐϡʔλωοτϫʔΫ• Ոܥਤʢߏʣ• 4/4ͷGPMMPXGPMMPXJOHͷؔԿ͔ͷωοτϫʔΫ·ͨԿ͔ͷ૬ؔؔ
άϥϑཧͷ༻ޠΛ͢͜͠• ϊʔυʢʣͱΤοδʢลʣ• ༗άϥϑͱແάϥϑ• ΤοδʹॏΈ͚͕Ͱ͖Δ• ୯७άϥϑͱଟॏάϥϑ
"NB[PO/FQUVOF݄ʹൃද͞Εͨ"NB[PO71$ͰՔಇ͢ΔάϥϑσʔλϕʔεɻݱࡏݶఆϓϨϏϡʔ൛͕ެ։͞Ε͍ͯΔɻ
͓ஈIUUQTBXTBNB[PODPNKQOFQUVOFQSJDJOH42-4FSWFSͷ΄͏ͱಉ͘͡Β͍ͷՁ֨ઃఆ˞ϓϨϏϡʔظؒதແྉͰ͢
ʢͪΐͬͱدΓಓʣطଘͷάϥϑσʔλϕʔε˙ ϓϩύςΟάϥϑϞσϧɾɾɾͦΕͧΕಠࣗͷΫΤϦจ๏Λ࣋ͭ• /FPK IUUQTOFPKDPNFUDʜ˙ 3%'Ϟσϧɾɾɾ8$ඪ४ͷ3%'Ϟσϧͱ41"32-ΫΤϦΛ͏• 7JSUVPTP IUUQTWJSUVPTPPQFOMJOLTXDPN• 'VTFLJ IUUQTKFOBBQBDIFPSHEPDVNFOUBUJPOTFSWJOH@EBUBhttps://neo4j.com/developer/guide-data-modeling/Apache TinkerPop / Gremlin
"NB[PO/FQUVOFͷಛ˙ ϓϩύςΟάϥϑɾ3%'ͷ྆ํ͕͑Δάϥϑͷදݱͱ͍߹ΘͤͷͨΊʹɺͭͷΦʔϓϯͳۀքඪ४Λαϙʔτ͠·͢ɻ(SFNMJOʹΑͬͯ߹ͤՄೳͳ"QBDIF5JOLFS1PQޓͷϓϩύςΟάϥϑɻ(SFNMJOϊʔυ ʹͭͳ͕ΔΤοδ ลΛݸผʹͨͲΔ୳ࡧΛ࣮ݱ͢Δάϥϑ୳ࡧݴޠͰ͢ɻ41"32-ʹΑͬͯ߹ͤՄೳͳ 3%' 3FTPVSDF%FTDSJQUJPO'SBNFXPSLɻ˙ ఆ͍ͯ͠Δ༻్4/4ɺϨίϝϯσʔγϣϯΤϯδϯɺܦ࿏Ҋɺྲྀ࠷దԽɺࣗಈஅɺ৵ೖݕήϊϜྻܾఆͳͲͷΞϓϦέʔγϣϯ͕ྫʹڍ͛ΒΕ·͢ɻhttps://aws.amazon.com/jp/blogs/news/amazon-neptune-a-fully-managed-graph-database-service/
ͬͦͬͯ͘͞ΈΔ͜͜ʹ͋Γ·ͤΜखಈͰΞΫηεʂIUUQTBXTBNB[PODPNKQOFQUVOFʮϓϨϏϡʔʹαΠϯΞοϓʯ͔Βਃ͠ࠐΈ·͢ɻ͘Β͍Ͱϝʔϧ͕ಧ͖·ͨ͠ɻ
ڥߏஙϢʔβʔΨΠυʢӳޠʣIUUQTEPDTBXTBNB[PODPNKB@KQOFQUVOFMBUFTUVTFSHVJEFJOUSPIUNMIUUQTEPDTBXTBNB[PODPNKB@KQOFQUVOFMBUFTUVTFSHVJEFHFUTUBSUFEQSFSFRVJTJUFTIUNM• &$Πϯελϯε͔Β/FQUVOFͷ%#ΫϥελʔʹΞΫηε• σʔλΛϑΝΠϧ͔Βϩʔυ͢ΔͳΒ4ඞཁ• ͦΕͧΕʹඞཁͳΞΫηεݖݶΛ༩˞&$4ແྉͰͳ͍Ͱ͢
ڥߏஙμΠδΣετͱʹ͔͘શ෦ʮόʔδχΞ෦ VTFBTUʯʹ࡞͍ͬͯͩ͘ʂͦ͜ʹ͔͠/FQUVOF͋Γ·ͤΜʂʂ71$ͱ&$Πϯελϯεͷ࡞*".ͰϢʔβʔ࡞Δ
ڥߏஙμΠδΣετ/FQUVOFͷΠϯελϯε/FQUVOFͷίϯιʔϧͰ࡞Δ
ڥߏஙμΠδΣετ
ڥߏஙμΠδΣετ/FQUVOFͷ%#Ϋϥελʔ͕Ͱ͖ͨΑʔϓϩϏδϣχϯάʹʙ͘Β͍͔͔Γ·ͨ͠ɻ
)FMMP/FQUVOF&$Πϯελϯεʹ44)ͰϩάΠϯɺ/FQUVOFͷΤϯυϙΠϯτʹΫΤϦΛ1045ͯ͠ΈΔɻۭͬΆͳͷͰɺۭͷྻ͕ฦ͖ͬͯ·ͨ͠ɻ͜ΕͰ0,ʂ
σʔλͷϩʔυ• 4ʹόέοτΛ༻ҙʢόʔδχΞ෦ʂʣ• /FQUVOF͔ΒಡΈࠐΊΔΑ͏ʹݖݶ༩• ϑΝΠϧΛ4ʹΞοϓϩʔυ
ࣗͷσʔλͰͬͯΈͨ 3%'ϞσϧQ13952 P23511Activation2,721 nodes43,228 edges• ߦͷ3%'ϑΝΠϧ .#Λ4ʹΞοϓϩʔυ• &$ίϯιʔϧ͔Βɺ4্ͷσʔλΛ/FQUVOFʹϩʔυͤ͞Δ• ඵҎԼͰ/FQUVOFʹΠϯαʔτྃ
ࣗͷσʔλͰͬͯΈͨ 41"32-ΫΤϦcurl -X POST --data-binary 'query=PREFIX uniprot: SELECT (COUNT(DISTINCT ?prot2) as ?count) WHERE{uniprot:P00533 uniprot:activate ?prot1. ?prot1 uniprot:activate ?prot2 .}'http://neptuneinstance-cluster.cluster-cumqwp3crwyp.us-east-1-beta.rds.amazonaws.com:8182/sparql˙ ͋Δϊʔυ *%1ͷ࣍ͷ࣍ͷϊʔυΛશͯऔಘʢͯ͠ΧϯτʣΤϯυϙΠϯτʹ41"32-ΫΤϦΛ͛Δϊʔυ͕ඵҎԼͰฦ͖ͬͯͨɻ
·ͱΊ• άϥϑߏσʔλάϥϑσʔλϕʔεʹೖΕͯΈΔ• طଘͷπʔϧಋೖͷϋʔυϧ͕ߴ͍PS҆ఆ͠ͳ͍ɻʢݸਓͷҙݟͰ͢ʣ• ͦ͜Ͱ"NB[PO/FQUVOF !όʔδχΞ෦• ϑϧϚωʔδυ• εέʔϧͰ͖ΔʢεϞʔϧελʔτՄೳʣ• ϓϩύςΟάϥϑͱ3%'ͷ྆Ϟσϧ͕͑Δ• े࣮༻ϨϕϧʂʢݸਓͷҙݟͰ͢ʣ