0

私はpOWLを使用して、OWL ファイルのコンテンツ管理システムを構築しています。queryOWL ファイルにアクセスしたり、新しいインスタンスやクラスを追加したりしたいと考えています。しかし、私は立ち往生しています。pOWL を使用して、OWL ファイルを OWLModel にロードする必要があります。だから私は試しました:

$base="wine.owl";
$store = new DefaultPOWLStore(ADODB_DB_DRIVER, "localhost", "powl", "root", "password");

$model = ModelFactory::getOntModel('DBModel','RDFS_VOCABULARY', $base);
$model = new OWLModel($store, $base);
$model->load('wine.owl');

$model -> __construct($store, $base);

しかし、私はエラーが発生しています:

Fatal error: Call to a member function startTrans() on a non-object in C:\Users\xxx\xxx\powl\rdfapi-php\api\model\DbModel.php on line 878

エラーのあるコードは次のとおりです。

    if (is_a($model, 'MemModel')) {
            if (is_object($model)){
            echo "<pre>";
            print_r("!!!!!!!");
            echo "</pre>";
        }

        $this->dbConn->startTrans();

$modelがオブジェクトかどうかを確認するために 2 番目の if 句を追加したところ、句に合格しました。しかし、それが変数がオブジェクトであるかどうかを確認する正しい方法であるかどうかはわかりません。

更新:問題はdbConn変数にあるようです。モデルを DB にロードしてdbConn定義する方法を見つける必要があります。明日見ます。

4

1 に答える 1

0

OWLファイルをモデルにロードしようとしていたので、これを回避しました。を使用してファイルをロードする必要がありました$store。コードは次のとおりです。

$modelURI = "http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#";
$base="wine.owl";
$filename ="wine.owl";
$store = new DefaultPOWLStore(ADODB_DB_DRIVER, "localhost", "powl", "root", "password");

if(!$store->modelExists($modelURI)) {
    $store->loadModel($modelURI, $base);
}

$model = new OWLModel($store, $modelURI);
$store-> putModel($store, $modelURI);
于 2013-06-20T14:26:29.427 に答える