Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne][PHP] problem z SPARQL w PHP
--miaka--
post
Post #1





Goście







Witam, pisze w sprawie SPARQLu (sieci semantyczne). Znalazłam artykuł Wstęp do SPARQL z wykorzystaniem RAP API dla PHP.

http://semantictechnology.eu/2010/02/wstep...ap-api-dla-php/

Wrzuciłam pliki na serwer semanticemployee.rdf z zawartością ze strony, plik.php oraz foldery z strony http://www.seasr.org/wp-content/plugins/me.../doc/index.html pod Download and Installation.

Zawartosc mojego pliku wyglada tak:

<?php
define("RDFAPI_INCLUDE_DIR", "C:\wamp\www\rdfapi-php\api\");
include("RDFAPI_INCLUDE_DIR"."RdfAPI.php");

$employees = ModelFactory::getDefaultModel();
$employees->load('semanticemployee.rdf');
$querystring = '
PREFIX vcard <http://www.w3.org/2001/vcard-rdf/3.0#>
SELECT ?fullName
WHERE { ?x vcard:FN ?fullName }';
echo $employees->sparqlQuery($querystring, 'HTML');
?>

a gdy go uruchamiam pisze o błędzie: Parse error: syntax error, unexpected T_STRING in C:\wamp\www\plik.php on line 3.

Może będzie wiedzieli co robię źle skoro wszystkie odwołania znajdują się w dobrych miejscach. Pisałam do tej osoby ale nie dostałam odpowiedzi.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




  1. include("RDFAPI_INCLUDE_DIR"."RdfAPI.php");


RDFAPI_INCLUDE_DIR to stała, zdefiniowana linijkę wyżej. Aby się do niej odwołać, musisz użyć jej nazwy bez cudzysłowu.

Zresztą, jest to w komunikacie błędu: "niespodziewana wartość typu STRING (czyli ciąg znaków) w linii 3"
Go to the top of the page
+Quote Post
--miaka--
post
Post #3





Goście







Zrobiłam tak jak powiedziałeś:

  1. define("RDFAPI_INCLUDE_DIR", "C:\wamp\www\rdfapi-php\api\");
  2. include(RDFAPI_INCLUDE_DIR. "RdfAPI.php");


Nawet serwer ponownie uruchomilam a ten nadal swoje. Ciągle ten sam błąd.
Go to the top of the page
+Quote Post
blooregard
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Już wiem (IMG:style_emoticons/default/smile.gif)

Cytat
define("RDFAPI_INCLUDE_DIR", "C:\wamp\www\rdfapi-php\api\");


Usuń ostatniego slash'a, tego po 'api' (IMG:style_emoticons/default/smile.gif)

I jeśli masz możliwość, zainstaluj sobie IDE do PHP z kolorowaniem składni, np. NetBeans, to pomoże Ci uniknąć podobnych błędów w przyszłości (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
--miaka--
post
Post #5





Goście







Faktycznie prosty blad, jednak na tym nie koniec...

Pisze min cos takiego
include(C:\wamp\www dfapi-php\apiRdfAPI.php) [function.include]: failed to open stream: Invalid argument in C:\wamp\www\plik.php on line 3

jednak nie rozumiem czemu ścieżke mi zmienil (a potem sie dziwi, ze nie moze otworzyc)

Skoro sciezka jest taka:
C:\wamp\www\rdfapi-php\api\RdfAPI.php

to czemu czyta to jako:
C:\wamp\www dfapi-php\apiRdfAPI.php
Go to the top of the page
+Quote Post
blooregard
post
Post #6


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Ta sama przyczyna: backslash przed 'r', co daje '\r' - znak kontrolny, tzw. powrót karetki.

A zobacz, czy zadziała Ci tak:

Cytat
C:/wampwww/rdfapi-php/api/RdfAPI.php
Go to the top of the page
+Quote Post
--miaka--
post
Post #7





Goście







Jednak w takiej postaci pomogło:

  1. define("RDFAPI_INCLUDE_DIR", "C:/wamp/www/rdfapi-php/api/");


Ale mimo, że się wyswietla to pisze o przestarzałej funkcji (ale tylko w jednym miejscu) do parsowania plików rdf. Te pliki to tzw. biblioteki więc nie wiem czy można i jak je poprawiac bo sam fragment kodu nic nie da a cały plik ma 2000 kodu linii. Wiec nie wiem co mam z tym zrobic.

Go to the top of the page
+Quote Post
sunpietro
post
Post #8





Grupa: Zarejestrowani
Postów: 262
Pomógł: 26
Dołączył: 23.01.2009
Skąd: eZ Systems

Ostrzeżenie: (0%)
-----


podstawowa wersja biblioteki korzysta ze starych metod PHP, jeśli znasz się na PHP (a widać, ze raczej niespecjalnie) to możesz je poprawić na nowsze odpowiedniki i wszystko będzie hulać. Ja tak zrobiłem i jest wszystko w porządku. Najczęściej chodzi o metody związane z regex.
Go to the top of the page
+Quote Post
--miaka--
post
Post #9





Goście







Co ciekawe moj problem zniknął po wrzuceniu go na serwer w internecie (na swoje konto serwera uczelnianego).

Wcześniej zainstalowałam serwer domowy z programem wampserwer. Zastanawiam się co było przyczyna błedu. Czy stare biblioteki zainstalowane u mnie?

Owszem serwer uczelniany to dobra rzecz ale na przyszłość chciałabym pozbyć się tego typu błędów.
Go to the top of the page
+Quote Post
sunpietro
post
Post #10





Grupa: Zarejestrowani
Postów: 262
Pomógł: 26
Dołączył: 23.01.2009
Skąd: eZ Systems

Ostrzeżenie: (0%)
-----


to pewnie dlatego, że na serwerze uczelni masz starszą wersję PHP
Go to the top of the page
+Quote Post
--miaka--
post
Post #11





Goście







Sprawdzilam, prawda.

U mnie jest 5.3.8 a na serwerze uczelni 5.0.3 (na 100% nie jestem pewna ale jest to na pewno wersja 5). Przynajmniej już wiem na czym stoje.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 13:29