差分発生行の前後
無視リスト:
更新日時:
2014/07/07 00:27:23 (10 年 前)
更新者:
nori
ログメッセージ:

support Literals

ファイル:
1 変更

凡例:

変更なし
追加
削除
  • BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/AcquiredStructureAnalyzer.java

    r108 r112  
    175175 
    176176                // SELECT 
    177                 queryStr.append("SELECT DISTINCT ?indPropCat ?c ?d ?p ?numLnkInsStart ?numLnkInsEnd ?numInsDom ?numInsRan ?numTriples ?isStartClsLim ?isEndClsLim\n"); 
     177                queryStr.append("SELECT DISTINCT ?indPropCat ?c ?dat ?d ?p ?numLnkInsStart ?numLnkInsEnd ?numInsDom ?numInsRan ?numTriples ?isStartClsLim ?isEndClsLim\n"); 
    178178 
    179179//              if (targetGraphURIs != null) { 
     
    191191                queryStr.append(" ?cr <http://sparqlbuilder.org/startClass> <" + originClass + ">. \n"); 
    192192                queryStr.append(" ?cr <http://sparqlbuilder.org/endClass> ?c. \n"); 
     193                queryStr.append(" ?cr <http://sparqlbuilder.org/property> ?p. \n"); 
     194                queryStr.append(" ?cr <http://sparqlbuilder.org/numberOfTriples> ?numTriples. \n"); 
     195                queryStr.append(" ?cr <http://sparqlbuilder.org/numberOfInstancesOfStartClass> ?numLnkInsStart. \n"); 
     196                queryStr.append(" ?cr <http://sparqlbuilder.org/numberOfInstancesOfEndClass> ?numLnkInsEnd. \n"); 
     197                queryStr.append(" ?cr <http://sparqlbuilder.org/startClassLimitedQ> ?isStartClsLim. \n"); 
     198                queryStr.append(" ?cr <http://sparqlbuilder.org/endClassLimitedQ> ?isEndClsLim. \n"); 
     199                queryStr.append("}\n"); 
     200                queryStr.append(" UNION\n"); 
     201                queryStr.append(" {"); 
     202                queryStr.append(" ?cr <http://sparqlbuilder.org/startClass> <" + originClass + ">. \n"); 
     203                queryStr.append(" ?cr <http://sparqlbuilder.org/endDatatype> ?dat. \n"); 
    193204                queryStr.append(" ?cr <http://sparqlbuilder.org/property> ?p. \n"); 
    194205                queryStr.append(" ?cr <http://sparqlbuilder.org/numberOfTriples> ?numTriples. \n"); 
     
    247258                        Resource pro = sol.getResource("p"); 
    248259                        String clsURI = null; 
     260                        String datURI = null; 
    249261                        if (pro != null) { 
    250262                                int indPropCat = 4; 
     
    257269                                Resource ccls = sol.getResource("c"); 
    258270                                Resource dcls = sol.getResource("d"); 
     271                                Resource dat = sol.getResource("dat"); 
    259272                                Direction direction = null; 
    260273                                if(ccls != null && dcls == null ){ 
     
    266279                                                direction = Direction.reverse; 
    267280                                                clsURI = dcls.getURI(); 
     281                                        }else{ 
     282                                                if( ccls == null && dat != null && dcls == null ){ 
     283                                                        clsURI = null; 
     284                                                        direction = Direction.forward; 
     285                                                        datURI = dat.getURI(); 
     286                                                } 
    268287                                        } 
    269288                                } 
     
    309328                                } 
    310329                                 
    311                                 ClassLink cl = new ClassLink(proURI, clsURI, direction, 
     330                                ClassLink cl = new ClassLink(proURI, clsURI, datURI, direction, 
    312331                                                numTriples, numInsDom, numInsRan,  numLnkInsStart, numLnkInsEnd, isStartClsLim, isEndClsLim); 
    313332                                solCLs.add(cl);