|
From: <fu...@us...> - 2007-11-15 13:45:26
|
Revision: 550
http://rdfapi-php.svn.sourceforge.net/rdfapi-php/?rev=550&view=rev
Author: fusel2k
Date: 2007-11-15 05:45:22 -0800 (Thu, 15 Nov 2007)
Log Message:
-----------
[fix] Removed trailing ?- or $-SPARQL variable indentifiers from Output to follow http://www.w3.org/TR/rdf-sparql-json-res/
Modified Paths:
--------------
trunk/rdfapi-php/api/sparql/SparqlEngineDb/ResultRenderer/JSON.php
Modified: trunk/rdfapi-php/api/sparql/SparqlEngineDb/ResultRenderer/JSON.php
===================================================================
--- trunk/rdfapi-php/api/sparql/SparqlEngineDb/ResultRenderer/JSON.php 2007-11-15 13:29:04 UTC (rev 549)
+++ trunk/rdfapi-php/api/sparql/SparqlEngineDb/ResultRenderer/JSON.php 2007-11-15 13:45:22 UTC (rev 550)
@@ -25,11 +25,15 @@
$this->query = $query;
$this->sg = $engine->getSqlGenerator();
$strResultForm = $query->getResultForm();
+
+ foreach ($this->getResultVars() as $var)
+ $ResultVarsTemp[] = substr($var,1);
+
switch ($strResultForm) {
case 'select':
case 'select distinct':
$results = $this->createFromRecords($arRecordSets, $strResultForm);
- $strCode = json_encode(array('head' => array('vars'=>$this->getResultVars()),'results'=>array('bindings'=>$results)));
+ $strCode = json_encode(array('head' => array('vars'=>$ResultVarsTemp),'results'=>array('bindings'=>$results)));
//$strCode = str_replace(',{',','.PHP_EOL.'{',$strCode);
break;
case 'construct':
@@ -87,7 +91,7 @@
foreach ($arResultVars as $ResultVar) {
$nodeType = $value[$arVarAssignments[$ResultVar][0].'.'.$arVarAssignments[$ResultVar]['sql_is']];
if ($type == 'r' || $type === null ) {
- $node[$ResultVar] = array('type'=> 'uri','value'=>$value[$arVarAssignments[$ResultVar][0].'.'.$arVarAssignments[$ResultVar]['sql_value']]);
+ $node[substr($ResultVar,1)] = array('type'=> 'uri','value'=>$value[$arVarAssignments[$ResultVar][0].'.'.$arVarAssignments[$ResultVar]['sql_value']]);
}
@@ -95,7 +99,7 @@
$literalType = $value[$arVarAssignments[$ResultVar][0].'.'.$arVarAssignments[$ResultVar]['sql_type']];
$literalLang = $value[$arVarAssignments[$ResultVar][0].'.'.$arVarAssignments[$ResultVar]['sql_lang']];
$literalValue = $value[$arVarAssignments[$ResultVar][0].'.'.$arVarAssignments[$ResultVar]['sql_value']];
- $node[$ResultVar] = $this->getLiteral($literalValue,$literalLang,$literalType);
+ $node[substr($ResultVar,1)] = $this->getLiteral($literalValue,$literalLang,$literalType);
}
}
$results[]=$node;
@@ -144,6 +148,11 @@
$arResultVars = $this->query->getResultVars();
if (in_array('*', $arResultVars)) {
$arResultVars = array_keys($this->sg->arVarAssignments);
+ } else {
+ $arResultVars = array();
+ foreach ($this->query->getResultVars() as $Var) {
+ $arResultVars[] = (string) $Var;
+ }
}
return $arResultVars;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|