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

How to build a PHP webpage using ontology that already mapped to relational database

这是我第一次构建语义网。

我不确定如何创建 PHP 网页并将其连接到 ontology,我已使用 Protege 的 Ontop 插件将其映射到关系数据库。

数据库变成rdfstore了吗?

我曾尝试使用 EasyRdf 库将 PHP 连接到 ontology,但没有成功。

这是我试过的 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) 无法从 PHP 中的 EasyRDF 访问您从 Protege Ontop 插件应用的映射。 Protege Ontop 插件支持从 Protege 对您的数据库进行 SPARQL 查询,这是 EasyRDF 无法访问的。基于architecture of Ontop, you need to setup a SPARQL endpoint for Ontop which can be done using Sesame workbench. See Sesame SPARQL Enpoint Installation

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

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