'HowTo' * * @since 6.8.0 * * @return array */ public static function get_type_hierarchy(): array { if ( self::$type_hierarchy === null ) { self::$type_hierarchy = require __DIR__ . '/data/type-hierarchy.php'; } return self::$type_hierarchy; } /** * Get the property domain mappings * * Maps each property to the types it can be used with. * For example: 'prepTime' => ['HowTo', 'HowToDirection'] * * @since 6.8.0 * * @return array */ public static function get_property_domains(): array { if ( self::$property_domains === null ) { self::$property_domains = require __DIR__ . '/data/property-domains.php'; } return self::$property_domains; } /** * Get the property range mappings * * Maps each property to the types it expects as values. * For example: 'author' => ['Person', 'Organization'] * * @since 6.8.0 * * @return array */ public static function get_property_ranges(): array { if ( self::$property_ranges === null ) { self::$property_ranges = require __DIR__ . '/data/property-ranges.php'; } return self::$property_ranges; } /** * Get compatible properties by output type * * Pre-computed mapping of output types to compatible properties. * For example: 'Text' => ['name', 'description', ...] * * @since 6.8.0 * * @return array */ public static function get_compatible_properties(): array { if ( self::$compatible_properties === null ) { self::$compatible_properties = require __DIR__ . '/data/compatible-properties.php'; } return self::$compatible_properties; } }