示例#1
0
    public function getRdfNamespaces($criteria = null, $con = null)
    {
        $con = Propel::getConnection(SchemaPeer::DATABASE_NAME);
        $id = $this->getId();
        $rs = $con->executeQuery(<<<SQL
SELECT DISTINCT reg_prefix.prefix, reg_prefix.uri
FROM reg_schema_property,
\treg_schema_property_element,
\tprofile_property,
\treg_prefix
WHERE reg_schema_property_element.schema_property_id = reg_schema_property.id
\t\t\t\tAND reg_schema_property.schema_id = {$id}
\t\t\t\tAND reg_schema_property_element.deleted_at IS NULL
\t\t\t\tAND profile_property_id = profile_property.id
\t\t\t\tAND reg_prefix.uri = profile_property.namespce
ORDER BY reg_prefix.prefix
SQL
);
        //we have some defaults
        $results['dc'] = PrefixPeer::findByPrefix('dc')->getUri();
        $results['foaf'] = PrefixPeer::findByPrefix('foaf')->getUri();
        $results['rdf'] = PrefixPeer::findByPrefix('rdf')->getUri();
        $results['skos'] = PrefixPeer::findByPrefix('skos')->getUri();
        while ($rs->next()) {
            $results[$rs->getString('prefix')] = $rs->getString('uri');
        }
        ksort($results);
        return $results;
    }