2017-02-08 14 views
0

Dbpedia에서 스페인 도시 이름으로 내 rdf를 채우려 고합니다. ... 아무것도 추출되지 않습니다. 나는 ARC2 라이브러리와 함께 할CONSTRUCT를 사용하여 ARC2와 함께 dbpedia에서 도시 이름 가져 오기

<?php 

include_once("./vendor/semsol/arc2/ARC2.php"); 

$config = array(
    /* db */ 
    'db_name' => 'my_db', 
    'db_user' => 'root', 
    'db_pwd' => 'root', 
/* store name */ 
    'store_name' => 'construct_store', 
); 

$store = ARC2::getStore($config); 
if (!$store->isSetUp()) {  
     $store->setUp(); 
} 

$store->query ('LOAD <http://localhost:8080/proyecto1/data/myOnto.rdf>'); 

$q = ' 
    PREFIX myOntology: <http://www.semanticweb.org/myOntology#> 
    PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
    PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 
    PREFIX dbpprop: <http://dbpedia.org/property/> 
    PREFIX esdbpr: <http://es.dbpedia.org/resource/> 

CONSTRUCT { 
?l myOntology:hasName ?name. 
} 
    WHERE (?x rdf:resource <http://dbpedia.org/ontology/PopulatedPlace"> 
    ?x <http://es.dbpedia.org/ontology/country> <http://es.dbpedia.org/resource/Spain> . 
    ?name rdfs:label ?label. 
) 
} 
LIMIT 5'; 

$r = ''; 
if ($rows = $store->query($q, 'rows')) { 
    foreach ($rows as $row) { 
    $r .= '<li>' . $row['name'] . '</li>'; 
    } 
} 

echo $r ? '<ul>' . $r . '</ul>' : 'nothing is found'; 

    ?> 

어쩌면 내가

가에서 rdf:resource 무엇

답변

0

사전에 감사합니다 .... DBPedia 온톨로지 또는 잘못된에서 구조물의 구조를 잘못 찾고 있어요 당신의 재산에 대한 의견? 실제로 존재하는 속성 만 사용해야하며, 경우에 따라 rdf:type이어야합니다.

->x rdf:type <http://dbpedia.org/ontology/PopulatedPlace">

그리고 PopulatedPlace URI는 사용에 인용 문자는 무엇인가? >x rdf:type <http://dbpedia.org/ontology/PopulatedPlace>

그리고 당신의 로컬 데이터는 당신이 요구하고있는 트리플을 포함하는 경우 그것은 분명하지 않다 -

. 적어도 코드에서 파일을로드하고 해당 파일에 대해 쿼리를 실행하는 것을 볼 수 있습니다. 그건 그렇고, 당신은 영어와 스페인어 DBpedia에서 URI를 섞어서 - 당신의 데이터에 반영됩니까?

+0

[link] (http://es.dbpedia.org/page/Espa%C3%B1a)에서 _italic_ ** bold **'rdf.resourse '를 (를) 발견 했으므로 사용 해보았습니다. 어쩌면, 잘못. 내가 잘못 인쇄 한 견적, 감사합니다! – elka

+0

나는 어떤 결과도 얻지 못했기 때문에 영어와 스페인어 데이터의 혼합은 반영되지 않는다 ... : ( – elka

+0

내 온톨로지에서 나는 "_? l myOntology : hasName? name_"과 같은 트리플을 가지고있다. 여기서 _l_은 장소이다 , 그리고 _name_은 장소의 이름입니다. 그들은 "hasName"과 연결되어 있습니다. – elka