2012-01-18 15 views
7

का उपयोग कैसे करें मैं इस डेटाबेस कछुएकछुए SPARQL php

@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: .". 

मैं arc2 एपीआई का उपयोग beacause आरएपी काम नहीं करता है में लिखा फिल्टर करने के लिए कोशिश कर रहा हूँ। मैं इस कोड लिखा था लेकिन यह काम नहीं करेगा:

<?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']; 
?> 

स्क्रिप्ट कोई त्रुटि नहीं है और एक परिणाम देता है।

उत्तर

2

WHERE {} कथन में भविष्यवाणी की तरह लगता है कि कुछ खो रहा है।

उदाहरण के लिए आपका मतलब vcard:latitude था?

वर्तमान में यह

$rows = SELECT ?x ?y WHERE { 
?x vcard: ?y. 
} 

है कैसे के बारे में:

$rows = SELECT ?x ?y WHERE { 
?x vcard:latitude ?y . 
} 

और वहाँ समस्याओं हो सकता है अगर वहाँ अवधि से पहले कोई अंतरिक्ष चरित्र है। नोटिस मैंने उपर्युक्त जोड़ा। पाइथन आरडीएफ पुस्तकालयों का उपयोग करते समय कम से कम यही अनुभव हुआ।

+1

अंतरिक्ष चरित्र से पहले कोई फर्क नहीं पड़ता। हालांकि, पूर्वानुमान परिभाषा मायने रखती है;) – zazi

संबंधित मुद्दे