0

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

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

数据库变成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";
?>
4

1 回答 1

1

这里有两个主要问题:

(1) 无法从 PHP 中的 EasyRDF 访问 Protege Ontop 插件应用的映射。Protege Ontop 插件允许从 Protege 对您的数据库进行 SPARQL 查询,而 EasyRDF 无法访问。基于 Ontop 的架构,您需要为 Ontop 设置一个 SPARQL 端点,这可以使用 Sesame 工作台来完成。请参阅Sesame SPARQL Enpoint 安装

顶层架构

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

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

于 2018-01-26T12:28:01.620 回答