ãã®èšäºã§ã¯ãäžèšã®ãã¬ãŒã ã¯ãŒã¯ã§ã®çµéšã説æãããã¹ãçµæãå ±æããŸãã
ãšã³ããªãŒ
ãã®èšäºã¯ãäžèšã®ãã¬ãŒã ã¯ãŒã¯ã®å æ¬çãªæŠèŠã§ã¯ãããŸããã ãã®èšäºã¯ããªã³ãããžãŒã®ããŒããè«ççæšè«ãSPARQLã¯ãšãªã®å®è¡ãªã©ããã¬ãŒã ã¯ãŒã¯ã®åºæ¬æ©èœã®ããã©ãŒãã³ã¹ãåæããããšãç®çãšããŠããŸãã
æè¡çãªè©³çŽ°ã説æããåã«ãIntellidimensionã®ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠïŒJavaæåã®ã³ãã¥ããã£ã§æãç¥ãããŠããªã補åãšããŠïŒããã€ãã®èšèãã話ãããŸãã ãã®èšäºã§èª¬æãããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ããä»ã®ãã¬ãŒã ã¯ãŒã¯ãšã¯ç°ãªããRDF GatewayãšSemantics.SDKã¯ã¯ããŒãºããœãŒã¹ã³ãŒãã§é åžãããããªãã®è²»çšãããããŸãã ãããã£ãŠãRDF Gateway 3.0 Enterpriseã ãã§10,000ãã«ããããŸãïŒãã ããããŒãžã§ã³2.0ã®ã³ã¹ãã¯ããããã2,000ãã«ã§ãïŒã ã¡ãªã¿ã«ããã¹ãã§äœ¿çšãããå人PelletãšOwlimãç¡æã§ã¯ãããŸãããPelletã¯ãã¥ã¢ã«ã©ã€ã»ã³ã¹ã§é åžãããOwlimã¯ã¡ã¢ãªå ã§ç¡æã§åäœããããŒãžã§ã³ã®ã¿ãæäŸããŠããŸãã ã¹ãã¬ãŒãžããŒãžã§ã³ã¯ã䜿çšããããã»ããµã³ã¢ããšã«700ãŠãŒãããããŸãã
ãã¹ãäž
ç§ã®ä»äºã¯ã.NETã®ãããžã§ã¯ããå®è£ ããããã®ãã¬ãŒã ã¯ãŒã¯ãéžæããããšã§ããããã®ãããçŽç²ãªåœ¢åŒã®Javaãããžã§ã¯ãã¯ç§ã«ã¯èå³ããããŸããã§ããïŒæåã¯ãã¹ãããã€ããããããŸããã§ããïŒã Javaãš.NETã®éã®çžäºéçšããŒã«ãéžæããå¿ èŠããããŸããã ç§ã®éžæã¯ikvm.netã§ãã ãããã«ãããjarã.NET dllã«å€æã§ããŸãã .NETããŒãžã§ã³ã®JenaãOWL APIãããã³Sesameãåãåã£ãã®ã§ããã¹ããéå§ããŸããã ãã ãããã€ãã£ãç°å¢ã§Javaãã¬ãŒã ã¯ãŒã¯ããã¹ãããçµæãå«ãŸããŠããªãå Žåããã¹ãã¯äžå®å šã«ãªããŸãã ãããã£ãŠããã¹ãã«ã¯ä»¥äžãé¢ä¿ããŸããIntellidimensionSemantics.SDK 1.0ãOWL API 2.2.0 + Pellet 2.0rc5ïŒJavaããã³.NETã®äž¡æ¹ïŒãJena 2.5.7 + Pellet2.0rc5ïŒJavaããã³.NETïŒããã³éšåçã«Sesame 2.24 + SwiftOwlim 3.0b9ã
Owlimã®ã»ãã³ãã£ãã¯SDKããã³PelletïŒOwlimã¯Sesameãšãšãã«äœ¿çšãããäž»èŠãªå人ïŒã®è«ççæšè«ã®ããªã·ãŒã®ãããSesameã¯åæãã¹ãããé€å€ããå¿ èŠããããŸããã ãããã£ãŠãPelletãšSemantic SDKã¯ãã¯ãšãªäžã®åºåïŒã¯ãšãªæã®æšè«ïŒãç®çãšããŠããŸãããæ©æåºåã®æ段ãå«ãŸããŠããŸãã Owlimã¯å®å šãªå®äœåãç®æããŠããŸãã ããã«ã€ããŠã¯ããå人ã«é¢ããäžè¬æ å ±ãã®ã»ã¯ã·ã§ã³ã§èª¬æããŸãã
NCI Instituteã®ã·ãœãŒã©ã¹09.02dãªã³ãããžãŒããã¹ããšããŠéžæãããŸããã 確ãã«ããã®çŽç²ãªåœ¢åŒã«ã¯ãå€ãã®ççŸãå«ãŸããŠããŸãã ãµããŒããµãŒãã¹ãšéä¿¡ããåŸãççŸãç¹å®ãããŸããã å€æŽããããŒãžã§ã³09.02dïŒç§ã®DropboxããããŠã³ããŒãã§ããŸã ïŒã䜿çšããŸããããããŒãžã§ã³09.04dã䜿çšå¯èœã«ãªããççŸã¯ãããŸããã
ãã¹ãã®ããã«ã次ã®ç¶æ³ãã·ãã¥ã¬ãŒããããŸããã
1.æåã«ããã¡ã€ã«ã®ãªã³ãããžãŒãã¢ãã«ã«ããŒããããŸããã
2.次ã«ããã®ã¢ãã«ã«å¯ŸããŠ3ã€ã®SparQLã¯ãšãªãé 次å®è¡ãããŸããïŒã¯ãšãªããã¹ãã¯ãã¡ãããããŠã³ããŒãã§ããŸã ïŒã
æåã«ã第1段éã®ãã¹ãçµæãæ€èšããŸãã
.NET / ikvmãã¬ãŒã ã¯ãŒã¯ã¯Javaã®åçã®ãã®ããã2ã3åé ããšããäºå®ã«ãããããããIntellidimensionãããé«éã§ãã
ã¡ã¢ãªãæäœãããšããç¹ã§ã¯ã.NETã¯ããå¿«é©ãªå°è±¡ãæ®ããŸããã Javaã¬ããŒãžã³ã¬ã¯ã¿ãŒã¯ãããŒãã«å²ãåœãŠãããšãã§ããRAMã®æ倧éãæå®ããå¿ èŠããããŸãïŒXmxãã©ã¡ãŒã¿ãŒïŒã ç§ã®æèŠã§ã¯ã.NETã¯ããè«ççãªããªã·ãŒã䜿çšããŸããå¿ èŠãªã ãã¡ã¢ãªãæ¶è²»ããŸãïŒå¶éãæå®ãããŠããªãéãïŒã Xmxãä»ããå¶éã¯éåžžã«å€ãããã°ãã§ãããæ®å¿µãªãããŸã ä¿®æ£ãããŠããŸããã 解決çãšããŠãXmxãåã«ããŒãžã³ã§æå®ããããšããå§ãããŸãïŒãã¡ãããRAMã®éãèš±ãå ŽåïŒããã ãããã®å ŽåïŒãã¹ãã¯XmxïŒ12gã§è¡ãããŸããïŒãã¬ããŒãžã³ã¬ã¯ã¿ãŒã¯æ°ã«ããŸããïŒãã¹ãçµæããããããŸãïŒã å¥ã®æ¹æ³ã§ãæ§ããŸãã-ç¹å®ã®å ¥åããŒã¿ã®æå°Xmxå€ãéžæããŸãïŒãã ããOutOfMemoryExceptionãçºçãããªã¹ã¯ããããŸãïŒã ãããã£ãŠãJVMãæ¶è²»ããã¡ã¢ãªéãåæ§ã®CLRã€ã³ãžã±ãŒã¿ã«è¿ã¥ããããšãã§ããŸãïŒãã ããã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãé »ç¹ã«çºçãããšããã©ãŒãã³ã¹ãããã«äœäžããŸãïŒã
䜿çšãããã¡ã¢ãªã®æ倧éã®å¶éã«é¢ããŠãããªãå¥åŠãªã±ãŒã¹ãçºçããŸããã .NETã«å€æããã.NET OWL APIã䜿çšããŠã·ãœãŒã©ã¹ãªã³ãããžãŒãæ£åžžã«ããŒãããåŸããã®ãªã³ãããžãŒãProtégeïŒåãããŒãžã§ã³ã®OWL APIã«åºã¥ãïŒã§éãããã®æ§é ã«æ £ããããšã«ããŸããã ãã ããæŠå¿µãšã€ã³ã¹ã¿ã³ã¹ã®ããªãŒã®ä»£ããã«ãOutOfMemoryExceptionãçºçããŸããïŒååãªç©ºãã¡ã¢ãªãããã«ããããããïŒã Xmxå±æ§ã®å€ãå¢ããããšã§åé¡ã¯è§£æ±ºããŸããããJavaã®ã¬ããŒãžã³ã¬ã¯ã¿ãŒã®ãã®ãããªéç¬ç«æ§ã¯æºè¶³ã§ããŸããã ãããããããšã«ãJavaã¢ããªã±ãŒã·ã§ã³ã¯ãã€ãã£ãç°å¢ã§ïŒJVMã§èžãããšãªãïŒèµ·åããªããšããäºå®ã«ãããããããikvmã䜿çšããŠ.NETã«å€æããåŸãåäœããŸãã
次ã«ããã¹ãã®2çªç®ã®ãã€ã³ãã§ããSPARQLã¯ãšãªã®å®è¡ã«é²ã¿ãŸãããã æ®å¿µãªããããã®æ®µéã§ã¯ãæåã®ãã¹ãã®ãªãŒããŒã§ããOWL APIãæ®ãå¿ èŠããããŸãã å®éã«ã¯ãå人ãå®è£ ããOWL APIã«ã¯ãSPARQLã¯ãšãªãå®è¡ããããã®ã¡ãœãããå«ãŸããŠããŸããã ããã¯ãSPARQLãRDFã°ã©ãã®ã¯ãšãªèšèªãšããŠäœæãããïŒãããŠãOWLã«ããŸã銎æã¿ããªãïŒãšããäºå®ã«ãããã®ã§ãããOWL APIã¯ããã®åã瀺ãããã«ãOWLå°çšã§ãã çŸåšãSPARQL-DLæšæºã«é¢ããäœæ¥ãé²è¡äžã§ãããããããããã®ãµããŒãã¯OWL APIã®æ¬¡ã®ããŒãžã§ã³ã®1ã€ã§å®è£ ãããäºå®ã§ãã çŸæç¹ã§ã¯ããã³ãã§ã¹ã¿ãŒæ§æã䜿çšããŠã¯ãšãªãèšè¿°ã§ããã¯ã©ã¹åŒã®ã¿ã䜿çšããŸãã ã¯ã©ã¹åŒã¯ãã¡ããSPARQLã§ã¯ãããŸããããã»ãšãã©ã®ã¿ã¹ã¯ã§ã¯ååã§ãã
ãããã£ãŠããã¹ãçµæïŒ
æåã«ãIntellidimensionåã®ããã·ã¥ã«ã€ããŠã³ã¡ã³ãããŸãã ãã¹ãã¢ããªã±ãŒã·ã§ã³ã®èµ·åãã6æéãçµéããããã»ã¹ã®ééã¯çŽ6 GBã§ããããçµæã¯ãããŸããã§ããã ç§ã¯ãã£ââãšé·ãåŸ ã€å¿èãæã£ãŠããŸããã§ããã Semantics.SDKã®æè¡çæåãæ°ããããåŸãŸããã å ¬å¹³ã«èšãã°ãSemantics.SDKãå°ããªãªã³ãããžãŒã管çããããšã¯æ³šç®ã«å€ããŸããããããçµè«ãå°ããèŠæ±ãåŠçããŸã...ããããçµæãJena + Pelletãšæ¯èŒãããšãSemantics.SDKãåžžã«å®å šãªçµæãäžãããšã¯èšããŸããã
ããããPelletã¯éåžžã«åççãªæéã§çµè«ãåŠçããŸããïŒèŠæ±ã¯ç°¡åã§ã¯ãããŸããã§ããïŒããã¹ãã®æåã®æ®µéãšåæ§ã«ã.NET / ikvmãã¬ãŒã ã¯ãŒã¯ã¯IntellidimensionãããæãŸããããã§ãã
ããã§ãã¹ã段éãå®äºããŸããã èŠçŽãããšãåè ã¯Jena + Pelletã·ã¹ãã ã§ãããOWL API + Pelletã¯ãªãŒãµãŒã·ããè³ãåè³ãããšèšããŸãã
å人ã«é¢ããäžè¬æ å ±
äžè¬ã«ãè«çæšè«ã®å®è£ ã«ã¯2ã€ã®ã¢ãããŒãããããŸãïŒã«ãŒã«ã«åºã¥ãïŒ åæ¹é£éããã³/ãŸãã¯åŸæ¹é£éã¢ã«ãŽãªãºã ã䜿çšããïŒããã³ã»ãã³ãã£ãã¯ã¹ã³ã¢ããŒãã«åºã¥ãïŒ ã»ãã³ãã£ãã¯ã¿ãã㌠ïŒã èŠåã«åºã¥ããŠãSemantics.SDKãšOwlimãå®è£ ãããã»ãã³ãã£ãã¯ã¹ã³ã¢ããŒãã®Pelletã«åºã¥ããŠããŸãã
ç§ã®ç¥ãéããã«ãŒã«ããŒã¹ã®å人ã¯è¡šçŸåã®äœãèšèªã«æå©ã§ãããã¹ã³ã¢ããŒãããŒã¹ã®è¡šçŸã¯è¡šçŸåã®é«ãèšèªã«æå©ã§ãã ãã¬ããïŒOWL-DLïŒãšOwlimïŒOWL-TinyïŒããã®èŠ³å¯ã確èªããå ŽåïŒããªã±ãŒãã®å察åŽã«ããïŒãSemantics.SDKïŒOWL-FULLïŒã¯äŸå€ã§ãïŒããã©ãŒãã³ã¹ãã¹ãã«ãããšããã®äŸå€ã«ã€ããŠã¯äœãè¯ãããšã¯ãããŸããïŒ ã
Owlimã®å ¬åŒWebãµã€ãã®å³cãèããŠã¿ãŸãããã
ã芧ã®ãšãããOwlimã¯OWL Tinyã®ã¿ããµããŒãããŠããŸãã ãã®æ©èœã«ããã圌ã¯éåžžã«é«ãããã©ãŒãã³ã¹ãå®çŸã§ããŸãã
Owlimã¯ãïŒã¬ãã¥ãŒããïŒãã«ãã¹ã¬ããåºåããµããŒãããå¯äžã®å人ã§ãã ãããã£ãŠãOwlimã¯ãã»ãã³ãã£ãã¯ã¹ã³ã¢ããŒãã«å¯Ÿããã«ãŒã«ããŒã¹ã®ã·ã¹ãã ã®å©ç¹-䞊ååã®å¯èœæ§ãå®çŸããŠããŸãïŒã»ãã³ãã£ãã¯ã¹ã³ã¢ããŒãã®æ§ç¯ããã»ã¹ã䞊ååããã¢ã«ãŽãªãºã ã¯ãŸã ãããŸããïŒã Semantics.SDKã®éçºè ã¯ãåºåã䞊ååãããŠãããšäž»åŒµããŠããŸã...ããããããã¯è©Šçšçã§ã¯å®è£ ãããŠããŸããïŒç§ã®æèŠã§ã¯ãããã¯è©Šçšçã®è¯ãå¶éã§ã¯ãããŸããïŒã ãã¹ãã®ããã®çæã©ã€ã»ã³ã¹ãç§ã«äžãããšããèŠæ±ã¯çããããªãã£ãã®ã§ãéçºè ã®èšèãåãåããªããã°ãªããŸããã
çæ³çãªäžçã§ã¯ããªã³ãããžãåæãããšãã«è¡šçŸåã®ã¬ãã«ã決å®ãã察å¿ããã¢ã«ãŽãªãºã ã䜿çšããŠãããå°ãåºããå人ã確å®ã«ååšããå¿ èŠããããŸãã çŸæç¹ã§ã¯ããã®ãããªãªãŸããŒã¯ååšããã圌ãç»å Žããããšã¯ãŸããããŸããã
ãããã«
ãã®èšäºã§ã¯ãããã©ãŒãã³ã¹ã«éç¹ã眮ããŠããŸãããç¹å®ã®ãããžã§ã¯ãã®ã»ãã³ãã£ãã¯ãã¬ãŒã ã¯ãŒã¯ãéžæãããšãã¯ããŸãæ©èœïŒïŒéãªã¬ãŒã·ã§ãã«ïŒã¹ãã¬ãŒãžã®ãµããŒããOWL2ã®ãµããŒããªã©ïŒã«éç¹ã眮ãå¿ èŠããããŸãã ãããã®åé¡ã®è°è«ã¯ããã®èšäºã®ç¯å²ãè¶ ããŠããŸãïŒãããŠãç§ã¯ãã®ãããªåæãè¡ãããã®åãã¬ãŒã ã¯ãŒã¯ã«ããŸã粟éããŠããŸããïŒã æ©èœã®é¢ã§ã¯ãIntellidimensionã®è£œåãè³è³ãããã£ãã®ã§ããRDFGatewayãšSemantics.SDKãã³ãã«ã¯ãJavaã®äžçã«ã¯é¡ãèŠãªãéåžžã«åŒ·åãªãã¬ãŒã ã¯ãŒã¯ã§ã...ãããããã®ãªãŸããŒã®ããªãã¯ã¯ãã®ãã¬ãŒã ã¯ãŒã¯ã«å¯Ÿããæ°æã¡ãå·ãããŸããã
PSããã«ã»ã¯ãªãããžã®èšäºã®å·çäžã«æäŸãããæè²ããã°ã©ã ã«æè¬ããŸãã
PP S. ç§ã®ããã°ã®ãªãªãžãã«èšäº ã