如何使用已映射到关系数据库的本体构建PHP网页

时间:2018-01-26 07:33:02

标签: mapping semantic-web ontology easyrdf

这是我第一次为语义网建设。

我不确定如何创建PHP网页并将其连接到我使用Ontge插件for Protege映射到关系数据库的本体。

数据库是否已成为rdfstore?

我尝试使用EasyRdf库将PHP连接到本体,但是它没有用。

这是我尝试的php代码。

<?php
require 'vendor/autoload.php';
$foaf = new EasyRdf_Graph("http://localhost/proIT.owl");
$foaf->load();
$me = $foaf->primaryTopic();
echo "My name is: ".$me->get('foaf:name')."\n";
?>

1 个答案:

答案 0 :(得分:1)

这里有两个主要问题:

(1)无法从PHP中的EasyRDF访问您从Protege Ontop插件应用的映射。 Protege Ontop插件通过Protege对您的数据库进行SPARQL查询,这是EasyRDF无法访问的。基于architecture of Ontop,您需要为Ontop设置SPARQL端点,这可以使用Sesame工作台完成。见Sesame SPARQL Enpoint Installation

Ontop Architecture

(2)现在您需要EasyRDF来访问SPARQL端点。在这方面,您的PHP代码不正确,因为它只加载.owl文件而不是查询SPARQL端点。有关如何使用EasyRDF执行SPARQL查询的示例,请参阅EasyRDF SPARQL query example

最后,关于数据库是否已成为RDFstore的问题,答案是否定的。您的数据库未更改。相反,您在Sesame Workbench中配置的Ontop Protege插件或Ontop存储库为您的数据库提供了一个支持SPARQL的访问层。即,您仍然可以通过SQL客户端对数据库执行典型的SQL查询。