Dostałem na uczelni zadanie... mam napisać skrypt php wizualizujący w postaci grafu dokument rdf. Wykorzystać mam bibliotekę RAP (RDF API for PHP). Korzystam z takiego tutoriala: http://www4.wiwiss.fu-berlin.de/bizer/rdfa...on_tutorial.htm Skrypt ma korzystać z programu Graphviz, który ma ten graf wyrysować (tak to rozumiem po przeczytaniu powyższego tutoriala). Oto mój kod:
<?php
define("RDFAPI_INCLUDE_DIR", "rdfapi-php/api/");
include(RDFAPI_INCLUDE_DIR . "RDFAPI.php");
include(RDFAPI_INCLUDE_DIR . "utilRDFUtil.php");
define('GRAPHVIZ_PATH', :Program FilesGraphviz2.20bindot.exe');
define('GRAPHVIZ_TEMP', :wampwwwRDF');
define('GRAPHVIZ_STAT', TRUE);
define('GRAPHVIZ_FORMAT', 'svg, dot, jpg, png, gif, vrml');
define('GRAPHVIZ_URI', FALSE);
$graphviz_param = array(
GRAPH_STYLE => 'rankdir="LR"',
RESOURCE_STYLE => 'style="filled",color="#FFD800",fontname="Courier",fontsize="10"',
LITERAL_STYLE => 'shape="box",style="filled",color="#B7FFAF",fontname="Courier",fontsize="10"',
PREDICATE_STYLE => 'fontname="Courier",fontsize="10"',
INFERRED_STYLE => 'style="dotted",fontname="Courier",fontsize="10"',
BLANKNODE_STYLE => 'style="filled",color="#DDDDDD",fontname="Courier",fontsize="10"',
BOX_STYLE => 'fontname="Courier",fontsize="8",color="#BBBBBB"'
);
$base="przyklad.rdf";
$model = ModelFactorygetDefaultModel();
$model->load($base);
header('Content-ty: image/svg+xml');
$model->visualize('svg');
?>
Według tutoriala powinno działać jednak ja otrzymuję komunikat o błędzie:
Błąd składni XML: błąd składni (Wiersz: 1, Znak: 0)
Potraktuj dokument jako HTML i wyświetl ponownie
Błąd:missing root element
Specyfikacja//www.w3.org/TR/REC-xml/
Nie rozumiem tego przecież nie tworzę dokumentu XML
Gdy zmienię format obrazka np w ten sposób:
header('Content-type: image/png');
$model->visualize('png');
Nie otrzymuje komunikatu o błędzie jednak obrazek nie wyświetla się
Tutaj jeszcze mój dokument przyklad.rdf:
<?xml version="1.0"?>
<r:RDF
xml:rdf="ht://www.w3.org/1999/02/22-rdf-syntax-ns#"
xml:elem="ht://www.semantict.net/RDF/introRDF/elements#">
<r:Description r:about="ht://www.semantict.net/RDF/introRDF/">
<el:tytul>Wprowadzenie do RDF</el:tytul>
</r:Description>
<r:Description r:about="ht://www.semantict.net/RDF/introRDF/">
<el:czesc>
<r:Description>
<el:rok>2007</el:rok>
<el:tytul>Technologie Semantyczne</el:tytul>
</r:Description>
</el:czesc>
</r:Description>
</r:RDF>
</php>