这是我第一次为语义网建设。
我不确定如何创建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";
?>
答案 0 :(得分:1)
这里有两个主要问题:
(1)无法从PHP中的EasyRDF访问您从Protege Ontop插件应用的映射。 Protege Ontop插件通过Protege对您的数据库进行SPARQL查询,这是EasyRDF无法访问的。基于architecture of Ontop,您需要为Ontop设置SPARQL端点,这可以使用Sesame工作台完成。见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查询。