> Why are those public?

Well either those setter/getters are public or the constructor needed a signature change in order to allow composition.

```
$sparqlDatabase = $this->getMockBuilder( '\SMWSparqlDatabase' )
	->disableOriginalConstructor()
	->getMock();

$instance = new SMWSparqlStore( $baseStore );
$instance->setSparqlDatabase( $sparqlDatabase );
```