如何使用php
我正在尝试筛选这个用Turtle编写的数据库如何使用php,php,sparql,turtle-rdf,Php,Sparql,Turtle Rdf,我正在尝试筛选这个用Turtle编写的数据库 @prefix : <http://www.essepuntato.it/resource/> . @prefix vcard: <http://www.w3.org/2006/vcard/ns#> . @prefix cs: <http://cs.unibo.it/ontology/> . :pt0001 vcard:category "Poste e Telegrafi" ;
@prefix : <http://www.essepuntato.it/resource/> .
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
@prefix cs: <http://cs.unibo.it/ontology/> .
:pt0001
vcard:category "Poste e Telegrafi"
; vcard:fn "Ufficio Bologna 1"
; vcard:extended-address "Via Cairoli 9, Bologna BO, Italy"
; vcard:latitude "44.504192"
; vcard:longitude "11.338661"
; vcard:tel "051 243425"
; vcard:fax "051 244459"
; cs:opening "Mon, Tue, Wed, Thu, Fri: 0800-1330. Sat: 0800-1230."
; cs:closing "01-01, 01-06, P, LA, 04-25, 05-01, 06-02, 08-15, 11-01, 12-08, 12-25, 12-26: .".
@前缀:。
@前缀vcard:。
@前缀cs:。
:pt0001
vcard:Poste e e Telegrafi类别
; vcard:fn“Ufficio Bologna 1”
; vcard:扩展地址“意大利博洛尼亚博城Via Cairoli 9”
; vcard:纬度“44.504192”
; vcard:经度“11.338661”
; 电子名片:电话“05124425”
; 电子名片:传真“051244459”
; 政务司司长:开幕“周一,周二,周三,周四,周五:0800-1330。周六:0800-1230。”
; 政务司司长:结束“01-01、01-06、P、LA、04-25、05-01、06-02、08-15、11-01、12-08、12-25、12-26:”。
我使用arc2 api是因为RAP不起作用。
我写了这段代码,但它不起作用:
<?php
/* ARC2 static class inclusion */
include_once('./arc2/ARC2.php');
/* MySQL and endpoint configuration */
$config = array(
/* db */
'db_host' => 'localhost', /* optional, default is localhost */
'db_name' => 'my_db',
'db_user' => 'user',
'db_pwd' => 'secret',
/* store name */
'store_name' => 'my_endpoint_store',
/* endpoint */
'endpoint_features' => array(
'select', 'construct', 'ask', 'describe',
'load', 'insert', 'delete',
'dump' /* dump is a special command for streaming SPOG export */
),
'endpoint_timeout' => 60, /* not implemented in ARC2 preview */
'endpoint_read_key' => '', /* optional */
'endpoint_write_key' => 'somekey', /* optional */
'endpoint_max_limit' => 250, /* optional */
);
/* instantiation */
/* instantiation */
$ssp = ARC2::getSPARQLScriptProcessor($config);
/* script evaluation */
$scr = '
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
PREFIX dbpedia2: <http://dbpedia.org/property/>
ENDPOINT "database.ttl"
$rows = SELECT ?x ?y WHERE {
?x vcard: ?y.
}
';
$ssp->processScript($scr);
echo $ssp->env['output'];
?>
脚本不返回错误,也不返回结果。似乎WHERE{}语句中的谓词缺少某些内容 例如,您是指
vcard:latitude
现在是
$rows = SELECT ?x ?y WHERE {
?x vcard: ?y.
}
那么:
$rows = SELECT ?x ?y WHERE {
?x vcard:latitude ?y .
}
如果在周期之前没有空格字符,则可能会出现问题。请注意,我在上面添加了这一点。至少这是我在使用Python RDF库时所经历的 前面的空格字符应该无关紧要。但是,谓词定义很重要;)