예제 #1
0
 protected function _importFromManifest($filename, &$queryResultArray)
 {
     require_once 'Erfurt/Syntax/RdfParser.php';
     $parser = new Erfurt_Syntax_RdfParser();
     $parser->initializeWithFormat('turtle');
     $manifestResult = $parser->parse($filename, Erfurt_Syntax_RdfParser::LOCATOR_FILE);
     $mfAction = 'http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#action';
     // file auslesen...
     foreach ($manifestResult as $s => $pArray) {
         if (isset($pArray[EF_RDF_TYPE]) && $pArray[EF_RDF_TYPE][0]['value'] === 'http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#PositiveSyntaxTest') {
             $queryFileName = substr(urldecode($pArray[$mfAction][0]['value']), 7);
             $queryArray = array();
             $queryArray['name'] = $s;
             $queryArray['file_name'] = $queryFileName;
             $queryArray['group'] = 'Positive syntax tests';
             $queryArray['type'] = 'positive';
             $handle = fopen($queryFileName, "r");
             if ($handle) {
                 $queryArray['query'] = fread($handle, filesize($queryFileName));
                 fclose($handle);
             }
             $queryResultArray[] = array($queryArray);
         } else {
             if (isset($pArray[EF_RDF_TYPE]) && $pArray[EF_RDF_TYPE][0]['value'] === 'http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#NegativeSyntaxTest') {
                 $queryFileName = substr($filename, 0, strrpos($filename, '/') + 1) . substr($pArray["{$mfAction}"][0]['value'], strrpos($pArray["{$mfAction}"][0]['value'], '/'));
                 $queryArray = array();
                 $queryArray['name'] = $s;
                 $queryArray['file_name'] = $queryFileName;
                 $queryArray['group'] = 'Negative syntax tests';
                 $queryArray['type'] = 'negative';
                 $handle = fopen($queryFileName, "r");
                 $queryArray['query'] = fread($handle, filesize($queryFileName));
                 fclose($handle);
                 $queryResultArray[] = array($queryArray);
             } else {
                 continue;
             }
         }
     }
 }
예제 #2
0
 public static function rdfParserWithFormat($format)
 {
     $parser = new Erfurt_Syntax_RdfParser();
     $parser->initializeWithFormat($format);
     return $parser;
 }