Example #1
0
function getSubClassAndProperty($ontology_uri, &$results, $tmp_iri)
{
    global $ns_rdf, $ns_rdfs, $ns_owl, $num_queries, $processed_iris, $included_iris, $parent_included_iris, $strOutput;
    $querystring = "\r\nPREFIX rdf: <{$ns_rdf}>\r\nPREFIX rdfs: <{$ns_rdfs}>\r\nPREFIX owl: <{$ns_owl}>\r\n\r\nSELECT DISTINCT *\r\n\r\nFROM <{$ontology_uri}>\r\n\t\r\nWHERE { \r\n\t{\r\n\t\t?s rdfs:subClassOf <{$tmp_iri}> .\r\n\t\t?s rdfs:label ?o\r\n\t}\r\n\tUNION\r\n\t{\r\n\t\t?s owl:equivalentClass ?s1 .\r\n\t\t?s1 owl:intersectionOf ?s2 .\r\n\t\t?s2 rdf:first <{$tmp_iri}> .\r\n\t\t?s rdfs:label ?o\r\n\t}\r\n}";
    $tmp_results = json_query($querystring);
    $num_queries++;
    if (!empty($tmp_results)) {
        foreach ($tmp_results as $tmp_result) {
            $tmp_iri0 = $tmp_result['s'];
            if (!isset($processed_iris[$tmp_iri0]) && !isset($included_iris[$tmp_iri0]) && !iriImported($tmp_iri0)) {
                $strOutput .= "\r\n<rdf:Description rdf:about=\"{$tmp_iri0}\">\r\n\t\t\t<rdfs:subClassOf rdf:resource=\"{$tmp_iri}\"/>\r\n\t\t  </rdf:Description>\r\n";
                $results[$tmp_iri0] = $tmp_result['o'];
                getSubClassAndProperty($ontology_uri, $results, $tmp_iri0);
            }
        }
    }
    $querystring = "\r\nPREFIX rdf: <{$ns_rdf}>\r\nPREFIX rdfs: <{$ns_rdfs}>\r\nPREFIX owl: <{$ns_owl}>\r\n\r\nSELECT DISTINCT *\r\n\r\nFROM <{$ontology_uri}>\r\n\t\r\nWHERE { \r\n\t{\r\n\t\t?s rdfs:subPropertyOf <{$tmp_iri}> .\r\n\t\t?s rdfs:label ?o\r\n\t}\r\n\tUNION\r\n\t{\r\n\t\t?s owl:equivalentProperty ?s1 .\r\n\t\t?s1 owl:intersectionOf ?s2 .\r\n\t\t?s2 rdf:first <{$tmp_iri}> .\r\n\t\t?s rdfs:label ?o\r\n\t}\r\n}";
    $tmp_results = json_query($querystring);
    $num_queries++;
    if (!empty($tmp_results)) {
        foreach ($tmp_results as $tmp_result) {
            $tmp_iri0 = $tmp_result['s'];
            if (!isset($processed_iris[$tmp_iri0]) && !isset($included_iris[$tmp_iri0]) && !iriImported($tmp_iri0)) {
                $strOutput .= "\r\n<rdf:Description rdf:about=\"{$tmp_iri0}\">\r\n\t\t\t<rdfs:subPropertyOf rdf:resource=\"{$tmp_iri}\"/>\r\n\t\t  </rdf:Description>\r\n";
                $results[$tmp_iri0] = $tmp_result['o'];
                getSubClassAndProperty($ontology_uri, $results, $tmp_iri0);
            }
        }
    }
}
Example #2
0
             }
         }
     }
 }
 $imported_ontologies = array();
 $settings['remote_store_endpoint'] = $server_import;
 $num_queries = 0;
 $unprocessed_iris = array();
 $processed_iris = array();
 //print_r($parent_included_iris);
 if ($extractBranch) {
     foreach ($parent_included_iris as $import_term => $tmpLabel) {
         $terms_to_keep[$import_term] = 1;
         if (!isset($processed_iris[$import_term]) && !isset($included_iris[$import_term])) {
             $results = array($import_term => 'NA');
             getSubClassAndProperty($ontology_uri, $results, $import_term);
             foreach ($results as $term_iri => $term_label) {
                 if (!isset($processed_iris[$term_iri])) {
                     $unprocessed_iris[$term_iri] = $term_label;
                 }
             }
         }
     }
 } else {
     //process term URIs to be imported and get super classes/properties.
     $lines = preg_split('/[\\r\\n]+/', trim($term_iris));
     foreach ($lines as $line) {
         if (strpos($line, '#') === 0) {
             //ignore comments
         } else {
             if (strpos($line, ' #') !== false) {