Ejemplo n.º 1
0
function getSupClassAndProperty($ontology_uri, &$results, $tmp_iri)
{
    global $ns_rdf, $ns_rdfs, $ns_owl, $num_queries, $processed_iris, $included_iris, $parent_included_iris;
    $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<{$tmp_iri}> rdfs:subClassOf ?s .\r\n\t\t?s rdfs:label ?o\r\n\t}\r\n\tUNION\r\n\t{\r\n\t\t<{$tmp_iri}> owl:equivalentClass ?s1 .\r\n\t\t?s1 owl:intersectionOf ?s2 .\r\n\t\t?s2 rdf:first ?s .\r\n\t\t?s rdfs:label ?o\r\n\t}\r\n\tUNION\r\n\t{\r\n\t\t<{$tmp_iri}> rdfs:subPropertyOf ?s .\r\n\t\t?s rdfs:label ?o\r\n\t}\r\n\tUNION\r\n\t{\r\n\t\t<{$tmp_iri}> owl:equivalentProperty ?s1 .\r\n\t\t?s1 owl:intersectionOf ?s2 .\r\n\t\t?s2 rdf:first ?s .\r\n\t\t?s rdfs:label ?o\r\n\t}\r\n}";
    //print("\n\n<!--\n$querystring\n-->\n\n");
    $tmp_results = json_query($querystring);
    $num_queries++;
    if (!empty($tmp_results)) {
        $tmp_iri = $tmp_results[0]['s'];
        if (!isset($processed_iris[$tmp_iri]) && !isset($included_iris[$tmp_iri]) && !iriImported($tmp_iri)) {
            $results[$tmp_iri] = $tmp_results[0]['o'];
            if (!isset($parent_included_iris[$tmp_iri])) {
                getSupClassAndProperty($ontology_uri, $results, $tmp_iri);
            }
        }
    }
}
Ejemplo n.º 2
0
 } 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) {
                 $line = trim(substr($line, 0, strpos($line, ' #')));
             }
             $import_term = trim($line);
             $terms_to_keep[$import_term] = 1;
             if (!isset($processed_iris[$import_term]) && !isset($included_iris[$import_term])) {
                 $results = array($import_term => 'NA');
                 if (!isset($parent_included_iris[$import_term])) {
                     getSupClassAndProperty($ontology_uri, $results, $import_term);
                     //error_log("!!!\n", 3, '/tmp/error.log');
                     foreach ($results as $term_iri => $term_label) {
                         if (!isset($processed_iris[$term_iri])) {
                             $unprocessed_iris[$term_iri] = $term_label;
                         }
                     }
                 } else {
                     if (!isset($processed_iris[$import_term])) {
                         $unprocessed_iris[$import_term] = 'NA';
                     }
                 }
             }
         }
     }
 }