Exemplo n.º 1
0
    //        list($word1,$word2) = preg_split("/\s+/",$word_arr[0]);
    //print "<P>$word1,$word2";
    //break;
    $start = PWLemma::getIDByLemma($word1);
    $finish = PWLemma::getIDByLemma($word2);
    $word1_url = TPage::getURL($word1);
    $word2_url = TPage::getURL($word2);
    if ($start && $finish) {
        list($dist_len, $path) = PWSemanticDistance::DijkstraAlgorithmByArray($start, $finish);
        if ($path == NULL) {
            print "<p>The words '{$word1_url}' and '{$word2_url}' are not related</p>";
        } else {
            print "<p>" . (int) (sizeof($path) - 1) . " step(s), the length of distance is {$dist_len}</p>";
            print TPage::getURL(PWLemma::getLemmaByID($path[0]));
            for ($i = 1; $i < sizeof($path); $i++) {
                print " -> " . TPage::getURL(PWLemma::getLemmaByID($path[$i]));
            }
        }
    } else {
        $dist_len = 0;
        if (!$start && !$finish) {
            print "<p>The words '{$word1_url}' and '{$word2_url}' have been not found</p>";
        } elseif (!$start) {
            print "<p>The word '{$word1_url}' has been not found</p>";
        } elseif (!$finish) {
            print "<p>The word '{$word2_url}' has been not found</p>";
        }
    }
    print "<hr>";
    fwrite($fh, $word1 . "\t" . $word2 . "\t" . $dist_len . "\n");
}