/** * Add to the output a serialization of a property assignment where an * SMWExpResource is the object. It is assumed that a suitable subject * block has already been openend. * * @param $expResourceProperty SMWExpNsResource the property to use * @param $expResource SMWExpResource the data value to use * @param $indent string specifying a prefix for indentation (usually a sequence of tabs) * @param $isClassTypeProp boolean whether the resource must be declared as a class */ protected function serializeExpResource(SMWExpNsResource $expResourceProperty, SMWExpResource $expResource, $indent, $isClassTypeProp) { $this->post_ns_buffer .= $indent . '<' . $expResourceProperty->getQName(); if (!$expResource->isBlankNode()) { if ($expResource instanceof SMWExpNsResource && $expResource->getNamespaceID() == 'wiki') { // very common case, reduce bandwidth $this->post_ns_buffer .= ' rdf:resource="&wiki;' . $expResource->getLocalName() . '"'; } else { $uriValue = $this->makeAttributeValueString($expResource->getUri()); $this->post_ns_buffer .= ' rdf:resource="' . $uriValue . '"'; } } $this->post_ns_buffer .= "/>\n"; if ($isClassTypeProp) { $this->requireDeclaration($expResource, SMW_SERIALIZER_DECL_CLASS); } }
protected function serializeExpResource(SMWExpResource $element) { if ($element instanceof SMWExpNsResource) { $this->requireNamespace($element->getNamespaceID(), $element->getNamespace()); } $this->post_ns_buffer .= self::getTurtleNameForExpElement($element); }