BlueSpice MediaWiki master
 All Classes Namespaces Files Functions Variables Groups Pages
Using Subobject

```php $subject = new DIWikiPage( 'Foo', NS_MAIN );

$subobject = new Subobject( $subject->getTitle() ); $subobject->setEmptyContainerForId( 'SomeSubobject' );

$dataValue = DataValueFactory::getInstance()->newDataValueByText( 'SomeProperty, 'SomeValue' );

$subobject->addDataValue( $dataValue ); ```

```php // Create and store SemanticData object and add the subobject $semanticData = new SemanticData( $subject );

$semanticData->addPropertyObjectValue( $subobject->getProperty(), $subobject->getContainer() );

ApplicationFactory::getInstance()->getStore()->updateData( $semanticData ); ```

Using DIContainer

```php $subject = new DIWikiPage( 'Foo', NS_MAIN );

// Internal subobject reference $subobjectName = 'SomeSubobject';

$containerSubject = new DIWikiPage( $subject->getDBkey(), $subject->getNamespace(), $subject->getInterwiki(), $subobjectName );

// Create container to host property values assignments // for the particular subobjectName $containerSemanticData = new ContainerSemanticData( $containerSubject );

$dataValue = DataValueFactory::getInstance()->newDataValueByText( 'SomeProperty, 'SomeValue' );

$containerSemanticData->addDataValue( $dataValue ); php // Create and store SemanticData object and add the subobject $semanticData = new SemanticData( $subject );

$semanticData->addPropertyObjectValue( new DIProperty( '_SOBJ' ), new DIContainer( $containerSemanticData ) );

ApplicationFactory::getInstance()->getStore()->updateData( $semanticData ); ```