如何解决如果有空列,如何将 SPARQL 查询的结果存储在表中?
我接到了使用 PHP 编程语言创建本体的任务。然后,我选择使用 RAP(RDF API for PHP)。 起初我设法显示结果如下:
<?PHP
define("RDFAPI_INCLUDE_DIR","../rdfapi-PHP/api/");
include(RDFAPI_INCLUDE_DIR . "RDFAPI.PHP");
$model = ModelFactory::getDefaultModel();
$model->load('perpustakaan.owl');
$x='
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-Syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX data: <http://www.semanticweb.org/muhammadadrik/ontologies/2021/5/perpustakaanontologi#>
SELECT ?TANGgalPENERIMAAN
WHERE { ?perpustakaan data:memiliki ?koleksi.
?koleksi data:jenis ?JENIS.
?koleksi data:terdapat ?atribut.
optional{?atribut data:tanggalpenerimaan ?TANGgalPENERIMAAN.}
}
';
echo "<h3>Hasil</h3><br>";
echo $model->sparqlQuery($x,'HTML');
?>
但是,当我尝试输入其中有一列值为空的查询时,会出现错误消息:
这是我的代码:
<?PHP
define("RDFAPI_INCLUDE_DIR","../rdfapi-PHP/api/");
include(RDFAPI_INCLUDE_DIR . "RDFAPI.PHP");
$model = ModelFactory::getDefaultModel();
$model->load('perpustakaan.owl');
$x='
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-Syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX data: <http://www.semanticweb.org/muhammadadrik/ontologies/2021/5/perpustakaanontologi#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-Syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX data: <http://www.semanticweb.org/muhammadadrik/ontologies/2021/5/perpustakaanontologi#>
SELECT ?TANGgalPENERIMAAN ?NOINVENTARIS ?JUDUL ?JUDULSERI ?PENGaraNG ?PERNYATAANTANGGUNGJAWAB ?EdisI ?PENERBIT ?ISBNATAUISSN ?FREKUENSI ?ASAL ?SUBYEK ?BAHASA ?EKSEMPLAR ?HARGA ?JENIS
WHERE { ?perpustakaan data:memiliki ?koleksi.
?koleksi data:jenis ?JENIS.
?koleksi data:terdapat ?atribut.
optional{?atribut data:tanggalpenerimaan ?TANGgalPENERIMAAN.}
optional{?atribut data:noinventaris ?NOINVENTARIS.}
optional{?atribut data:judul ?JUDUL.}
optional{?atribut data:judulseri ?JUDULSERI.}
optional{?atribut data:pengarang ?PENGaraNG.}
optional{?atribut data:pernyataantanggungjawab ?PERNYATAANTANGGUNGJAWAB.}
optional{?atribut data:edisi ?EdisI.}
optional{?atribut data:penerbit ?PENERBIT.}
optional{?atribut data:isbnatauissn ?ISBNATAUISSN.}
optional{?atribut data:frekuensi ?FREKUENSI.}
optional{?atribut data:asal ?ASAL.}
optional{?atribut data:subyek ?SUBYEK.}
optional{?atribut data:bahasa ?BAHASA.}
optional{?atribut data:eksemplar ?EKSEMPLAR.}
optional{?atribut data:harga ?HARGA.}
FILTER regex (?JENIS,"JURNAL")
}
';
echo "<h3>Re</h3><br>";
echo $model->sparqlQuery($x,'HTML');
?>
我该怎么办??
抱歉我的英语不好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。