public static function buildResourceNode(core_kernel_classes_Resource $resource, core_kernel_classes_Class $class, array $extraProperties = []) {
        $label = $resource->getLabel();
        $label = empty($label) ? __('no label') : $label;

		$extraValues = [];
        if (!empty($extraProperties))
		{
			foreach ($extraProperties as $key => $value)
			{
				$extraValues[$key] =  $resource->getOnePropertyValue($class->getProperty($value));
			}
		}

        $signatureGenerator = ServiceManager::getServiceManager()->get(SignatureGenerator::class);

        return [
            'data' 	=> _dh($label),
            'type'	=> 'instance',
            'attributes' => array_merge([
                'id' => tao_helpers_Uri::encode($resource->getUri()),
                'class' => 'node-instance',
                'data-uri' => $resource->getUri(),
                'data-classUri' => $class->getUri(),
                'data-signature' => $signatureGenerator->generate($resource->getUri()),
            ], $extraValues)
        ];
    }