diff --git a/classes/Queries.php b/classes/Queries.php index 533f7383abfbbda0c89684c4db9e05be160c9c14..ca3c1c9b2285cd916d9d944bcbb9943ee3dc6055 100644 --- a/classes/Queries.php +++ b/classes/Queries.php @@ -50,9 +50,10 @@ class Queries{ echo $ex->getMessage(); } $result = array(); - if(sizeof($r['results']['bindings']) == 0){ + /*if(sizeof($r['results']['bindings']) == 0){ return 'http://www.w3.org/2000/01/rdf-schema#Resource'; //default value if no type is present - } + }*/ + //$result[] = 'http://www.w3.org/2000/01/rdf-schema#Resource'; //All resources are rdf:type rdfs:Resource foreach($r['results']['bindings'] as $v){ $result[]= $v['class']['value']; } diff --git a/classes/Utils.php b/classes/Utils.php index 9f936edc98d77e9c1e047ec346ec526489d68577..c4b3689a1a135cfc6672eacb7aa0e301d06ad95c 100644 --- a/classes/Utils.php +++ b/classes/Utils.php @@ -226,9 +226,6 @@ class Utils{ $extension = Utils::getExtension($contentType); header('Content-Type: '.$contentType); - if($extension != 'html'){ - $data = Utils::serializeRdf($data, $extension); - } Utils::showView($lodspk, $data, $viewFile); } diff --git a/classes/modules/typeModule.php b/classes/modules/typeModule.php index 7f5f7592f73326235287b2a5de8a6d0737c5aa81..d1c2becca37101636f7e9051ad42aba4e7d48983 100644 --- a/classes/modules/typeModule.php +++ b/classes/modules/typeModule.php @@ -60,14 +60,16 @@ class TypeModule extends abstractModule{ //Check if files for model and view exist $t=Queries::getClass($uri, $endpoints['local']); - $obj = $this->getModelandView($t, $extension); + $obj = $this->getModelandView($t, $extension); $modelFile = $obj['modelFile']; - $lodspk['model'] = $obj['modelDir']; + $lodspk['model'] = $conf['model']['directory']; $viewFile = $obj['viewFile']; - $lodspk['view'] = $obj['viewDir']; + $lodspk['view'] = $obj['view']['directory']; if($viewFile == null){ $lodspk['transform_select_query'] = true; } + + $lodspk['type'] = $modelFile; $lodspk['home'] = $conf['basedir']; $lodspk['baseUrl'] = $conf['basedir']; $lodspk['module'] = 'type'; @@ -75,16 +77,22 @@ class TypeModule extends abstractModule{ $lodspk['contentType'] = $acceptContentType; $lodspk['ns'] = $conf['ns']; $lodspk['endpoint'] = $conf['endpoint']; + $lodspk['view'] = $conf['view']['directory']; $lodspk['add_mirrored_uris'] = true; $lodspk['this']['value'] = $uri; $lodspk['this']['curie'] = Utils::uri2curie($uri); $lodspk['this']['local'] = $localUri; $lodspk['this']['extension'] = $extension; - chdir($conf['home'].$lodspk['model']); + + chdir($conf['home'].$conf['model']['directory']); Utils::queryFile($modelFile, $endpoints['local'], $results, $first); - $results = Utils::internalize($results); - + if($lodspk['resultRdf']){ + echo Utils::serializeRdf($results, $extension); + exit(0); + }else{ + $results = Utils::internalize($results); + } $lodspk['first'] = Utils::getFirsts($results); chdir($conf['home']); if(is_array($results)){ @@ -92,7 +100,8 @@ class TypeModule extends abstractModule{ }else{ $resultsObj = $results; } - Utils::processDocument($viewFile, $lodspk, $resultsObj); + //chdir($conf['home'].$conf['model']['directory']); + Utils::processDocument($viewFile, $lodspk, $resultsObj); } @@ -101,39 +110,45 @@ class TypeModule extends abstractModule{ global $results; global $rPointer; global $lodspk; - $objResult = array(); + $objResult = array('modelFile' => null, 'viewFile' => null); //Defining default views and models $curieType=""; - $objResult['modelFile'] = 'main.query'; - $objResult['viewFile'] = null;//'html.template'; +/* $objResult['modelFile'] = 'main.query'; + $objResult['viewFile'] = 'html.template'; $objResult['modelDir'] = $conf['model']['directory'].'type.rdfs:Resource/html.queries/'; $objResult['viewDir'] = $conf['view']['directory'].'type.rdfs:Resource/'; - + */ //Get the first type available - $typesAndValues = array(); + $typesAndValues = array('rdfs:Resource' => -1); foreach($t as $v){ $curie = Utils::uri2curie($v); $typesAndValues[$curie] = 0; - if(isset($conf['types']['priorities'][$curie]) && $conf['types']['priorities'][$curie] >= 0){ - $typesAndValues[$curie] = $conf['types']['priorities'][$curie]; + if(isset($conf['type']['priorities'][$curie]) && $conf['type']['priorities'][$curie] >= 0){ + $typesAndValues[$curie] = $conf['type']['priorities'][$curie]; } } arsort($typesAndValues); foreach($typesAndValues as $v => $w){ - $auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'; - $auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'; - if(file_exists($auxModelFile) && file_exists($auxViewFile) && $v != null){ - $auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.template'; - $auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.queries'; - $objResult['viewFile'] = $extension.'.template'; - $objResult['modelFile'] = $extension.'.queries'; - break; + $auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.queries'; + $auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.template'; + if($v == null){continue;} + if(file_exists($auxModelFile)){ + $objResult['modelFile'] = $conf['type']['prefix'].$v.'/'.$extension.'.queries'; + if(file_exists($auxViewFile)){ + $objResult['viewFile'] = $conf['type']['prefix'].$v.'/'.$extension.'.template'; + }elseif($extension != 'html'){ //View doesn't exists (and is not HTML) + $objResult['viewFile'] = null; + } + return $objResult; }elseif($extension != 'html' && file_exists($conf['model']['directory'].$conf['type']['prefix'].$v.'/html.queries')){ - $auxViewFile = $conf['view']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.template'; - $auxModelFile = $conf['model']['directory'].$conf['type']['prefix'].$v.'/'.$extension.'.queries'; - $objResult['modelFile'] = $conf['type']['prefix'].$v.'/html.queries'; - $objResult['viewFile'] = null; + $objResult['modelFile'] = $conf['type']['prefix'].$v.'/html.queries'; + if(file_exists($auxViewFile) ){ + $objResult['viewFile'] = $conf['type']['prefix'].$v.'/'.$extension.'.template'; + }else{ + $lodspk['transform_select_query'] = true; + $objResult['viewFile'] = null; + } trigger_error("LODSPeaKr can't find the proper query. Using HTML query instead.", E_USER_NOTICE); break; } diff --git a/classes/modules/uriModule.php b/classes/modules/uriModule.php index c4abe3214947617607f25ef78627827f24798cef..3186fa688f3d5cc7283ef2374b5083710dc63fba 100644 --- a/classes/modules/uriModule.php +++ b/classes/modules/uriModule.php @@ -100,7 +100,6 @@ class UriModule extends abstractModule{ chdir($conf['home'].$conf['model']['directory']); - Utils::queryFile($modelFile, $endpoints['local'], $results, $first); if($lodspk['resultRdf']){ echo Utils::serializeRdf($results, $extension); @@ -137,6 +136,9 @@ class UriModule extends abstractModule{ }elseif($extension != 'html'){ //View doesn't exists (and is not HTML) $viewFile = null; + }else{ + //No HTML representation as fallback, then not recognized by URI module + return array(null, null); } return array($modelFile, $viewFile); }elseif($extension != 'html' && file_exists($conf['model']['directory'].$conf['uri']['prefix'].$uri.'/html.queries')){