我正在使用RAP(用于 PHP 的 RDF API)并希望能够使用 SPARQL 引擎来查询我的 RDF。在这种情况下,我使用的是W3C wine 本体。这是我的代码:
$base="wine.rdf";
$model = ModelFactory::getDefaultModel();
$model->load(RDFAPI_INCLUDE_DIR . 'wine.rdf');
$querystring = "SELECT ?wine WHERE { ?wine rdfs:subClassOf <http://www.w3.org/TR/2003/PR-owl-guide-20031209/wine#Wine> } ";
$result = $model->sparqlQuery($querystring, 'html');
这应该返回该类的所有子类Wine
并将它们打印到 HTML 表中(以便于阅读)。它返回了一些结果,但它没有通过继承返回所有具有此属性的类,并且我没有收到任何错误。我怎样才能得到所有的子类Wine
?
更新:
使用 RAP 库没有运气,转而使用pOWL。另一个对操作PHP
有更多支持的库。OWL
但是,它没有很好的文档记录并且有一些麻烦。试图列出这样的子类:
$base="wine.owl";
$Model = ModelFactory::getDefaultModel();
$Model->load(RDFAPI_INCLUDE_DIR . 'wine.owl');
$subClass = $Model->writeAsHtmlTable();
$subClass =$Model->listSubClasses;
但不好。有人知道任何好的教程pOWL
吗?任何帮助都会很棒。谢谢。