labxxi / phpsesame
Php sesame 接口
v2.0.0
2014-05-27 09:02 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-28 15:49:39 UTC
README
========= phpsesame
alexlatchford sesame 接口的分支 https://github.com/alexlatchford/phpSesame。灵感来源于 Julian Klotz 的工作 https://github.com/julianklotz/phpSesame.git 和 Andreas Thalhammer https://github.com/athalhammer/phpSesame.git
要求
PHP 5+ <https://php.ac.cn/>_ - (不应该有任何子版本依赖,但我还没有彻底检查)HTTP_Request2 <http://pear.php.net/package/HTTP_Request2>_semsol/ARC2 <https://github.com/semsol/arc2>库,可在 GitHub 上找到,强烈推荐用于解析结果或生成 RDF。
示例
我假设此时你已经安装并配置了 Sesame,已设置存储库并且 REST API 运行正常。如果没有,请查阅 Sesame 文档 <http://www.openrdf.org/doc/sesame2/users/>_。
使用库
要让库运行起来,你需要的是:
require_once "path/to/phpSesame/phpSesame.php";
$sesame = array('url' => 'https://:8080/openrdf-sesame', 'repository' => 'exampleRepo', 'charset' => 'UTF-8');
$store = new phpSesame($sesame['url'], $sesame['repository'], $sesame['charset']);
你可以随时通过调用以下方法更改你正在工作的存储库:
$store->setRepository("newRepo");
字符集参数用于内容类型和接受头参数。你可以通过调用以下方法来专门设置它们:
$store->setAcceptCharset();
$store->setContentCharset();
查询存储库
查询存储库的最简单方法是:
$sparql = "PREFIX foaf:<http://xmlns.com/foaf/0.1/>
SELECT ?s ?o WHERE { ?s foaf:name ?o } LIMIT 100";
$resultFormat = phpSesame::SPARQL_XML; // The expected return type, will return a phpSesame_SparqlRes object (Optional)
$lang = "sparql"; // Can also choose SeRQL (Optional)
$infer = true; // Can also choose to explicitly disallow inference. (Optional)
$result = $store->query($sparql, $resultFormat, $lang, $infer);
使用 ARC2 进行结果处理:
$parser = ARC2::getSPARQLXMLResultParser();
$parser->parse('', $result);
foreach($parser->getRows() as $row) {
echo "Subject: " . $row['s'] . ", Object: " . $row['o'] . ".";
}
将很快更新文档,包括新功能示例。