Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > db4738b84a6fa4f9e3d8c85c29c9268a > files > 8

powl-0.93-2mdv2008.1.noarch.rpm

TODO


Top priority:
User authorization and preference management

RDFSAPI

allow_call_time_pass_reference problem
index php arrays correctly:
	\$[0-9a-z_]+\[[^$0-9"']+\]
	find . -name "*php" -print | xargs egrep "\[[^0-9$'\"]+\]"

combine owl:maxCardinality and owl:minCardinality into owl:cardinality, if they are equal


RDFAPI

Primary index row id in statements added:
model/DBModel.php(150):
			$sql = "INSERT INTO statements (modelID,subject,predicate,object,l_language,l_datatype,subject_is,object_is) VALUES


Zum RDQL-Anfragen mehrerer Modelle:
rdql/RdqlDbEngine.php (186):
     $sql_where .= ' s' .($n+1) .'.modelID IN (' .$modelID .') AND';

model/Model.php (129):
   if($stream && (is_a($parser,'rdfparser') || is_a($parser,'n3parser')))

Index fÜr predicate in statements tabelle:
In model/DbStore.php change lines 351-352 into:
   $this->dbConn->execute('CREATE INDEX s_sub_idx ON statements (subject(200))');
   $this->dbConn->execute('CREATE INDEX s_pred_idx ON statements (predicate(200))');
   $this->dbConn->execute('CREATE FULLTEXT INDEX s_obj_ftidx ON statements (`object`)');

netapi/netapi.php, netapi/config.inc.php
include ersetzen durch include_once

Optionales Abschalten des "CheckForDuplicatesOnAdd"
model/DBModel.php
139   if (!empty($this->dontCheckForDuplicatesOnAdd) || !$this->contains($statement)) {

Statements which differ only in Literal datatype and/or language will be false identified during serialisation:
syntax/RdfSerializer.php:
219                             (is_a($statement->obj,'Literal')?'"'.$statement->obj->getLabel().'"@'.$statement->obj->getLanguage().'^^'.$statement->obj->getDatatype():$statement->obj->getURI());


Verwendung aktueller AdoDB-Version (V4.22)

PHP5 Kompatibilität:
Notice: Undefined index: first_blank_node_id in C:\Programme\Apache Group\Apache2\htdocs\powl\rdfapi\syntax\RdfParser.php on line 1785

SQLite Kompatibilität:
model/DBStore.php (84):
instead of throwing a fatal call:

/**
 * Create tables and indexes for adodb datadict supported databases
 *
 * @throws  SqlError
 * @access	private
 */
 function _createTables_Generic() {
   $this->dbConn->startTrans();
#   $this->dbConn->debug=true;
	$tables=array(
		'models'=>array(
			'fields'=>'
				modelID		I		NOTNULL	AUTO KEY,
				modelURI	C(255)	NOTNULL,
				baseURI		C(255)	NOTNULL',
			'options'=>'',
			'indexes'=>array('modelURI'),
		),
		'statements'=>array(
			'fields'=>'
				modelID		I		NOTNULL,
				subject		C(255)	NOTNULL,
				predicate	C(255)	NOTNULL,
				object		B,
				l_language	C(255),
				l_datatype	C(255),
				subject_is	C(1)	NOTNULL,
				object_is	C(1)	NOTNULL',
			'options'=>'',
			'indexes'=>array('modelID','subject','predicate','object'),
		),
	);
	$dict=NewDataDictionary($this->dbConn);
	foreach($tables as $tablename=>$table) {
		$dict->ExecuteSQLArray($dict->CreateTableSQL($tablename,$table['fields'],$table['options']));
		foreach($table['indexes'] as $indexname=>$index)
			$dict->ExecuteSQLArray($dict->CreateIndexSQL(is_numeric($indexname)?'idx_'.str_replace('_','',$tablename).'_'.strtr($index,array('_'=>'',','=>'')):$indexname,$tablename,$index));
	}
   if (!$this->dbConn->completeTrans())
      echo $this->dbConn->errorMsg();
 }


Parser und Writer sollten verschachtelte bNode Notation unterstützen:

<rdf:first>sym1</rdf:first>
<rdf:rest rdf:parseType="Resource">
	<rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
	<rdf:first>sym2</rdf:first>
</rdf:rest>

equivalent zu "define("N3SER_BNODE_SHORT",TRUE);"?!

preserve namespace-prefixes


POWL

Widgets should enforce cardinality restrictions
Clean CVS Repository

* delete: plugins/widget/htmledit
		  plugins/widget/fckeditor/FCKeditor

* rename: plugins/widget/date -> js-calendar
		  plugins/widget/selectInstance -> selectResource