チェンジセット 239

差分発生行の前後
無視リスト:
更新日時:
2015/02/13 16:56:07 (10 年 前)
更新者:
lenz
ログメッセージ:

コードの簡略化及び細かな修正

パス:
SPARQLBuilderWWW/web
ファイル:
2 変更

凡例:

変更なし
追加
削除
  • SPARQLBuilderWWW/web/newsparqlbuilder.css

    r237 r239  
    2121.SBTopButton:hover{ 
    2222        background: hsl(200, 50%, 85%); 
     23} 
     24 
     25.SBTutorialLink{ 
     26        margin-top: 1.5em; 
    2327} 
    2428 
     
    157161} 
    158162 
    159 .SBGenButton{ 
    160         margin: 1em; 
    161         -webkit-border-radius: 7; 
    162         -moz-border-radius: 7; 
    163         border-radius: 7px; 
    164         border: none; 
    165         color: #ffffff; 
    166         font-size: 1.2em; 
    167         background: hsl(200, 50%, 75%); 
    168         padding: 5px 15px 5px 15px; 
    169         cursor: pointer; 
    170 } 
    171  
    172 .SBGenButton:hover{ 
    173         background: hsl(200, 50%, 85%); 
    174 } 
    175  
    176163.SBRootNode{ 
    177164        margin: 0.5em; 
     
    180167        -moz-border-radius: 10; 
    181168        border-radius: 10px; 
    182         border: solid 2px hsl(0, 50%, 75%); 
    183169        background: hsl(40, 50%, 75%); 
    184170        padding: 5px 15px 5px 15px; 
     
    194180        -moz-border-radius: 10; 
    195181        border-radius: 10px; 
    196         border: solid 2px hsl(0, 50%, 75%); 
    197182        background: hsl(0, 0%, 85%); 
    198183        padding: 5px 15px 5px 15px; 
     
    204189        -moz-border-radius: 10; 
    205190        border-radius: 10px; 
    206         border: solid 2px hsl(0, 50%, 75%); 
    207191        background: hsl(150, 50%, 75%); 
    208192        padding: 5px 15px 5px 15px; 
  • SPARQLBuilderWWW/web/newsparqlbuilder.js

    r238 r239  
    33var MAXDEPTH = 0; 
    44var TREESPACE = 0; 
    5 var NODEHEIGHT = 0; 
     5var NODEHEIGHT = 50; 
    66var DRAWHEIGHT = 0; 
    77 
     
    3737        var sbdiv = $('div#SPARQLBUILDER'); 
    3838        if(sbdiv.find('div').length == 0){ 
    39                 var sbtop = '<div class="SBTopItems"><input type="button" class="SBTopButton" value="Open SPARQLBuilder" onclick="openSPARQLBuilder()"><input type="button" class="SBTopButton" value="Try with Sample" onclick="openSample(\'http://www.ebi.ac.uk/rdf/services/reactome/sparql\', \'http://www.biopax.org/release/biopax-level3.owl#Protein\', \'http://www.biopax.org/release/biopax-level3.owl#Pathway\')"><br><textarea class="SBSparqlArea" rows="10"></textarea><br><input type="button" class="SBTopButton" value="Send SPARQL" onclick="sendSPARQL()"><input type="button" class="SBTopButton" value="Download Result" onclick="downloadResult()"></div>'; 
     39                var sbtop = '<div class="SBTopItems"><input type="button" class="SBTopButton" value="Open SPARQLBuilder" onclick="openSPARQLBuilder()"><input type="button" class="SBTopButton" value="Try with Sample" onclick="openSample(\'http://www.ebi.ac.uk/rdf/services/reactome/sparql\', \'http://www.biopax.org/release/biopax-level3.owl#Protein\', \'http://www.biopax.org/release/biopax-level3.owl#Pathway\')"><br><textarea class="SBSparqlArea" rows="10"></textarea><br><input type="button" class="SBTopButton" value="Send SPARQL" onclick="sendSPARQL()"><input type="button" class="SBTopButton" value="Download Result" onclick="downloadResult()"></div><div class="SBTutorialLink">Tutorial for SPARQL Builder GUI is <a href="http://www.sparqlbuilder.org/doc/how-to-use-sparql-builder-gui/">here</a>.</div>'; 
    4040                var sbmodal = '<div class="SBModalView"><div class="SBModalContents"><div class="SBForms"><div class="SBSelects"><select class="SBEndPointSelect"></select><select class="SBStartClassSelect"></select><select class="SBEndClassSelect"></select></div><div class="SBPermaLink"><input type="button" class="SBPermaLinkButton" value="Permalink" onclick="openPermalink()" disabled="disabled"></div></div><div class="SBMessage"><div class="SBResult"><span class="SBPathnum"></span> Path<span class="SBPlural"></span> found.</div><input type="button" class="SBViewAll" value="View All Path" onclick="viewAll()"></div><div class="SBGraph"><div class="SBAjaxLoad" style="display: none;"><div class="SBLoadIcon"><img src="images/ajax-loader.gif"></div></div></div><div class="SBPath"><div class="SBSelectedPath"></div></div><div class="SBModalButtons"><input type="button" class="SBModalButton" value="Close" onclick="closeSPARQLBuilder()"></div></div></div>'; 
    4141 
     
    261261        $('.SBResult').hide(); 
    262262        $('.SBViewAll').hide(); 
    263         $('.SBSelectedPath').html('<h1>Please <span style="color: hsl(150, 50%, 75%);">select a leaf node</span> and <span style=\"color: hsl(200, 50%, 75%);\">push button</span> to generate a SPARQL</h1><img src=\"images/pathline.png\" style="display:none;">'); 
     263        $('.SBSelectedPath').html('<h1>Please <span style="color: hsl(150, 50%, 75%);">select a leaf node</span> and click to generate a SPARQL</h1><img src=\"images/pathline.png\" style="display:none;">'); 
    264264 
    265265        var url = "http://www.sparqlbuilder.org/api/plist?ep=" + encodeURIComponent(endpoint) 
    266266                                                                                                                        + "&startclass=" + encodeURIComponent(startclass) 
    267267                                                                                                                        + "&endclass="   + encodeURIComponent(endclass); 
    268         //var self = this; 
     268 
    269269        switchLoadIcon("view"); 
    270270        setTimeout(function(){ 
     
    389389 
    390390        // make_data繝。繧ス繝�ラ縺ョ邨先棡繧貞叙蠕� 
    391         var json = make_data(0); 
     391        var json = make_data(); 
    392392 
    393393        // 繝代せ謨ー縺�縺ァ縺ェ縺代l縺ー 
     
    477477                        .style("stroke", '#fafafa') 
    478478                        .style("stroke-width", '1.5px') 
    479                         .style("cursor", 'pointer'); 
     479                        // 譛ォ遶ッ繝弱�繝峨�縺ソ繝槭え繧ケ繧「繧、繧ウ繝ウ繧偵�繧、繝ウ繧ソ繝シ縺ォ 
     480                        .style("cursor", function(d){ 
     481                                if(d.path == "notend"){ 
     482                                        return 'normal'; 
     483                                }else{ 
     484                                        return 'pointer'; 
     485                                } 
     486                        }); 
    480487 
    481488                // nodes驟榊�繧呈ク。縺励ヮ繝シ繝峨ユ繧ュ繧ケ繝医�菴懈� 
     
    507514                        .attr("class", "tscore") 
    508515                        .attr("x", function(d) { return (d.x + scoreleftmargin); }) 
    509                         .attr("y", function(d) { return d.y; }) 
     516                        .attr("y", function(d) { return d.y + 4; }) 
    510517                        .text(function(d) { return d.score; }) 
    511518                        .style("fill", '#ff0000') 
     
    544551                        if(d.nodeid == 0 || d.path == "notend"){ 
    545552                                // 繝代せ陦ィ遉コ鬆伜沺繧偵ョ繝輔か繝ォ繝医↓ 
    546                                 $('.SBSelectedPath').html('<h1>Please <span style="color: hsl(150, 50%, 75%);">select a leaf node</span> and <span style=\"color: hsl(200, 50%, 75%);\">push button</span> to generate a SPARQL</h1>'); 
     553                                $('.SBSelectedPath').html('<h1>Please <span style="color: hsl(150, 50%, 75%);">select a leaf node</span> and click to generate a SPARQL</h1>'); 
    547554                        // 譛ォ遶ッ繝弱�繝峨↑繧� 
    548555                        }else{ 
    549556 
    550                                 // 繝代せ陦ィ遉コ鬆伜沺逕ィ譁�ュ怜��医ず繧ァ繝阪Ξ繝シ繝医�繧ソ繝ウ繧偵∪縺夊ソス蜉�� 
    551                                 var resultText = '<div class="SBGenButton" onclick="generateSPARQL()">Generate<br />SPARQL</div>'; 
     557                                // 繝代せ陦ィ遉コ鬆伜沺逕ィ譁�ュ怜� 
     558                                var resultText = ''; 
    552559                                // 繝代せ縺ョ蜷榊燕驟榊�蛻�セ後m縺九i郢ー繧願ソ斐@縺ェ縺後i 
    553560                                for (var i = pathname.length;i > 0; i--){ 
     
    645652                                }); 
    646653 
    647             // 蜷�Μ繝ウ繧ッ縺ォ蟇セ縺� 
    648             link 
    649                 // 邱壹�濶イ蛻、螳� 
    650                 .style("stroke", function(d){ 
    651  
    652                         var strokecolor = "#999"; 
     654                        // 蜷�Μ繝ウ繧ッ縺ォ蟇セ縺� 
     655                        link 
     656                                // 邱壹�濶イ蛻、螳� 
     657                                .style("stroke", function(d){ 
     658 
     659                                        var strokecolor = "#999"; 
    653660 
    654661                                        // 繝代せ縺ョ繝弱�繝画焚縺縺醍ケー繧願ソ斐@縺ェ縺後i 
     
    661668                                        } 
    662669 
     670                                        // 邱壹�濶イ繧定ソ斐☆ 
    663671                                        return strokecolor; 
    664                 }); 
    665  
    666             // 縺薙%縺セ縺ァ縺ョ險ュ螳壹r蜈�↓蜀肴緒逕サ 
    667             redraw(); 
    668  
    669         // 繝弱�繝峨∈縺ョ繧ッ繝ェ繝�け縺ァ驕ク謚槫崋螳壼喧�亥所縺ウ謚倥j逡ウ縺ソ蜃ヲ逅�シ� 
    670         }).on("click", function(d){ 
    671  
    672             // 蜷�ヮ繝シ繝峨↓蟇セ縺� 
    673             node 
    674                 // 霈ェ驛ュ邱壹�蛻、螳� 
    675                 .style("stroke", function(d) { 
    676                     // 繝�ヵ繧ゥ繝ォ繝医�濶イ繧偵そ繝�ヨ 
    677                     var strokecolor = "#fafafa" 
    678                     // 陦ィ遉コ繝輔Λ繧ー縺後が繝ウ繝槭え繧ケ荳ュ繝サ蝗コ螳壻クュ繝サ遘サ蜍穂クュ�磯∈謚槭&繧後※縺�k繝弱�繝会シ峨↑繧峨� 
    679                     if(d.view == "now" || d.view == "clicked" || d.view == "moved"){ 
    680                         // 濶イ繧定オ、縺ォ 
    681                         strokecolor = "#ffaaaa" 
    682                         // 陦ィ遉コ繝輔Λ繧ー繧貞崋螳壻クュ縺ォ 
    683                         d.view = "clicked"; 
    684                     } 
    685                     // 縺薙%縺セ縺ァ縺ァ縺ァ縺阪◆濶イ繧定ソ斐☆ 
    686                     return strokecolor; 
    687                 }); 
    688  
    689             // 蜷�Μ繝ウ繧ッ縺ォ蟇セ縺� 
    690             tlink 
    691                 // 繝�く繧ケ繝郁。ィ遉コ蛻、螳� 
    692                 .text(function(d) { 
    693                     // 繝�ヵ繧ゥ繝ォ繝医〒遨コ縺ォ 
    694                     var linktext = ""; 
    695                     // 陦ィ遉コ繝輔Λ繧ー縺檎樟蝨ィ陦ィ遉コ荳ュ縺セ縺溘�蝗コ螳壼喧貂医∩縺ェ繧峨��医°縺、謚倥j逡ウ縺ソ荳ュ縺ァ縺ェ縺代l縺ー�� 
    696                     if((d.view == "now" || d.view == "fix") && (node.data()[d.target].view != "hide")){ 
    697                         // 繝ェ繝ウ繧ッ繝�く繧ケ繝医↓繝励Ο繝代ユ繧」縺ョ蛟、繧偵そ繝�ヨ 
    698                         linktext = d.property 
    699                         // 陦ィ遉コ繝輔Λ繧ー繧貞崋螳壻クュ縺ォ 
    700                         d.view = "fix"; 
    701                     } 
    702                     // 繝�く繧ケ繝医r霑斐☆ 
    703                     return linktext; 
    704                 }); 
    705  
    706             // 縺薙%縺セ縺ァ縺ョ蜃ヲ逅�オ先棡繧貞�縺ォ蜀肴緒逕サ 
    707             redraw(); 
    708  
    709         }); 
    710  
    711         // 蜀肴緒逕サ髢「謨ー 
    712         var redraw = function (duration){ 
    713  
    714             // 縺九¢繧区凾髢薙′譛ェ謖�ョ壹↑繧峨� 
    715             if(duration == undefined){ 
    716                 // 0.5遘偵°縺代※繧「繝九Γ繝シ繧キ繝ァ繝ウ 
    717                 duration = 500; 
    718             } 
    719  
    720             // 蜷�Μ繝ウ繧ッ縺ォ縺、縺�※險ュ螳壹&繧後◆菴咲スョ縺ォ蜀肴緒逕サ 
    721             link 
    722                 .transition() 
    723                 .duration(duration) 
    724                 .attr("x1", function(d) {return node.data()[d.source].x;}) 
    725                 .attr("y1", function(d) {return node.data()[d.source].y;}) 
    726                 .attr("x2", function(d) {return node.data()[d.target].x;}) 
    727                 .attr("y2", function(d) {return node.data()[d.target].y;}); 
    728  
    729             // 蜷�ヮ繝シ繝峨↓縺、縺�※險ュ螳壹&繧後◆菴咲スョ縺ォ蜀肴緒逕サ�医°縺、謚倥j縺溘◆縺セ繧御クュ縺ョ蝣エ蜷医�謠冗判蛻�イ仙�逅�シ� 
    730             node 
    731                 .transition() 
    732                 .duration(duration) 
    733                 .attr("cx", function(d) {return d.x;}) 
    734                 .attr("cy", function(d) {return d.y;}); 
    735  
    736             // 蜷�ヮ繝シ繝峨ユ繧ュ繧ケ繝医↓縺、縺�※險ュ螳壹&繧後◆菴咲スョ縺ォ蜀肴緒逕サ縲√ユ繧ュ繧ケ繝域緒逕サ菴咲スョ繧剃ク贋ク九↓謖ッ繧具シ医°縺、謚倥j縺溘◆縺セ繧御クュ縺ョ蝣エ蜷医�謠冗判蛻�イ仙�逅�シ� 
    737             tnode 
    738             .transition() 
    739             .duration(duration) 
    740             .attr("x", function(d) {return d.x;}) 
    741             .attr("y", function(d) { 
    742                 // 繝�ヵ繧ゥ繝ォ繝医〒蟆代@荳九£繧� 
    743                 var updown = (self.NODEHEIGHT * 0.4); 
    744                 // 螂�焚逡ェ逶ョ縺ョ豺ア縺輔↑繧牙ー代@荳翫£繧� 
    745                 if(d.group % 2 == 1){ 
    746                     updown = -(self.NODEHEIGHT * 0.2); 
    747                 } 
    748                 // 縺昴�蛟、繧帝ォ倥&縺ォ霑斐☆縺薙→縺ァ繝�く繧ケ繝域緒逕サ菴咲スョ縺御コ偵>驕輔>縺ォ縺ェ繧� 
    749                 return d.y + updown; 
    750             }); 
    751  
    752             // 蜷�Μ繝ウ繧ッ繝�く繧ケ繝医↓縺、縺�※險ュ螳壹&繧後◆菴咲スョ縺ォ蜀肴緒逕サ 
    753             tlink 
    754                 .transition() 
    755                 .duration(duration) 
    756                 .attr("x", function(d) {return (node.data()[d.source].x + node.data()[d.target].x) / 2;}) 
    757                 .attr("y", function(d) {return ((node.data()[d.source].y + node.data()[d.target].y) / 2) + 5;}); 
    758  
    759         }; 
    760  
    761         // 閭梧勹驛ィ蛻�′繧ッ繝ェ繝�け縺輔l縺溘i陦ィ遉コ縺ョ蝗コ螳壼喧繧定ァ」髯、 
    762         bg.on("click", function() { 
    763             // 繝��繝ォ繝√ャ繝励r髱櫁。ィ遉コ 
    764             $('.SBTooltip').hide(); 
    765             d3.selectAll(".node").style("stroke-width", function(d) { return '1.5px'; }); 
    766             d3.selectAll(".node").style("stroke", function(d) { return '#ffffff'; }); 
    767  
    768             // 蜷�ヮ繝シ繝峨�霈ェ驛ュ邱壹�濶イ繧偵ョ繝輔か繝ォ繝医↓ 
    769             node 
    770                 .style("stroke", function(d){ 
    771                     if(d.view != "hide"){ 
    772                         d.view = "no"; 
    773                     } 
    774                     return "#fafafa"; 
    775                 }); 
    776  
    777             // 繝ェ繝ウ繧ッ繝�く繧ケ繝医r蜈ィ縺ヲ遨コ縺ォ 
    778             tlink 
    779                 .text(function(d) { 
    780                     d.view = "no"; 
    781                     return ""; 
    782                 }); 
    783  
    784             // 繝ェ繝ウ繧ッ縺ョ濶イ繧貞�縺ヲ繝�ヵ繧ゥ繝ォ繝医↓ 
    785             link 
    786                 .style("stroke", function(d){ 
    787                     return "#999"; 
    788                 }); 
    789  
    790             /* 
    791             if(svg.attr("width") == width){ 
    792                     svg.attr("width", (width / 5)) 
    793                     .attr("height", (width * 9 / 16 / 5)) 
    794                     .attr("viewBox", "0 0 " + width + " " + (width * 9 / 16)); 
    795             }else{ 
    796                     svg.attr("width", width) 
    797                     .attr("height", height) 
    798                     .attr("viewBox", "0 0 " + width + " " + height); 
    799             } 
    800             */ 
    801  
    802         }); 
    803  
    804         // 蛻晏屓縺ョ縺ソduration繧�縺ィ謖�ョ壹@蜀肴緒逕サ�医い繝九Γ繝シ繧キ繝ァ繝ウ縺ェ縺暦シ� 
    805         redraw(0); 
    806  
    807     }else{ 
    808         // SVG縺ョ蜑企勁 
    809         d3.select(".SBGraph svg").remove(); 
    810     } 
     672                                }); 
     673 
     674                        // 縺薙%縺セ縺ァ縺ョ險ュ螳壹r蜈�↓蜀肴緒逕サ 
     675                        redraw(); 
     676 
     677                // 繧ッ繝ェ繝�け縺輔l縺溘→縺� 
     678                }).on("click", function(d){ 
     679                        // 譛ォ遶ッ繝弱�繝峨↑繧峨せ繝代�繧ッ繝ォ逋コ陦� 
     680                        if(d.path != "notend"){ 
     681                                generateSPARQL(); 
     682                        } 
     683                }); 
     684 
     685                // 蜀肴緒逕サ髢「謨ー 
     686                var redraw = function (duration){ 
     687 
     688                        // 縺九¢繧区凾髢薙′譛ェ謖�ョ壹↑繧峨� 
     689                        if(duration == undefined){ 
     690                                // 0.5遘偵°縺代※繧「繝九Γ繝シ繧キ繝ァ繝ウ 
     691                                duration = 500; 
     692                        } 
     693 
     694                        // 蜷�Μ繝ウ繧ッ縺ォ縺、縺�※險ュ螳壹&繧後◆菴咲スョ縺ォ蜀肴緒逕サ 
     695                        link 
     696                                .transition() 
     697                                .duration(duration) 
     698                                .attr("x1", function(d) {return node.data()[d.source].x;}) 
     699                                .attr("y1", function(d) {return node.data()[d.source].y;}) 
     700                                .attr("x2", function(d) {return node.data()[d.target].x;}) 
     701                                .attr("y2", function(d) {return node.data()[d.target].y;}); 
     702 
     703                        // 蜷�ヮ繝シ繝峨↓縺、縺�※險ュ螳壹&繧後◆菴咲スョ縺ォ蜀肴緒逕サ 
     704                        node 
     705                                .transition() 
     706                                .duration(duration) 
     707                                .attr("cx", function(d) {return d.x;}) 
     708                                .attr("cy", function(d) {return d.y;}); 
     709 
     710                        // 蜷�ヮ繝シ繝峨ユ繧ュ繧ケ繝医↓縺、縺�※險ュ螳壹&繧後◆菴咲スョ縺ォ蜀肴緒逕サ縲√ユ繧ュ繧ケ繝域緒逕サ菴咲スョ繧剃ク贋ク九↓謖ッ繧� 
     711                        tnode 
     712                                .transition() 
     713                                .duration(duration) 
     714                                .attr("x", function(d) {return d.x;}) 
     715                                .attr("y", function(d) { 
     716                                        // 繝�ヵ繧ゥ繝ォ繝医〒蟆代@荳九£繧� 
     717                                        var updown = (NODEHEIGHT * 0.4); 
     718                                        // 螂�焚逡ェ逶ョ縺ョ豺ア縺輔↑繧牙ー代@荳翫£繧� 
     719                                        if(d.group % 2 == 1){ 
     720                                                updown = -(NODEHEIGHT * 0.2); 
     721                                        } 
     722                                        // 縺昴�蛟、繧帝ォ倥&縺ォ霑斐☆縺薙→縺ァ繝�く繧ケ繝域緒逕サ菴咲スョ縺御コ偵>驕輔>縺ォ縺ェ繧� 
     723                                        return d.y + updown; 
     724                                }); 
     725 
     726                        // 蜷�Μ繝ウ繧ッ繝�く繧ケ繝医↓縺、縺�※險ュ螳壹&繧後◆菴咲スョ縺ォ蜀肴緒逕サ 
     727                        tlink 
     728                                .transition() 
     729                                .duration(duration) 
     730                                .attr("x", function(d) {return (node.data()[d.source].x + node.data()[d.target].x) / 2;}) 
     731                                .attr("y", function(d) {return ((node.data()[d.source].y + node.data()[d.target].y) / 2) + 4;}); 
     732 
     733                }; 
     734 
     735                // 蛻晏屓縺ョ縺ソduration繧�縺ィ謖�ョ壹@蜀肴緒逕サ�医い繝九Γ繝シ繧キ繝ァ繝ウ縺ェ縺暦シ� 
     736                redraw(0); 
     737 
     738        }else{ 
     739                // SVG縺ョ蜑企勁 
     740                d3.select(".SBGraph svg").remove(); 
     741        } 
    811742}; 
    812743 
    813 make_data = function(tdepth, ret, parent, depth){ 
    814         // ret縺梧悴螳夂セゥ縺ェ繧峨�螳夂セゥ縺励※莉」蜈・ 
    815         if (ret == undefined){ 
    816                 ret = new Object(); 
    817                 ret['nodes'] = new Array(); 
    818                 ret['links'] = new Array(); 
    819         } 
    820  
     744 
     745// 繝��繧ソ菴懈�繝。繧ス繝�ラ 
     746make_data = function(){ 
     747 
     748        // 邨先棡逕ィ繧ェ繝悶ず繧ァ繧ッ繝医r蛻晄悄蛹� 
     749        ret = new Object(); 
     750        ret['nodes'] = new Array(); 
     751        ret['links'] = new Array(); 
     752 
     753        // 蜷�ィョ螟画焚縺ョ蛻晄悄蛹� 
    821754        PATHNUM = 0; 
    822755        MAXDEPTH = 0; 
    823756        TREESPACE = 0; 
    824         NODEHEIGHT = 50; 
    825757        DRAWHEIGHT = NODEHEIGHT; 
    826758 
     759        // 陦ィ遉コ縺吶k繝代せ謨ー 
    827760        var viewnum; 
    828761 
     762        // jsontext繧貞叙蠕� 
    829763        var obj = jsontext; 
    830764 
     765        // 邨先棡繝代せ謨ー縺ョ繧ケ繧ソ繧、繝ォ繧偵Μ繧サ繝�ヨ 
    831766        $('.SBResult').css('color', 'black').css('font-weight', 'normal').css('margin-top', '4px'); 
    832767 
     768        // 隍�焚蠖「縺ョs繧偵▽縺代k 
    833769        $('.SBPlural').text('s'); 
    834770 
     771        // 繝代せ縺ョ謨ー縺�縺縺」縺溘i 
    835772        if(obj.length == 0){ 
     773                // 邨先棡繝代せ謨ー縺ョ繧ケ繧ソ繧、繝ォ繧定オ、縺ョ螟ェ蟄励↓縺鈴伜沺蜀�ク贋ク倶クュ螟ョ縺ォ 
    836774                $('.SBResult').css('color', 'red').css('font-weight', 'bold').css('margin-top', '20px'); 
     775                // 隍�焚蠖「縺ョs繧貞炎髯、 
    837776                $('.SBPlural').text(''); 
     777        // 繝代せ謨ー縺�縺ェ繧� 
    838778        }else if(obj.length == 1){ 
     779                // 隍�焚蠖「縺ョs繧貞炎髯、 
    839780                $('.SBPlural').text(''); 
    840781        } 
    841782 
     783        // 繝代せ縺ョ謨ー縺悟香莉・荳九↑繧� 
    842784        if(obj.length <= 10){ 
     785                // 陦ィ遉コ謨ー繧偵ヱ繧ケ謨ー縺ォ 
    843786                viewnum = obj.length; 
     787                // 邨先棡繝代せ謨ー縺ョ繧ケ繧ソ繧、繝ォ繧帝伜沺蜀�ク贋ク倶クュ螟ョ縺ォ 
    844788                $('.SBResult').css('margin-top', '20px'); 
     789                // 蜈ィ陦ィ遉コ繝懊ち繝ウ繧帝國縺� 
    845790                $('.SBViewall').hide(); 
     791        // 繝ェ繝溘ャ繝医′10縺ェ繧峨� 
    846792        }else if(pathlimit == 10){ 
     793                // 陦ィ遉コ繝代せ謨ー繧�0縺ォ 
    847794                viewnum = 10; 
     795                // 蜈ィ陦ィ遉コ繝懊ち繝ウ繧貞�縺� 
    848796                $('.SBViewall').show(); 
     797        // 繝ェ繝溘ャ繝医′縺ェ縺代l縺ー 
    849798        }else{ 
     799                // 陦ィ遉コ繝代せ謨ー繧貞�繝代せ謨ー縺ォ 
    850800                viewnum = obj.length; 
     801                // 邨先棡繝代せ謨ー縺ョ繧ケ繧ソ繧、繝ォ繧帝伜沺蜀�ク贋ク倶クュ螟ョ縺ォ 
    851802                $('.SBResult').css('margin-top', '20px'); 
     803                // 蜈ィ陦ィ遉コ繝懊ち繝ウ繧帝國縺� 
    852804                $('.SBViewall').hide(); 
    853805        } 
    854806 
     807        // 邨先棡繝代せ謨ー縺ョ蛟、繧呈峩譁ー 
    855808        $('.SBPathnum').text(obj.length); 
     809        // 邨先棡繝代せ謨ー繧定。ィ遉コ 
    856810        $('.SBResult').show(); 
    857811 
    858     // obj繝医ャ繝鈴嚴螻、縺ョ謨ー縺縺醍ケー繧願ソ斐@縺ェ縺後i 
    859     for(var i = 0; i < viewnum; i++){ 
    860         if(i == 0){ 
    861             // 蛻晏屓縺縺代Ν繝シ繝医ヮ繝シ繝峨r繝励ャ繧キ繝・ 
    862             ret['nodes'].push({'name': obj[0]['label'], 'uri': obj[0]['startClass'], 'group': 0, 'x':50, 'y':50, 'nodeid':ret['nodes'].length, 'view' : 'no', 'path': 'notend', 'nodecolor': 'hsl(40, 50%, 75%)'}); 
    863         } 
    864         // 蜈医↓source縺ォ0�医Ν繝シ繝茨シ峨r莉」蜈・ 
    865         var source = 0; 
    866         // 蜈ア騾壹Ν繝シ繝亥愛螳壹rtrue縺ォ 
    867         var isCommon = true; 
    868  
    869         var score = obj[i]['score']; 
    870  
    871         // classLinks縺ョ謨ー縺縺醍ケー繧願ソ斐@縺ェ縺後i 
    872         for(var j = 0;j < obj[i]['classLinks'].length; j++){ 
    873  
    874             // 繝ェ繝ウ繧ッ縺ョ蜷榊燕繧旦RL譛ォ蟆セ縺九i蜿門セ� 
    875             var propertytext = obj[i]['classLinks'][j]['predicate']; 
    876             var propertysplit1 = propertytext.split("/"); 
    877             var propertysplit2 = propertysplit1[propertysplit1.length - 1]; 
    878             var propertysplit3 = propertysplit2.split("#"); 
    879             propertytext = propertysplit3[propertysplit3.length - 1]; 
    880  
    881             if(MAXDEPTH < j+1){ 
    882                 MAXDEPTH = j+1; 
    883             } 
    884             // 縺薙%縺セ縺ァ蜈ア騾壹Ν繝シ繝医↑繧� 
    885             if(isCommon){ 
    886                 // 莉雁屓繧ょ�騾壹°遒コ隱阪☆繧九◆繧√�繝輔Λ繧ー 
    887                 var isCommonNow = false; 
    888                 // nodes驟榊�縺ォ蜷後§linkedClass縺梧里縺ォ縺ゅk縺狗「コ隱� 
    889                 var targets = []; 
    890                 for(var k = 0; k < ret['nodes'].length; k++){ 
    891                     // 蜷碁嚴螻、縺九▽蜷後§蜷榊燕縺ョ繧ゅ�縺後≠縺」縺溘itargets驟榊�縺ォ逡ェ蜿キ繧定ソス蜉 
    892                     if(ret['nodes'][k]['group'] == (j+1) && obj[i]['classLinks'][j]['linkedClass'] == ret['nodes'][k]['uri']){ 
    893                         targets.push(k); 
    894                     } 
    895                 } 
    896  
    897                 // 譌「縺ォ縺ゅ▲縺溷エ蜷医�links驟榊�縺ォ蜷後§link縺悟ュ伜惠縺吶k縺狗「コ隱� 
    898                 if(targets.length != 0){ 
    899                     // 蜈医⊇縺ゥ隕九▽縺代◆targets縺ョ謨ー縺縺醍ケー繧願ソ斐@縺ェ縺後i 
    900                     for(var l = 0; l <targets.length; l++){ 
    901                         // links驟榊�縺ォ蜈ィ縺丞酔縺俶擅莉カ縺ョ繧ゅ�縺後≠繧九°遒コ隱� 
    902                         for(var m = 0; m < ret['links'].length; m++){ 
    903                             // 縺ゅ▲縺溷エ蜷井サ雁屓縺ョ繧ゅ�縺ッ霑ス蜉縺帙★source繧呈峩譁ー縺励※谺。縺ク 
    904                             if(ret['links'][m]['source'] == source && ret['links'][m]['target'] == targets[l] && ret['links'][m]['uri'] == obj[i]['classLinks'][j]['predicate'] && !isCommonNow){ 
    905                                 // 蜈ア騾壹Ν繝シ繝医ヵ繝ゥ繧ー繧偵が繝ウ 
    906                                 isCommonNow = true; 
    907                                 source = targets[l]; 
    908                             } 
    909                         } 
    910                     } 
    911  
    912                     // 蜷дarget繧堤「コ隱阪@縺ヲ蜈ア騾壹Ν繝シ繝医〒縺ッ縺ェ縺九▲縺溷エ蜷域眠隕剰ソス蜉 
    913                     if(!isCommonNow){ 
    914                         isCommon = false; 
    915                         ret['nodes'].push({'name': obj[i]['classLinks'][j]['label'], 'uri': obj[i]['classLinks'][j]['linkedClass'], 'group': (j+1), 'x':0, 'y':0, 'dy':0, 'nodeid':ret['nodes'].length, 'view' : 'no', 'path': 'notend', 'nodecolor': '#cccccc'}); 
    916                         ret['links'].push({'source':source, 'target':ret['nodes'].length - 1, 'value':5, 'property': propertytext, 'uri': obj[i]['classLinks'][j]['predicate'], 'view' : 'no'}); 
    917                         source = ret['nodes'].length - 1; 
    918                     } 
    919  
    920                 // 縺ェ縺九▲縺溷エ蜷医�蛻・譚。莉カ縺ェ縺ョ縺ァ譁ー隕剰ソス蜉縺励※谺。縺ク 
    921                 }else{ 
    922  
    923                     isCommon = false; 
    924                     ret['nodes'].push({'name': obj[i]['classLinks'][j]['label'], 'uri': obj[i]['classLinks'][j]['linkedClass'], 'group': (j+1), 'x':0, 'y':0, 'dy':0, 'nodeid':ret['nodes'].length, 'view' : 'no', 'path': 'notend', 'nodecolor': '#cccccc'}); 
    925                     ret['links'].push({'source':source, 'target':ret['nodes'].length - 1, 'value':5, 'property': propertytext, 'uri': obj[i]['classLinks'][j]['predicate'], 'view' : 'no'}); 
    926                     source = ret['nodes'].length - 1; 
    927                 } 
    928             // 譌「縺ォ蜈ア騾壹Ν繝シ繝医〒縺ェ縺�↑繧画眠隕剰ソス蜉縺励※谺。縺ク 
    929             }else{ 
    930                 ret['nodes'].push({'name': obj[i]['classLinks'][j]['label'], 'uri': obj[i]['classLinks'][j]['linkedClass'], 'group': (j+1), 'x':0, 'y':0, 'dy':0, 'nodeid':ret['nodes'].length, 'view' : 'no', 'path': 'notend', 'nodecolor': '#cccccc'}); 
    931                 ret['links'].push({'source':source, 'target':ret['nodes'].length - 1, 'value':5, 'property': propertytext, 'uri': obj[i]['classLinks'][j]['predicate'], 'view' : 'no'}); 
    932                 source = ret['nodes'].length - 1; 
    933             } 
    934  
    935         } 
    936         ret['nodes'][ret['nodes'].length - 1]['path'] = obj[i]; 
    937         ret['nodes'][ret['nodes'].length - 1]['score'] = score; 
    938         ret['nodes'][ret['nodes'].length - 1]['nodecolor'] = 'hsl(150, 50%, 75%)'; 
    939         PATHNUM++; 
    940     } 
    941     TREESPACE = $('.SBGraph').width() / (MAXDEPTH + 1); 
    942  
    943     // 縺ァ縺阪◆邨先棡繧定ソ斐☆ 
    944     return ret; 
     812        // obj繝医ャ繝鈴嚴螻、縺ョ謨ー縺縺醍ケー繧願ソ斐@縺ェ縺後i 
     813        for(var i = 0; i < viewnum; i++){ 
     814                if(i == 0){ 
     815                        // 蛻晏屓縺縺代Ν繝シ繝医ヮ繝シ繝峨r繝励ャ繧キ繝・ 
     816                        ret['nodes'].push({'name': obj[0]['label'], 'uri': obj[0]['startClass'], 'group': 0, 'x':50, 'y':50, 'nodeid':ret['nodes'].length, 'path': 'notend', 'nodecolor': 'hsl(40, 50%, 75%)'}); 
     817                } 
     818                // 蜈医↓source縺ォ0�医Ν繝シ繝茨シ峨r莉」蜈・ 
     819                var source = 0; 
     820                // 蜈ア騾壹Ν繝シ繝亥愛螳壹rtrue縺ォ 
     821                var isCommon = true; 
     822 
     823                // 縺薙�繝代せ縺ョ繧ケ繧ウ繧「繧貞叙蠕� 
     824                var score = obj[i]['score']; 
     825 
     826                // classLinks縺ョ謨ー縺縺醍ケー繧願ソ斐@縺ェ縺後i 
     827                for(var j = 0;j < obj[i]['classLinks'].length; j++){ 
     828 
     829                        // 繝ェ繝ウ繧ッ縺ョ蜷榊燕繧旦RL譛ォ蟆セ縺九i蜿門セ� 
     830                        var propertytext = obj[i]['classLinks'][j]['predicate']; 
     831                        var propertysplit1 = propertytext.split("/"); 
     832                        var propertysplit2 = propertysplit1[propertysplit1.length - 1]; 
     833                        var propertysplit3 = propertysplit2.split("#"); 
     834                        propertytext = propertysplit3[propertysplit3.length - 1]; 
     835 
     836                        // 豺ア縺輔′譛€螟ァ繧医j螟ァ縺阪¢繧後�譖エ譁ー 
     837                        if(MAXDEPTH < j+1){ 
     838                                MAXDEPTH = j+1; 
     839                        } 
     840                        // 縺薙%縺セ縺ァ蜈ア騾壹Ν繝シ繝医↑繧� 
     841                        if(isCommon){ 
     842                                // 莉雁屓繧ょ�騾壹°遒コ隱阪☆繧九◆繧√�繝輔Λ繧ー 
     843                                var isCommonNow = false; 
     844                                // nodes驟榊�縺ォ蜷後§linkedClass縺梧里縺ォ縺ゅk縺狗「コ隱� 
     845                                var targets = []; 
     846                                for(var k = 0; k < ret['nodes'].length; k++){ 
     847                                        // 蜷碁嚴螻、縺九▽蜷後§蜷榊燕縺ョ繧ゅ�縺後≠縺」縺溘itargets驟榊�縺ォ逡ェ蜿キ繧定ソス蜉 
     848                                        if(ret['nodes'][k]['group'] == (j+1) && obj[i]['classLinks'][j]['linkedClass'] == ret['nodes'][k]['uri']){ 
     849                                                targets.push(k); 
     850                                        } 
     851                                } 
     852 
     853                                // 譌「縺ォ縺ゅ▲縺溷エ蜷医�links驟榊�縺ォ蜷後§link縺悟ュ伜惠縺吶k縺狗「コ隱� 
     854                                if(targets.length != 0){ 
     855                                        // 蜈医⊇縺ゥ隕九▽縺代◆targets縺ョ謨ー縺縺醍ケー繧願ソ斐@縺ェ縺後i 
     856                                        for(var l = 0; l <targets.length; l++){ 
     857                                                // links驟榊�縺ォ蜈ィ縺丞酔縺俶擅莉カ縺ョ繧ゅ�縺後≠繧九°遒コ隱� 
     858                                                for(var m = 0; m < ret['links'].length; m++){ 
     859                                                        // 縺ゅ▲縺溷エ蜷井サ雁屓縺ョ繧ゅ�縺ッ霑ス蜉縺帙★source繧呈峩譁ー縺励※谺。縺ク 
     860                                                        if(ret['links'][m]['source'] == source && ret['links'][m]['target'] == targets[l] && ret['links'][m]['uri'] == obj[i]['classLinks'][j]['predicate'] && !isCommonNow){ 
     861                                                                // 蜈ア騾壹Ν繝シ繝医ヵ繝ゥ繧ー繧偵が繝ウ 
     862                                                                isCommonNow = true; 
     863                                                                source = targets[l]; 
     864                                                        } 
     865                                                } 
     866                                        } 
     867 
     868                                        // 蜷дarget繧堤「コ隱阪@縺ヲ蜈ア騾壹Ν繝シ繝医〒縺ッ縺ェ縺九▲縺溷エ蜷域眠隕剰ソス蜉 
     869                                        if(!isCommonNow){ 
     870                                                isCommon = false; 
     871                                                ret['nodes'].push({'name': obj[i]['classLinks'][j]['label'], 'uri': obj[i]['classLinks'][j]['linkedClass'], 'group': (j+1), 'x':0, 'y':0, 'nodeid':ret['nodes'].length, 'path': 'notend', 'nodecolor': '#cccccc'}); 
     872                                                ret['links'].push({'source':source, 'target':ret['nodes'].length - 1, 'property': propertytext, 'uri': obj[i]['classLinks'][j]['predicate']}); 
     873                                                source = ret['nodes'].length - 1; 
     874                                        } 
     875 
     876                                // 縺ェ縺九▲縺溷エ蜷医�蛻・譚。莉カ縺ェ縺ョ縺ァ譁ー隕剰ソス蜉縺励※谺。縺ク 
     877                                }else{ 
     878 
     879                                        isCommon = false; 
     880                                        ret['nodes'].push({'name': obj[i]['classLinks'][j]['label'], 'uri': obj[i]['classLinks'][j]['linkedClass'], 'group': (j+1), 'x':0, 'y':0, 'nodeid':ret['nodes'].length, 'path': 'notend', 'nodecolor': '#cccccc'}); 
     881                                        ret['links'].push({'source':source, 'target':ret['nodes'].length - 1, 'property': propertytext, 'uri': obj[i]['classLinks'][j]['predicate']}); 
     882                                        source = ret['nodes'].length - 1; 
     883                                } 
     884                        // 譌「縺ォ蜈ア騾壹Ν繝シ繝医〒縺ェ縺�↑繧画眠隕剰ソス蜉縺励※谺。縺ク 
     885                        }else{ 
     886                                ret['nodes'].push({'name': obj[i]['classLinks'][j]['label'], 'uri': obj[i]['classLinks'][j]['linkedClass'], 'group': (j+1), 'x':0, 'y':0, 'nodeid':ret['nodes'].length, 'path': 'notend', 'nodecolor': '#cccccc'}); 
     887                                ret['links'].push({'source':source, 'target':ret['nodes'].length - 1, 'property': propertytext, 'uri': obj[i]['classLinks'][j]['predicate']}); 
     888                                source = ret['nodes'].length - 1; 
     889                        } 
     890 
     891                } 
     892                // 譛€蠕鯉シ域忰遶ッ繝弱�繝会シ峨↓蜷�ィョ蛟、繧定ソス蜉 
     893                ret['nodes'][ret['nodes'].length - 1]['path'] = obj[i]; 
     894                ret['nodes'][ret['nodes'].length - 1]['score'] = score; 
     895                ret['nodes'][ret['nodes'].length - 1]['nodecolor'] = 'hsl(150, 50%, 75%)'; 
     896                // 繝代せ謨ー繧定ソス蜉 
     897                PATHNUM++; 
     898        } 
     899        // 繝弱�繝蛾俣縺ョ繧ケ繝壹�繧ケ繧定ィ育ョ� 
     900        TREESPACE = $('.SBGraph').width() / (MAXDEPTH + 1); 
     901 
     902        // 縺ァ縺阪◆邨先棡繧定ソ斐☆ 
     903        return ret; 
    945904}; 
    946905