labxxi/phpsesame

Php sesame 接口

v2.0.0 2014-05-27 09:02 UTC

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'] . ".";
    }

将很快更新文档,包括新功能示例。