@@ -23,137 +23,137 @@ |
||
23 | 23 | */ |
24 | 24 | class GovernmentPermit extends MetaJsonLd implements GovernmentPermitInterface, PermitInterface, IntangibleInterface, ThingInterface |
25 | 25 | { |
26 | - use GovernmentPermitTrait; |
|
27 | - use PermitTrait; |
|
28 | - use IntangibleTrait; |
|
29 | - use ThingTrait; |
|
30 | - |
|
31 | - /** |
|
32 | - * The Schema.org Type Name |
|
33 | - * |
|
34 | - * @var string |
|
35 | - */ |
|
36 | - public static string $schemaTypeName = 'GovernmentPermit'; |
|
37 | - |
|
38 | - /** |
|
39 | - * The Schema.org Type Scope |
|
40 | - * |
|
41 | - * @var string |
|
42 | - */ |
|
43 | - public static string $schemaTypeScope = 'https://schema.org/GovernmentPermit'; |
|
44 | - |
|
45 | - /** |
|
46 | - * The Schema.org Type Extends |
|
47 | - * |
|
48 | - * @var string |
|
49 | - */ |
|
50 | - public static string $schemaTypeExtends = 'Permit'; |
|
51 | - |
|
52 | - /** |
|
53 | - * The Schema.org Type Description |
|
54 | - * |
|
55 | - * @var string |
|
56 | - */ |
|
57 | - public static string $schemaTypeDescription = 'A permit issued by a government agency.'; |
|
58 | - |
|
59 | - |
|
60 | - /** |
|
61 | - * @inheritdoc |
|
62 | - */ |
|
63 | - public function getSchemaPropertyNames(): array |
|
64 | - { |
|
65 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
66 | - } |
|
67 | - |
|
68 | - |
|
69 | - /** |
|
70 | - * @inheritdoc |
|
71 | - */ |
|
72 | - public function getSchemaPropertyExpectedTypes(): array |
|
73 | - { |
|
74 | - return [ |
|
75 | - 'additionalType' => ['URL'], |
|
76 | - 'alternateName' => ['Text'], |
|
77 | - 'description' => ['Text'], |
|
78 | - 'disambiguatingDescription' => ['Text'], |
|
79 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
80 | - 'image' => ['URL', 'ImageObject'], |
|
81 | - 'issuedBy' => ['Organization'], |
|
82 | - 'issuedThrough' => ['Service'], |
|
83 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
84 | - 'name' => ['Text'], |
|
85 | - 'permitAudience' => ['Audience'], |
|
86 | - 'potentialAction' => ['Action'], |
|
87 | - 'sameAs' => ['URL'], |
|
88 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
89 | - 'url' => ['URL'], |
|
90 | - 'validFor' => ['Duration'], |
|
91 | - 'validFrom' => ['Date', 'DateTime'], |
|
92 | - 'validIn' => ['AdministrativeArea'], |
|
93 | - 'validUntil' => ['Date'] |
|
94 | - ]; |
|
95 | - } |
|
96 | - |
|
97 | - |
|
98 | - /** |
|
99 | - * @inheritdoc |
|
100 | - */ |
|
101 | - public function getSchemaPropertyDescriptions(): array |
|
102 | - { |
|
103 | - return [ |
|
104 | - 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
105 | - 'alternateName' => 'An alias for the item.', |
|
106 | - 'description' => 'A description of the item.', |
|
107 | - 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
108 | - 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
109 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
110 | - 'issuedBy' => 'The organization issuing the ticket or permit.', |
|
111 | - 'issuedThrough' => 'The service through which the permit was granted.', |
|
112 | - 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
113 | - 'name' => 'The name of the item.', |
|
114 | - 'permitAudience' => 'The target audience for this permit.', |
|
115 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
116 | - 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
117 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
118 | - 'url' => 'URL of the item.', |
|
119 | - 'validFor' => 'The duration of validity of a permit or similar thing.', |
|
120 | - 'validFrom' => 'The date when the item becomes valid.', |
|
121 | - 'validIn' => 'The geographic area where a permit or similar thing is valid.', |
|
122 | - 'validUntil' => 'The date when the item is no longer valid.' |
|
123 | - ]; |
|
124 | - } |
|
125 | - |
|
126 | - |
|
127 | - /** |
|
128 | - * @inheritdoc |
|
129 | - */ |
|
130 | - public function getGoogleRequiredSchema(): array |
|
131 | - { |
|
132 | - return ['description', 'name']; |
|
133 | - } |
|
134 | - |
|
135 | - |
|
136 | - /** |
|
137 | - * @inheritdoc |
|
138 | - */ |
|
139 | - public function getGoogleRecommendedSchema(): array |
|
140 | - { |
|
141 | - return ['image', 'url']; |
|
142 | - } |
|
143 | - |
|
144 | - |
|
145 | - /** |
|
146 | - * @inheritdoc |
|
147 | - */ |
|
148 | - public function defineRules(): array |
|
149 | - { |
|
150 | - $rules = parent::defineRules(); |
|
151 | - $rules = array_merge($rules, [ |
|
152 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
153 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
154 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
155 | - ]); |
|
156 | - |
|
157 | - return $rules; |
|
158 | - } |
|
26 | + use GovernmentPermitTrait; |
|
27 | + use PermitTrait; |
|
28 | + use IntangibleTrait; |
|
29 | + use ThingTrait; |
|
30 | + |
|
31 | + /** |
|
32 | + * The Schema.org Type Name |
|
33 | + * |
|
34 | + * @var string |
|
35 | + */ |
|
36 | + public static string $schemaTypeName = 'GovernmentPermit'; |
|
37 | + |
|
38 | + /** |
|
39 | + * The Schema.org Type Scope |
|
40 | + * |
|
41 | + * @var string |
|
42 | + */ |
|
43 | + public static string $schemaTypeScope = 'https://schema.org/GovernmentPermit'; |
|
44 | + |
|
45 | + /** |
|
46 | + * The Schema.org Type Extends |
|
47 | + * |
|
48 | + * @var string |
|
49 | + */ |
|
50 | + public static string $schemaTypeExtends = 'Permit'; |
|
51 | + |
|
52 | + /** |
|
53 | + * The Schema.org Type Description |
|
54 | + * |
|
55 | + * @var string |
|
56 | + */ |
|
57 | + public static string $schemaTypeDescription = 'A permit issued by a government agency.'; |
|
58 | + |
|
59 | + |
|
60 | + /** |
|
61 | + * @inheritdoc |
|
62 | + */ |
|
63 | + public function getSchemaPropertyNames(): array |
|
64 | + { |
|
65 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
66 | + } |
|
67 | + |
|
68 | + |
|
69 | + /** |
|
70 | + * @inheritdoc |
|
71 | + */ |
|
72 | + public function getSchemaPropertyExpectedTypes(): array |
|
73 | + { |
|
74 | + return [ |
|
75 | + 'additionalType' => ['URL'], |
|
76 | + 'alternateName' => ['Text'], |
|
77 | + 'description' => ['Text'], |
|
78 | + 'disambiguatingDescription' => ['Text'], |
|
79 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
80 | + 'image' => ['URL', 'ImageObject'], |
|
81 | + 'issuedBy' => ['Organization'], |
|
82 | + 'issuedThrough' => ['Service'], |
|
83 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
84 | + 'name' => ['Text'], |
|
85 | + 'permitAudience' => ['Audience'], |
|
86 | + 'potentialAction' => ['Action'], |
|
87 | + 'sameAs' => ['URL'], |
|
88 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
89 | + 'url' => ['URL'], |
|
90 | + 'validFor' => ['Duration'], |
|
91 | + 'validFrom' => ['Date', 'DateTime'], |
|
92 | + 'validIn' => ['AdministrativeArea'], |
|
93 | + 'validUntil' => ['Date'] |
|
94 | + ]; |
|
95 | + } |
|
96 | + |
|
97 | + |
|
98 | + /** |
|
99 | + * @inheritdoc |
|
100 | + */ |
|
101 | + public function getSchemaPropertyDescriptions(): array |
|
102 | + { |
|
103 | + return [ |
|
104 | + 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
105 | + 'alternateName' => 'An alias for the item.', |
|
106 | + 'description' => 'A description of the item.', |
|
107 | + 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
108 | + 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
109 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
110 | + 'issuedBy' => 'The organization issuing the ticket or permit.', |
|
111 | + 'issuedThrough' => 'The service through which the permit was granted.', |
|
112 | + 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
113 | + 'name' => 'The name of the item.', |
|
114 | + 'permitAudience' => 'The target audience for this permit.', |
|
115 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
116 | + 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
117 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
118 | + 'url' => 'URL of the item.', |
|
119 | + 'validFor' => 'The duration of validity of a permit or similar thing.', |
|
120 | + 'validFrom' => 'The date when the item becomes valid.', |
|
121 | + 'validIn' => 'The geographic area where a permit or similar thing is valid.', |
|
122 | + 'validUntil' => 'The date when the item is no longer valid.' |
|
123 | + ]; |
|
124 | + } |
|
125 | + |
|
126 | + |
|
127 | + /** |
|
128 | + * @inheritdoc |
|
129 | + */ |
|
130 | + public function getGoogleRequiredSchema(): array |
|
131 | + { |
|
132 | + return ['description', 'name']; |
|
133 | + } |
|
134 | + |
|
135 | + |
|
136 | + /** |
|
137 | + * @inheritdoc |
|
138 | + */ |
|
139 | + public function getGoogleRecommendedSchema(): array |
|
140 | + { |
|
141 | + return ['image', 'url']; |
|
142 | + } |
|
143 | + |
|
144 | + |
|
145 | + /** |
|
146 | + * @inheritdoc |
|
147 | + */ |
|
148 | + public function defineRules(): array |
|
149 | + { |
|
150 | + $rules = parent::defineRules(); |
|
151 | + $rules = array_merge($rules, [ |
|
152 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
153 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
154 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
155 | + ]); |
|
156 | + |
|
157 | + return $rules; |
|
158 | + } |
|
159 | 159 | } |
@@ -24,126 +24,126 @@ |
||
24 | 24 | */ |
25 | 25 | class HealthcareConsideration extends MetaJsonLd implements HealthcareConsiderationInterface, AdultOrientedEnumerationInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
26 | 26 | { |
27 | - use HealthcareConsiderationTrait; |
|
28 | - use AdultOrientedEnumerationTrait; |
|
29 | - use EnumerationTrait; |
|
30 | - use IntangibleTrait; |
|
31 | - use ThingTrait; |
|
32 | - |
|
33 | - /** |
|
34 | - * The Schema.org Type Name |
|
35 | - * |
|
36 | - * @var string |
|
37 | - */ |
|
38 | - public static string $schemaTypeName = 'HealthcareConsideration'; |
|
39 | - |
|
40 | - /** |
|
41 | - * The Schema.org Type Scope |
|
42 | - * |
|
43 | - * @var string |
|
44 | - */ |
|
45 | - public static string $schemaTypeScope = 'https://schema.org/HealthcareConsideration'; |
|
46 | - |
|
47 | - /** |
|
48 | - * The Schema.org Type Extends |
|
49 | - * |
|
50 | - * @var string |
|
51 | - */ |
|
52 | - public static string $schemaTypeExtends = 'AdultOrientedEnumeration'; |
|
53 | - |
|
54 | - /** |
|
55 | - * The Schema.org Type Description |
|
56 | - * |
|
57 | - * @var string |
|
58 | - */ |
|
59 | - public static string $schemaTypeDescription = 'Item is a pharmaceutical (e.g., a prescription or OTC drug) or a restricted medical device.'; |
|
60 | - |
|
61 | - |
|
62 | - /** |
|
63 | - * @inheritdoc |
|
64 | - */ |
|
65 | - public function getSchemaPropertyNames(): array |
|
66 | - { |
|
67 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
68 | - } |
|
69 | - |
|
70 | - |
|
71 | - /** |
|
72 | - * @inheritdoc |
|
73 | - */ |
|
74 | - public function getSchemaPropertyExpectedTypes(): array |
|
75 | - { |
|
76 | - return [ |
|
77 | - 'additionalType' => ['URL'], |
|
78 | - 'alternateName' => ['Text'], |
|
79 | - 'description' => ['Text'], |
|
80 | - 'disambiguatingDescription' => ['Text'], |
|
81 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
82 | - 'image' => ['URL', 'ImageObject'], |
|
83 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
84 | - 'name' => ['Text'], |
|
85 | - 'potentialAction' => ['Action'], |
|
86 | - 'sameAs' => ['URL'], |
|
87 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
88 | - 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
89 | - 'url' => ['URL'] |
|
90 | - ]; |
|
91 | - } |
|
92 | - |
|
93 | - |
|
94 | - /** |
|
95 | - * @inheritdoc |
|
96 | - */ |
|
97 | - public function getSchemaPropertyDescriptions(): array |
|
98 | - { |
|
99 | - return [ |
|
100 | - 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
101 | - 'alternateName' => 'An alias for the item.', |
|
102 | - 'description' => 'A description of the item.', |
|
103 | - 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
104 | - 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
105 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
106 | - 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
107 | - 'name' => 'The name of the item.', |
|
108 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
109 | - 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
110 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
111 | - 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
112 | - 'url' => 'URL of the item.' |
|
113 | - ]; |
|
114 | - } |
|
115 | - |
|
116 | - |
|
117 | - /** |
|
118 | - * @inheritdoc |
|
119 | - */ |
|
120 | - public function getGoogleRequiredSchema(): array |
|
121 | - { |
|
122 | - return ['description', 'name']; |
|
123 | - } |
|
124 | - |
|
125 | - |
|
126 | - /** |
|
127 | - * @inheritdoc |
|
128 | - */ |
|
129 | - public function getGoogleRecommendedSchema(): array |
|
130 | - { |
|
131 | - return ['image', 'url']; |
|
132 | - } |
|
133 | - |
|
134 | - |
|
135 | - /** |
|
136 | - * @inheritdoc |
|
137 | - */ |
|
138 | - public function defineRules(): array |
|
139 | - { |
|
140 | - $rules = parent::defineRules(); |
|
141 | - $rules = array_merge($rules, [ |
|
142 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
143 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
144 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
145 | - ]); |
|
146 | - |
|
147 | - return $rules; |
|
148 | - } |
|
27 | + use HealthcareConsiderationTrait; |
|
28 | + use AdultOrientedEnumerationTrait; |
|
29 | + use EnumerationTrait; |
|
30 | + use IntangibleTrait; |
|
31 | + use ThingTrait; |
|
32 | + |
|
33 | + /** |
|
34 | + * The Schema.org Type Name |
|
35 | + * |
|
36 | + * @var string |
|
37 | + */ |
|
38 | + public static string $schemaTypeName = 'HealthcareConsideration'; |
|
39 | + |
|
40 | + /** |
|
41 | + * The Schema.org Type Scope |
|
42 | + * |
|
43 | + * @var string |
|
44 | + */ |
|
45 | + public static string $schemaTypeScope = 'https://schema.org/HealthcareConsideration'; |
|
46 | + |
|
47 | + /** |
|
48 | + * The Schema.org Type Extends |
|
49 | + * |
|
50 | + * @var string |
|
51 | + */ |
|
52 | + public static string $schemaTypeExtends = 'AdultOrientedEnumeration'; |
|
53 | + |
|
54 | + /** |
|
55 | + * The Schema.org Type Description |
|
56 | + * |
|
57 | + * @var string |
|
58 | + */ |
|
59 | + public static string $schemaTypeDescription = 'Item is a pharmaceutical (e.g., a prescription or OTC drug) or a restricted medical device.'; |
|
60 | + |
|
61 | + |
|
62 | + /** |
|
63 | + * @inheritdoc |
|
64 | + */ |
|
65 | + public function getSchemaPropertyNames(): array |
|
66 | + { |
|
67 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
68 | + } |
|
69 | + |
|
70 | + |
|
71 | + /** |
|
72 | + * @inheritdoc |
|
73 | + */ |
|
74 | + public function getSchemaPropertyExpectedTypes(): array |
|
75 | + { |
|
76 | + return [ |
|
77 | + 'additionalType' => ['URL'], |
|
78 | + 'alternateName' => ['Text'], |
|
79 | + 'description' => ['Text'], |
|
80 | + 'disambiguatingDescription' => ['Text'], |
|
81 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
82 | + 'image' => ['URL', 'ImageObject'], |
|
83 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
84 | + 'name' => ['Text'], |
|
85 | + 'potentialAction' => ['Action'], |
|
86 | + 'sameAs' => ['URL'], |
|
87 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
88 | + 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
89 | + 'url' => ['URL'] |
|
90 | + ]; |
|
91 | + } |
|
92 | + |
|
93 | + |
|
94 | + /** |
|
95 | + * @inheritdoc |
|
96 | + */ |
|
97 | + public function getSchemaPropertyDescriptions(): array |
|
98 | + { |
|
99 | + return [ |
|
100 | + 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
101 | + 'alternateName' => 'An alias for the item.', |
|
102 | + 'description' => 'A description of the item.', |
|
103 | + 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
104 | + 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
105 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
106 | + 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
107 | + 'name' => 'The name of the item.', |
|
108 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
109 | + 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
110 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
111 | + 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
112 | + 'url' => 'URL of the item.' |
|
113 | + ]; |
|
114 | + } |
|
115 | + |
|
116 | + |
|
117 | + /** |
|
118 | + * @inheritdoc |
|
119 | + */ |
|
120 | + public function getGoogleRequiredSchema(): array |
|
121 | + { |
|
122 | + return ['description', 'name']; |
|
123 | + } |
|
124 | + |
|
125 | + |
|
126 | + /** |
|
127 | + * @inheritdoc |
|
128 | + */ |
|
129 | + public function getGoogleRecommendedSchema(): array |
|
130 | + { |
|
131 | + return ['image', 'url']; |
|
132 | + } |
|
133 | + |
|
134 | + |
|
135 | + /** |
|
136 | + * @inheritdoc |
|
137 | + */ |
|
138 | + public function defineRules(): array |
|
139 | + { |
|
140 | + $rules = parent::defineRules(); |
|
141 | + $rules = array_merge($rules, [ |
|
142 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
143 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
144 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
145 | + ]); |
|
146 | + |
|
147 | + return $rules; |
|
148 | + } |
|
149 | 149 | } |
@@ -25,98 +25,98 @@ |
||
25 | 25 | */ |
26 | 26 | class Time extends MetaJsonLd implements TimeInterface |
27 | 27 | { |
28 | - use TimeTrait; |
|
29 | - |
|
30 | - /** |
|
31 | - * The Schema.org Type Name |
|
32 | - * |
|
33 | - * @var string |
|
34 | - */ |
|
35 | - public static string $schemaTypeName = 'Time'; |
|
36 | - |
|
37 | - /** |
|
38 | - * The Schema.org Type Scope |
|
39 | - * |
|
40 | - * @var string |
|
41 | - */ |
|
42 | - public static string $schemaTypeScope = 'https://schema.org/Time'; |
|
43 | - |
|
44 | - /** |
|
45 | - * The Schema.org Type Extends |
|
46 | - * |
|
47 | - * @var string |
|
48 | - */ |
|
49 | - public static string $schemaTypeExtends = 'Thing'; |
|
50 | - |
|
51 | - /** |
|
52 | - * The Schema.org Type Description |
|
53 | - * |
|
54 | - * @var string |
|
55 | - */ |
|
56 | - public static string $schemaTypeDescription = 'A point in time recurring on multiple days in the form hh:mm:ss[Z|(+|-)hh:mm] (see [XML schema for details](http://www.w3.org/TR/xmlschema-2/#time)).'; |
|
57 | - |
|
58 | - |
|
59 | - /** |
|
60 | - * @inheritdoc |
|
61 | - */ |
|
62 | - public function getSchemaPropertyNames(): array |
|
63 | - { |
|
64 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
65 | - } |
|
66 | - |
|
67 | - |
|
68 | - /** |
|
69 | - * @inheritdoc |
|
70 | - */ |
|
71 | - public function getSchemaPropertyExpectedTypes(): array |
|
72 | - { |
|
73 | - return [ |
|
74 | - |
|
75 | - ]; |
|
76 | - } |
|
77 | - |
|
78 | - |
|
79 | - /** |
|
80 | - * @inheritdoc |
|
81 | - */ |
|
82 | - public function getSchemaPropertyDescriptions(): array |
|
83 | - { |
|
84 | - return [ |
|
85 | - |
|
86 | - ]; |
|
87 | - } |
|
88 | - |
|
89 | - |
|
90 | - /** |
|
91 | - * @inheritdoc |
|
92 | - */ |
|
93 | - public function getGoogleRequiredSchema(): array |
|
94 | - { |
|
95 | - return []; |
|
96 | - } |
|
97 | - |
|
98 | - |
|
99 | - /** |
|
100 | - * @inheritdoc |
|
101 | - */ |
|
102 | - public function getGoogleRecommendedSchema(): array |
|
103 | - { |
|
104 | - return []; |
|
105 | - } |
|
106 | - |
|
107 | - |
|
108 | - /** |
|
109 | - * @inheritdoc |
|
110 | - */ |
|
111 | - public function defineRules(): array |
|
112 | - { |
|
113 | - $rules = parent::defineRules(); |
|
114 | - $rules = array_merge($rules, [ |
|
115 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
116 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
117 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
118 | - ]); |
|
119 | - |
|
120 | - return $rules; |
|
121 | - } |
|
28 | + use TimeTrait; |
|
29 | + |
|
30 | + /** |
|
31 | + * The Schema.org Type Name |
|
32 | + * |
|
33 | + * @var string |
|
34 | + */ |
|
35 | + public static string $schemaTypeName = 'Time'; |
|
36 | + |
|
37 | + /** |
|
38 | + * The Schema.org Type Scope |
|
39 | + * |
|
40 | + * @var string |
|
41 | + */ |
|
42 | + public static string $schemaTypeScope = 'https://schema.org/Time'; |
|
43 | + |
|
44 | + /** |
|
45 | + * The Schema.org Type Extends |
|
46 | + * |
|
47 | + * @var string |
|
48 | + */ |
|
49 | + public static string $schemaTypeExtends = 'Thing'; |
|
50 | + |
|
51 | + /** |
|
52 | + * The Schema.org Type Description |
|
53 | + * |
|
54 | + * @var string |
|
55 | + */ |
|
56 | + public static string $schemaTypeDescription = 'A point in time recurring on multiple days in the form hh:mm:ss[Z|(+|-)hh:mm] (see [XML schema for details](http://www.w3.org/TR/xmlschema-2/#time)).'; |
|
57 | + |
|
58 | + |
|
59 | + /** |
|
60 | + * @inheritdoc |
|
61 | + */ |
|
62 | + public function getSchemaPropertyNames(): array |
|
63 | + { |
|
64 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
65 | + } |
|
66 | + |
|
67 | + |
|
68 | + /** |
|
69 | + * @inheritdoc |
|
70 | + */ |
|
71 | + public function getSchemaPropertyExpectedTypes(): array |
|
72 | + { |
|
73 | + return [ |
|
74 | + |
|
75 | + ]; |
|
76 | + } |
|
77 | + |
|
78 | + |
|
79 | + /** |
|
80 | + * @inheritdoc |
|
81 | + */ |
|
82 | + public function getSchemaPropertyDescriptions(): array |
|
83 | + { |
|
84 | + return [ |
|
85 | + |
|
86 | + ]; |
|
87 | + } |
|
88 | + |
|
89 | + |
|
90 | + /** |
|
91 | + * @inheritdoc |
|
92 | + */ |
|
93 | + public function getGoogleRequiredSchema(): array |
|
94 | + { |
|
95 | + return []; |
|
96 | + } |
|
97 | + |
|
98 | + |
|
99 | + /** |
|
100 | + * @inheritdoc |
|
101 | + */ |
|
102 | + public function getGoogleRecommendedSchema(): array |
|
103 | + { |
|
104 | + return []; |
|
105 | + } |
|
106 | + |
|
107 | + |
|
108 | + /** |
|
109 | + * @inheritdoc |
|
110 | + */ |
|
111 | + public function defineRules(): array |
|
112 | + { |
|
113 | + $rules = parent::defineRules(); |
|
114 | + $rules = array_merge($rules, [ |
|
115 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
116 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
117 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
118 | + ]); |
|
119 | + |
|
120 | + return $rules; |
|
121 | + } |
|
122 | 122 | } |
@@ -24,125 +24,125 @@ |
||
24 | 24 | */ |
25 | 25 | class PriceComponentTypeEnumeration extends MetaJsonLd implements PriceComponentTypeEnumerationInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
26 | 26 | { |
27 | - use PriceComponentTypeEnumerationTrait; |
|
28 | - use EnumerationTrait; |
|
29 | - use IntangibleTrait; |
|
30 | - use ThingTrait; |
|
31 | - |
|
32 | - /** |
|
33 | - * The Schema.org Type Name |
|
34 | - * |
|
35 | - * @var string |
|
36 | - */ |
|
37 | - public static string $schemaTypeName = 'PriceComponentTypeEnumeration'; |
|
38 | - |
|
39 | - /** |
|
40 | - * The Schema.org Type Scope |
|
41 | - * |
|
42 | - * @var string |
|
43 | - */ |
|
44 | - public static string $schemaTypeScope = 'https://schema.org/PriceComponentTypeEnumeration'; |
|
45 | - |
|
46 | - /** |
|
47 | - * The Schema.org Type Extends |
|
48 | - * |
|
49 | - * @var string |
|
50 | - */ |
|
51 | - public static string $schemaTypeExtends = 'Enumeration'; |
|
52 | - |
|
53 | - /** |
|
54 | - * The Schema.org Type Description |
|
55 | - * |
|
56 | - * @var string |
|
57 | - */ |
|
58 | - public static string $schemaTypeDescription = 'Enumerates different price components that together make up the total price for an offered product.'; |
|
59 | - |
|
60 | - |
|
61 | - /** |
|
62 | - * @inheritdoc |
|
63 | - */ |
|
64 | - public function getSchemaPropertyNames(): array |
|
65 | - { |
|
66 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
67 | - } |
|
68 | - |
|
69 | - |
|
70 | - /** |
|
71 | - * @inheritdoc |
|
72 | - */ |
|
73 | - public function getSchemaPropertyExpectedTypes(): array |
|
74 | - { |
|
75 | - return [ |
|
76 | - 'additionalType' => ['URL'], |
|
77 | - 'alternateName' => ['Text'], |
|
78 | - 'description' => ['Text'], |
|
79 | - 'disambiguatingDescription' => ['Text'], |
|
80 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
81 | - 'image' => ['URL', 'ImageObject'], |
|
82 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
83 | - 'name' => ['Text'], |
|
84 | - 'potentialAction' => ['Action'], |
|
85 | - 'sameAs' => ['URL'], |
|
86 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
87 | - 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
88 | - 'url' => ['URL'] |
|
89 | - ]; |
|
90 | - } |
|
91 | - |
|
92 | - |
|
93 | - /** |
|
94 | - * @inheritdoc |
|
95 | - */ |
|
96 | - public function getSchemaPropertyDescriptions(): array |
|
97 | - { |
|
98 | - return [ |
|
99 | - 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
100 | - 'alternateName' => 'An alias for the item.', |
|
101 | - 'description' => 'A description of the item.', |
|
102 | - 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
103 | - 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
104 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
105 | - 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
106 | - 'name' => 'The name of the item.', |
|
107 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
108 | - 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
109 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
110 | - 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
111 | - 'url' => 'URL of the item.' |
|
112 | - ]; |
|
113 | - } |
|
114 | - |
|
115 | - |
|
116 | - /** |
|
117 | - * @inheritdoc |
|
118 | - */ |
|
119 | - public function getGoogleRequiredSchema(): array |
|
120 | - { |
|
121 | - return ['description', 'name']; |
|
122 | - } |
|
123 | - |
|
124 | - |
|
125 | - /** |
|
126 | - * @inheritdoc |
|
127 | - */ |
|
128 | - public function getGoogleRecommendedSchema(): array |
|
129 | - { |
|
130 | - return ['image', 'url']; |
|
131 | - } |
|
132 | - |
|
133 | - |
|
134 | - /** |
|
135 | - * @inheritdoc |
|
136 | - */ |
|
137 | - public function defineRules(): array |
|
138 | - { |
|
139 | - $rules = parent::defineRules(); |
|
140 | - $rules = array_merge($rules, [ |
|
141 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
142 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
143 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
144 | - ]); |
|
145 | - |
|
146 | - return $rules; |
|
147 | - } |
|
27 | + use PriceComponentTypeEnumerationTrait; |
|
28 | + use EnumerationTrait; |
|
29 | + use IntangibleTrait; |
|
30 | + use ThingTrait; |
|
31 | + |
|
32 | + /** |
|
33 | + * The Schema.org Type Name |
|
34 | + * |
|
35 | + * @var string |
|
36 | + */ |
|
37 | + public static string $schemaTypeName = 'PriceComponentTypeEnumeration'; |
|
38 | + |
|
39 | + /** |
|
40 | + * The Schema.org Type Scope |
|
41 | + * |
|
42 | + * @var string |
|
43 | + */ |
|
44 | + public static string $schemaTypeScope = 'https://schema.org/PriceComponentTypeEnumeration'; |
|
45 | + |
|
46 | + /** |
|
47 | + * The Schema.org Type Extends |
|
48 | + * |
|
49 | + * @var string |
|
50 | + */ |
|
51 | + public static string $schemaTypeExtends = 'Enumeration'; |
|
52 | + |
|
53 | + /** |
|
54 | + * The Schema.org Type Description |
|
55 | + * |
|
56 | + * @var string |
|
57 | + */ |
|
58 | + public static string $schemaTypeDescription = 'Enumerates different price components that together make up the total price for an offered product.'; |
|
59 | + |
|
60 | + |
|
61 | + /** |
|
62 | + * @inheritdoc |
|
63 | + */ |
|
64 | + public function getSchemaPropertyNames(): array |
|
65 | + { |
|
66 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
67 | + } |
|
68 | + |
|
69 | + |
|
70 | + /** |
|
71 | + * @inheritdoc |
|
72 | + */ |
|
73 | + public function getSchemaPropertyExpectedTypes(): array |
|
74 | + { |
|
75 | + return [ |
|
76 | + 'additionalType' => ['URL'], |
|
77 | + 'alternateName' => ['Text'], |
|
78 | + 'description' => ['Text'], |
|
79 | + 'disambiguatingDescription' => ['Text'], |
|
80 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
81 | + 'image' => ['URL', 'ImageObject'], |
|
82 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
83 | + 'name' => ['Text'], |
|
84 | + 'potentialAction' => ['Action'], |
|
85 | + 'sameAs' => ['URL'], |
|
86 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
87 | + 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
88 | + 'url' => ['URL'] |
|
89 | + ]; |
|
90 | + } |
|
91 | + |
|
92 | + |
|
93 | + /** |
|
94 | + * @inheritdoc |
|
95 | + */ |
|
96 | + public function getSchemaPropertyDescriptions(): array |
|
97 | + { |
|
98 | + return [ |
|
99 | + 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
100 | + 'alternateName' => 'An alias for the item.', |
|
101 | + 'description' => 'A description of the item.', |
|
102 | + 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
103 | + 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
104 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
105 | + 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
106 | + 'name' => 'The name of the item.', |
|
107 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
108 | + 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
109 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
110 | + 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
111 | + 'url' => 'URL of the item.' |
|
112 | + ]; |
|
113 | + } |
|
114 | + |
|
115 | + |
|
116 | + /** |
|
117 | + * @inheritdoc |
|
118 | + */ |
|
119 | + public function getGoogleRequiredSchema(): array |
|
120 | + { |
|
121 | + return ['description', 'name']; |
|
122 | + } |
|
123 | + |
|
124 | + |
|
125 | + /** |
|
126 | + * @inheritdoc |
|
127 | + */ |
|
128 | + public function getGoogleRecommendedSchema(): array |
|
129 | + { |
|
130 | + return ['image', 'url']; |
|
131 | + } |
|
132 | + |
|
133 | + |
|
134 | + /** |
|
135 | + * @inheritdoc |
|
136 | + */ |
|
137 | + public function defineRules(): array |
|
138 | + { |
|
139 | + $rules = parent::defineRules(); |
|
140 | + $rules = array_merge($rules, [ |
|
141 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
142 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
143 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
144 | + ]); |
|
145 | + |
|
146 | + return $rules; |
|
147 | + } |
|
148 | 148 | } |
@@ -23,127 +23,127 @@ |
||
23 | 23 | */ |
24 | 24 | class Bacteria extends MetaJsonLd implements BacteriaInterface, InfectiousAgentClassInterface, MedicalEnumerationInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
25 | 25 | { |
26 | - use BacteriaTrait; |
|
27 | - use InfectiousAgentClassTrait; |
|
28 | - use MedicalEnumerationTrait; |
|
29 | - use EnumerationTrait; |
|
30 | - use IntangibleTrait; |
|
31 | - use ThingTrait; |
|
32 | - |
|
33 | - /** |
|
34 | - * The Schema.org Type Name |
|
35 | - * |
|
36 | - * @var string |
|
37 | - */ |
|
38 | - public static string $schemaTypeName = 'Bacteria'; |
|
39 | - |
|
40 | - /** |
|
41 | - * The Schema.org Type Scope |
|
42 | - * |
|
43 | - * @var string |
|
44 | - */ |
|
45 | - public static string $schemaTypeScope = 'https://schema.org/Bacteria'; |
|
46 | - |
|
47 | - /** |
|
48 | - * The Schema.org Type Extends |
|
49 | - * |
|
50 | - * @var string |
|
51 | - */ |
|
52 | - public static string $schemaTypeExtends = 'InfectiousAgentClass'; |
|
53 | - |
|
54 | - /** |
|
55 | - * The Schema.org Type Description |
|
56 | - * |
|
57 | - * @var string |
|
58 | - */ |
|
59 | - public static string $schemaTypeDescription = 'Pathogenic bacteria that cause bacterial infection.'; |
|
60 | - |
|
61 | - |
|
62 | - /** |
|
63 | - * @inheritdoc |
|
64 | - */ |
|
65 | - public function getSchemaPropertyNames(): array |
|
66 | - { |
|
67 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
68 | - } |
|
69 | - |
|
70 | - |
|
71 | - /** |
|
72 | - * @inheritdoc |
|
73 | - */ |
|
74 | - public function getSchemaPropertyExpectedTypes(): array |
|
75 | - { |
|
76 | - return [ |
|
77 | - 'additionalType' => ['URL'], |
|
78 | - 'alternateName' => ['Text'], |
|
79 | - 'description' => ['Text'], |
|
80 | - 'disambiguatingDescription' => ['Text'], |
|
81 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
82 | - 'image' => ['URL', 'ImageObject'], |
|
83 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
84 | - 'name' => ['Text'], |
|
85 | - 'potentialAction' => ['Action'], |
|
86 | - 'sameAs' => ['URL'], |
|
87 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
88 | - 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
89 | - 'url' => ['URL'] |
|
90 | - ]; |
|
91 | - } |
|
92 | - |
|
93 | - |
|
94 | - /** |
|
95 | - * @inheritdoc |
|
96 | - */ |
|
97 | - public function getSchemaPropertyDescriptions(): array |
|
98 | - { |
|
99 | - return [ |
|
100 | - 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
101 | - 'alternateName' => 'An alias for the item.', |
|
102 | - 'description' => 'A description of the item.', |
|
103 | - 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
104 | - 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
105 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
106 | - 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
107 | - 'name' => 'The name of the item.', |
|
108 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
109 | - 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
110 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
111 | - 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
112 | - 'url' => 'URL of the item.' |
|
113 | - ]; |
|
114 | - } |
|
115 | - |
|
116 | - |
|
117 | - /** |
|
118 | - * @inheritdoc |
|
119 | - */ |
|
120 | - public function getGoogleRequiredSchema(): array |
|
121 | - { |
|
122 | - return ['description', 'name']; |
|
123 | - } |
|
124 | - |
|
125 | - |
|
126 | - /** |
|
127 | - * @inheritdoc |
|
128 | - */ |
|
129 | - public function getGoogleRecommendedSchema(): array |
|
130 | - { |
|
131 | - return ['image', 'url']; |
|
132 | - } |
|
133 | - |
|
134 | - |
|
135 | - /** |
|
136 | - * @inheritdoc |
|
137 | - */ |
|
138 | - public function defineRules(): array |
|
139 | - { |
|
140 | - $rules = parent::defineRules(); |
|
141 | - $rules = array_merge($rules, [ |
|
142 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
143 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
144 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
145 | - ]); |
|
146 | - |
|
147 | - return $rules; |
|
148 | - } |
|
26 | + use BacteriaTrait; |
|
27 | + use InfectiousAgentClassTrait; |
|
28 | + use MedicalEnumerationTrait; |
|
29 | + use EnumerationTrait; |
|
30 | + use IntangibleTrait; |
|
31 | + use ThingTrait; |
|
32 | + |
|
33 | + /** |
|
34 | + * The Schema.org Type Name |
|
35 | + * |
|
36 | + * @var string |
|
37 | + */ |
|
38 | + public static string $schemaTypeName = 'Bacteria'; |
|
39 | + |
|
40 | + /** |
|
41 | + * The Schema.org Type Scope |
|
42 | + * |
|
43 | + * @var string |
|
44 | + */ |
|
45 | + public static string $schemaTypeScope = 'https://schema.org/Bacteria'; |
|
46 | + |
|
47 | + /** |
|
48 | + * The Schema.org Type Extends |
|
49 | + * |
|
50 | + * @var string |
|
51 | + */ |
|
52 | + public static string $schemaTypeExtends = 'InfectiousAgentClass'; |
|
53 | + |
|
54 | + /** |
|
55 | + * The Schema.org Type Description |
|
56 | + * |
|
57 | + * @var string |
|
58 | + */ |
|
59 | + public static string $schemaTypeDescription = 'Pathogenic bacteria that cause bacterial infection.'; |
|
60 | + |
|
61 | + |
|
62 | + /** |
|
63 | + * @inheritdoc |
|
64 | + */ |
|
65 | + public function getSchemaPropertyNames(): array |
|
66 | + { |
|
67 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
68 | + } |
|
69 | + |
|
70 | + |
|
71 | + /** |
|
72 | + * @inheritdoc |
|
73 | + */ |
|
74 | + public function getSchemaPropertyExpectedTypes(): array |
|
75 | + { |
|
76 | + return [ |
|
77 | + 'additionalType' => ['URL'], |
|
78 | + 'alternateName' => ['Text'], |
|
79 | + 'description' => ['Text'], |
|
80 | + 'disambiguatingDescription' => ['Text'], |
|
81 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
82 | + 'image' => ['URL', 'ImageObject'], |
|
83 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
84 | + 'name' => ['Text'], |
|
85 | + 'potentialAction' => ['Action'], |
|
86 | + 'sameAs' => ['URL'], |
|
87 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
88 | + 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
89 | + 'url' => ['URL'] |
|
90 | + ]; |
|
91 | + } |
|
92 | + |
|
93 | + |
|
94 | + /** |
|
95 | + * @inheritdoc |
|
96 | + */ |
|
97 | + public function getSchemaPropertyDescriptions(): array |
|
98 | + { |
|
99 | + return [ |
|
100 | + 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
101 | + 'alternateName' => 'An alias for the item.', |
|
102 | + 'description' => 'A description of the item.', |
|
103 | + 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
104 | + 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
105 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
106 | + 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
107 | + 'name' => 'The name of the item.', |
|
108 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
109 | + 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
110 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
111 | + 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
112 | + 'url' => 'URL of the item.' |
|
113 | + ]; |
|
114 | + } |
|
115 | + |
|
116 | + |
|
117 | + /** |
|
118 | + * @inheritdoc |
|
119 | + */ |
|
120 | + public function getGoogleRequiredSchema(): array |
|
121 | + { |
|
122 | + return ['description', 'name']; |
|
123 | + } |
|
124 | + |
|
125 | + |
|
126 | + /** |
|
127 | + * @inheritdoc |
|
128 | + */ |
|
129 | + public function getGoogleRecommendedSchema(): array |
|
130 | + { |
|
131 | + return ['image', 'url']; |
|
132 | + } |
|
133 | + |
|
134 | + |
|
135 | + /** |
|
136 | + * @inheritdoc |
|
137 | + */ |
|
138 | + public function defineRules(): array |
|
139 | + { |
|
140 | + $rules = parent::defineRules(); |
|
141 | + $rules = array_merge($rules, [ |
|
142 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
143 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
144 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
145 | + ]); |
|
146 | + |
|
147 | + return $rules; |
|
148 | + } |
|
149 | 149 | } |
@@ -23,127 +23,127 @@ |
||
23 | 23 | */ |
24 | 24 | class EvidenceLevelB extends MetaJsonLd implements EvidenceLevelBInterface, MedicalEvidenceLevelInterface, MedicalEnumerationInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
25 | 25 | { |
26 | - use EvidenceLevelBTrait; |
|
27 | - use MedicalEvidenceLevelTrait; |
|
28 | - use MedicalEnumerationTrait; |
|
29 | - use EnumerationTrait; |
|
30 | - use IntangibleTrait; |
|
31 | - use ThingTrait; |
|
32 | - |
|
33 | - /** |
|
34 | - * The Schema.org Type Name |
|
35 | - * |
|
36 | - * @var string |
|
37 | - */ |
|
38 | - public static string $schemaTypeName = 'EvidenceLevelB'; |
|
39 | - |
|
40 | - /** |
|
41 | - * The Schema.org Type Scope |
|
42 | - * |
|
43 | - * @var string |
|
44 | - */ |
|
45 | - public static string $schemaTypeScope = 'https://schema.org/EvidenceLevelB'; |
|
46 | - |
|
47 | - /** |
|
48 | - * The Schema.org Type Extends |
|
49 | - * |
|
50 | - * @var string |
|
51 | - */ |
|
52 | - public static string $schemaTypeExtends = 'MedicalEvidenceLevel'; |
|
53 | - |
|
54 | - /** |
|
55 | - * The Schema.org Type Description |
|
56 | - * |
|
57 | - * @var string |
|
58 | - */ |
|
59 | - public static string $schemaTypeDescription = 'Data derived from a single randomized trial, or nonrandomized studies.'; |
|
60 | - |
|
61 | - |
|
62 | - /** |
|
63 | - * @inheritdoc |
|
64 | - */ |
|
65 | - public function getSchemaPropertyNames(): array |
|
66 | - { |
|
67 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
68 | - } |
|
69 | - |
|
70 | - |
|
71 | - /** |
|
72 | - * @inheritdoc |
|
73 | - */ |
|
74 | - public function getSchemaPropertyExpectedTypes(): array |
|
75 | - { |
|
76 | - return [ |
|
77 | - 'additionalType' => ['URL'], |
|
78 | - 'alternateName' => ['Text'], |
|
79 | - 'description' => ['Text'], |
|
80 | - 'disambiguatingDescription' => ['Text'], |
|
81 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
82 | - 'image' => ['URL', 'ImageObject'], |
|
83 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
84 | - 'name' => ['Text'], |
|
85 | - 'potentialAction' => ['Action'], |
|
86 | - 'sameAs' => ['URL'], |
|
87 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
88 | - 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
89 | - 'url' => ['URL'] |
|
90 | - ]; |
|
91 | - } |
|
92 | - |
|
93 | - |
|
94 | - /** |
|
95 | - * @inheritdoc |
|
96 | - */ |
|
97 | - public function getSchemaPropertyDescriptions(): array |
|
98 | - { |
|
99 | - return [ |
|
100 | - 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
101 | - 'alternateName' => 'An alias for the item.', |
|
102 | - 'description' => 'A description of the item.', |
|
103 | - 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
104 | - 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
105 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
106 | - 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
107 | - 'name' => 'The name of the item.', |
|
108 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
109 | - 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
110 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
111 | - 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
112 | - 'url' => 'URL of the item.' |
|
113 | - ]; |
|
114 | - } |
|
115 | - |
|
116 | - |
|
117 | - /** |
|
118 | - * @inheritdoc |
|
119 | - */ |
|
120 | - public function getGoogleRequiredSchema(): array |
|
121 | - { |
|
122 | - return ['description', 'name']; |
|
123 | - } |
|
124 | - |
|
125 | - |
|
126 | - /** |
|
127 | - * @inheritdoc |
|
128 | - */ |
|
129 | - public function getGoogleRecommendedSchema(): array |
|
130 | - { |
|
131 | - return ['image', 'url']; |
|
132 | - } |
|
133 | - |
|
134 | - |
|
135 | - /** |
|
136 | - * @inheritdoc |
|
137 | - */ |
|
138 | - public function defineRules(): array |
|
139 | - { |
|
140 | - $rules = parent::defineRules(); |
|
141 | - $rules = array_merge($rules, [ |
|
142 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
143 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
144 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
145 | - ]); |
|
146 | - |
|
147 | - return $rules; |
|
148 | - } |
|
26 | + use EvidenceLevelBTrait; |
|
27 | + use MedicalEvidenceLevelTrait; |
|
28 | + use MedicalEnumerationTrait; |
|
29 | + use EnumerationTrait; |
|
30 | + use IntangibleTrait; |
|
31 | + use ThingTrait; |
|
32 | + |
|
33 | + /** |
|
34 | + * The Schema.org Type Name |
|
35 | + * |
|
36 | + * @var string |
|
37 | + */ |
|
38 | + public static string $schemaTypeName = 'EvidenceLevelB'; |
|
39 | + |
|
40 | + /** |
|
41 | + * The Schema.org Type Scope |
|
42 | + * |
|
43 | + * @var string |
|
44 | + */ |
|
45 | + public static string $schemaTypeScope = 'https://schema.org/EvidenceLevelB'; |
|
46 | + |
|
47 | + /** |
|
48 | + * The Schema.org Type Extends |
|
49 | + * |
|
50 | + * @var string |
|
51 | + */ |
|
52 | + public static string $schemaTypeExtends = 'MedicalEvidenceLevel'; |
|
53 | + |
|
54 | + /** |
|
55 | + * The Schema.org Type Description |
|
56 | + * |
|
57 | + * @var string |
|
58 | + */ |
|
59 | + public static string $schemaTypeDescription = 'Data derived from a single randomized trial, or nonrandomized studies.'; |
|
60 | + |
|
61 | + |
|
62 | + /** |
|
63 | + * @inheritdoc |
|
64 | + */ |
|
65 | + public function getSchemaPropertyNames(): array |
|
66 | + { |
|
67 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
68 | + } |
|
69 | + |
|
70 | + |
|
71 | + /** |
|
72 | + * @inheritdoc |
|
73 | + */ |
|
74 | + public function getSchemaPropertyExpectedTypes(): array |
|
75 | + { |
|
76 | + return [ |
|
77 | + 'additionalType' => ['URL'], |
|
78 | + 'alternateName' => ['Text'], |
|
79 | + 'description' => ['Text'], |
|
80 | + 'disambiguatingDescription' => ['Text'], |
|
81 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
82 | + 'image' => ['URL', 'ImageObject'], |
|
83 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
84 | + 'name' => ['Text'], |
|
85 | + 'potentialAction' => ['Action'], |
|
86 | + 'sameAs' => ['URL'], |
|
87 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
88 | + 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
89 | + 'url' => ['URL'] |
|
90 | + ]; |
|
91 | + } |
|
92 | + |
|
93 | + |
|
94 | + /** |
|
95 | + * @inheritdoc |
|
96 | + */ |
|
97 | + public function getSchemaPropertyDescriptions(): array |
|
98 | + { |
|
99 | + return [ |
|
100 | + 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
101 | + 'alternateName' => 'An alias for the item.', |
|
102 | + 'description' => 'A description of the item.', |
|
103 | + 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
104 | + 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
105 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
106 | + 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
107 | + 'name' => 'The name of the item.', |
|
108 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
109 | + 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
110 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
111 | + 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
112 | + 'url' => 'URL of the item.' |
|
113 | + ]; |
|
114 | + } |
|
115 | + |
|
116 | + |
|
117 | + /** |
|
118 | + * @inheritdoc |
|
119 | + */ |
|
120 | + public function getGoogleRequiredSchema(): array |
|
121 | + { |
|
122 | + return ['description', 'name']; |
|
123 | + } |
|
124 | + |
|
125 | + |
|
126 | + /** |
|
127 | + * @inheritdoc |
|
128 | + */ |
|
129 | + public function getGoogleRecommendedSchema(): array |
|
130 | + { |
|
131 | + return ['image', 'url']; |
|
132 | + } |
|
133 | + |
|
134 | + |
|
135 | + /** |
|
136 | + * @inheritdoc |
|
137 | + */ |
|
138 | + public function defineRules(): array |
|
139 | + { |
|
140 | + $rules = parent::defineRules(); |
|
141 | + $rules = array_merge($rules, [ |
|
142 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
143 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
144 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
145 | + ]); |
|
146 | + |
|
147 | + return $rules; |
|
148 | + } |
|
149 | 149 | } |
@@ -26,254 +26,254 @@ |
||
26 | 26 | */ |
27 | 27 | class WorkersUnion extends MetaJsonLd implements WorkersUnionInterface, OrganizationInterface, ThingInterface |
28 | 28 | { |
29 | - use WorkersUnionTrait; |
|
30 | - use OrganizationTrait; |
|
31 | - use ThingTrait; |
|
29 | + use WorkersUnionTrait; |
|
30 | + use OrganizationTrait; |
|
31 | + use ThingTrait; |
|
32 | 32 | |
33 | - /** |
|
34 | - * The Schema.org Type Name |
|
35 | - * |
|
36 | - * @var string |
|
37 | - */ |
|
38 | - public static string $schemaTypeName = 'WorkersUnion'; |
|
33 | + /** |
|
34 | + * The Schema.org Type Name |
|
35 | + * |
|
36 | + * @var string |
|
37 | + */ |
|
38 | + public static string $schemaTypeName = 'WorkersUnion'; |
|
39 | 39 | |
40 | - /** |
|
41 | - * The Schema.org Type Scope |
|
42 | - * |
|
43 | - * @var string |
|
44 | - */ |
|
45 | - public static string $schemaTypeScope = 'https://schema.org/WorkersUnion'; |
|
40 | + /** |
|
41 | + * The Schema.org Type Scope |
|
42 | + * |
|
43 | + * @var string |
|
44 | + */ |
|
45 | + public static string $schemaTypeScope = 'https://schema.org/WorkersUnion'; |
|
46 | 46 | |
47 | - /** |
|
48 | - * The Schema.org Type Extends |
|
49 | - * |
|
50 | - * @var string |
|
51 | - */ |
|
52 | - public static string $schemaTypeExtends = 'Organization'; |
|
47 | + /** |
|
48 | + * The Schema.org Type Extends |
|
49 | + * |
|
50 | + * @var string |
|
51 | + */ |
|
52 | + public static string $schemaTypeExtends = 'Organization'; |
|
53 | 53 | |
54 | - /** |
|
55 | - * The Schema.org Type Description |
|
56 | - * |
|
57 | - * @var string |
|
58 | - */ |
|
59 | - public static string $schemaTypeDescription = 'A Workers Union (also known as a Labor Union, Labour Union, or Trade Union) is an organization that promotes the interests of its worker members by collectively bargaining with management, organizing, and political lobbying.'; |
|
54 | + /** |
|
55 | + * The Schema.org Type Description |
|
56 | + * |
|
57 | + * @var string |
|
58 | + */ |
|
59 | + public static string $schemaTypeDescription = 'A Workers Union (also known as a Labor Union, Labour Union, or Trade Union) is an organization that promotes the interests of its worker members by collectively bargaining with management, organizing, and political lobbying.'; |
|
60 | 60 | |
61 | 61 | |
62 | - /** |
|
63 | - * @inheritdoc |
|
64 | - */ |
|
65 | - public function getSchemaPropertyNames(): array |
|
66 | - { |
|
67 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
68 | - } |
|
62 | + /** |
|
63 | + * @inheritdoc |
|
64 | + */ |
|
65 | + public function getSchemaPropertyNames(): array |
|
66 | + { |
|
67 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
68 | + } |
|
69 | 69 | |
70 | 70 | |
71 | - /** |
|
72 | - * @inheritdoc |
|
73 | - */ |
|
74 | - public function getSchemaPropertyExpectedTypes(): array |
|
75 | - { |
|
76 | - return [ |
|
77 | - 'actionableFeedbackPolicy' => ['CreativeWork', 'URL'], |
|
78 | - 'additionalType' => ['URL'], |
|
79 | - 'address' => ['Text', 'PostalAddress'], |
|
80 | - 'aggregateRating' => ['AggregateRating'], |
|
81 | - 'alternateName' => ['Text'], |
|
82 | - 'alumni' => ['Person'], |
|
83 | - 'areaServed' => ['Text', 'Place', 'GeoShape', 'AdministrativeArea'], |
|
84 | - 'award' => ['Text'], |
|
85 | - 'awards' => ['Text'], |
|
86 | - 'brand' => ['Brand', 'Organization'], |
|
87 | - 'contactPoint' => ['ContactPoint'], |
|
88 | - 'contactPoints' => ['ContactPoint'], |
|
89 | - 'correctionsPolicy' => ['URL', 'CreativeWork'], |
|
90 | - 'department' => ['Organization'], |
|
91 | - 'description' => ['Text'], |
|
92 | - 'disambiguatingDescription' => ['Text'], |
|
93 | - 'dissolutionDate' => ['Date'], |
|
94 | - 'diversityPolicy' => ['URL', 'CreativeWork'], |
|
95 | - 'diversityStaffingReport' => ['Article', 'URL'], |
|
96 | - 'duns' => ['Text'], |
|
97 | - 'email' => ['Text'], |
|
98 | - 'employee' => ['Person'], |
|
99 | - 'employees' => ['Person'], |
|
100 | - 'ethicsPolicy' => ['CreativeWork', 'URL'], |
|
101 | - 'event' => ['Event'], |
|
102 | - 'events' => ['Event'], |
|
103 | - 'faxNumber' => ['Text'], |
|
104 | - 'founder' => ['Person'], |
|
105 | - 'founders' => ['Person'], |
|
106 | - 'foundingDate' => ['Date'], |
|
107 | - 'foundingLocation' => ['Place'], |
|
108 | - 'funder' => ['Organization', 'Person'], |
|
109 | - 'funding' => ['Grant'], |
|
110 | - 'globalLocationNumber' => ['Text'], |
|
111 | - 'hasCredential' => ['EducationalOccupationalCredential'], |
|
112 | - 'hasMerchantReturnPolicy' => ['MerchantReturnPolicy'], |
|
113 | - 'hasOfferCatalog' => ['OfferCatalog'], |
|
114 | - 'hasPOS' => ['Place'], |
|
115 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
116 | - 'image' => ['URL', 'ImageObject'], |
|
117 | - 'interactionStatistic' => ['InteractionCounter'], |
|
118 | - 'isicV4' => ['Text'], |
|
119 | - 'iso6523Code' => ['Text'], |
|
120 | - 'keywords' => ['URL', 'DefinedTerm', 'Text'], |
|
121 | - 'knowsAbout' => ['Thing', 'Text', 'URL'], |
|
122 | - 'knowsLanguage' => ['Text', 'Language'], |
|
123 | - 'legalName' => ['Text'], |
|
124 | - 'leiCode' => ['Text'], |
|
125 | - 'location' => ['Place', 'Text', 'VirtualLocation', 'PostalAddress'], |
|
126 | - 'logo' => ['ImageObject', 'URL'], |
|
127 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
128 | - 'makesOffer' => ['Offer'], |
|
129 | - 'member' => ['Organization', 'Person'], |
|
130 | - 'memberOf' => ['Organization', 'ProgramMembership'], |
|
131 | - 'members' => ['Organization', 'Person'], |
|
132 | - 'naics' => ['Text'], |
|
133 | - 'name' => ['Text'], |
|
134 | - 'nonprofitStatus' => ['NonprofitType'], |
|
135 | - 'numberOfEmployees' => ['QuantitativeValue'], |
|
136 | - 'ownershipFundingInfo' => ['AboutPage', 'Text', 'CreativeWork', 'URL'], |
|
137 | - 'owns' => ['Product', 'OwnershipInfo'], |
|
138 | - 'parentOrganization' => ['Organization'], |
|
139 | - 'potentialAction' => ['Action'], |
|
140 | - 'publishingPrinciples' => ['CreativeWork', 'URL'], |
|
141 | - 'review' => ['Review'], |
|
142 | - 'reviews' => ['Review'], |
|
143 | - 'sameAs' => ['URL'], |
|
144 | - 'seeks' => ['Demand'], |
|
145 | - 'serviceArea' => ['AdministrativeArea', 'Place', 'GeoShape'], |
|
146 | - 'slogan' => ['Text'], |
|
147 | - 'sponsor' => ['Organization', 'Person'], |
|
148 | - 'subOrganization' => ['Organization'], |
|
149 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
150 | - 'taxID' => ['Text'], |
|
151 | - 'telephone' => ['Text'], |
|
152 | - 'unnamedSourcesPolicy' => ['CreativeWork', 'URL'], |
|
153 | - 'url' => ['URL'], |
|
154 | - 'vatID' => ['Text'] |
|
155 | - ]; |
|
156 | - } |
|
71 | + /** |
|
72 | + * @inheritdoc |
|
73 | + */ |
|
74 | + public function getSchemaPropertyExpectedTypes(): array |
|
75 | + { |
|
76 | + return [ |
|
77 | + 'actionableFeedbackPolicy' => ['CreativeWork', 'URL'], |
|
78 | + 'additionalType' => ['URL'], |
|
79 | + 'address' => ['Text', 'PostalAddress'], |
|
80 | + 'aggregateRating' => ['AggregateRating'], |
|
81 | + 'alternateName' => ['Text'], |
|
82 | + 'alumni' => ['Person'], |
|
83 | + 'areaServed' => ['Text', 'Place', 'GeoShape', 'AdministrativeArea'], |
|
84 | + 'award' => ['Text'], |
|
85 | + 'awards' => ['Text'], |
|
86 | + 'brand' => ['Brand', 'Organization'], |
|
87 | + 'contactPoint' => ['ContactPoint'], |
|
88 | + 'contactPoints' => ['ContactPoint'], |
|
89 | + 'correctionsPolicy' => ['URL', 'CreativeWork'], |
|
90 | + 'department' => ['Organization'], |
|
91 | + 'description' => ['Text'], |
|
92 | + 'disambiguatingDescription' => ['Text'], |
|
93 | + 'dissolutionDate' => ['Date'], |
|
94 | + 'diversityPolicy' => ['URL', 'CreativeWork'], |
|
95 | + 'diversityStaffingReport' => ['Article', 'URL'], |
|
96 | + 'duns' => ['Text'], |
|
97 | + 'email' => ['Text'], |
|
98 | + 'employee' => ['Person'], |
|
99 | + 'employees' => ['Person'], |
|
100 | + 'ethicsPolicy' => ['CreativeWork', 'URL'], |
|
101 | + 'event' => ['Event'], |
|
102 | + 'events' => ['Event'], |
|
103 | + 'faxNumber' => ['Text'], |
|
104 | + 'founder' => ['Person'], |
|
105 | + 'founders' => ['Person'], |
|
106 | + 'foundingDate' => ['Date'], |
|
107 | + 'foundingLocation' => ['Place'], |
|
108 | + 'funder' => ['Organization', 'Person'], |
|
109 | + 'funding' => ['Grant'], |
|
110 | + 'globalLocationNumber' => ['Text'], |
|
111 | + 'hasCredential' => ['EducationalOccupationalCredential'], |
|
112 | + 'hasMerchantReturnPolicy' => ['MerchantReturnPolicy'], |
|
113 | + 'hasOfferCatalog' => ['OfferCatalog'], |
|
114 | + 'hasPOS' => ['Place'], |
|
115 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
116 | + 'image' => ['URL', 'ImageObject'], |
|
117 | + 'interactionStatistic' => ['InteractionCounter'], |
|
118 | + 'isicV4' => ['Text'], |
|
119 | + 'iso6523Code' => ['Text'], |
|
120 | + 'keywords' => ['URL', 'DefinedTerm', 'Text'], |
|
121 | + 'knowsAbout' => ['Thing', 'Text', 'URL'], |
|
122 | + 'knowsLanguage' => ['Text', 'Language'], |
|
123 | + 'legalName' => ['Text'], |
|
124 | + 'leiCode' => ['Text'], |
|
125 | + 'location' => ['Place', 'Text', 'VirtualLocation', 'PostalAddress'], |
|
126 | + 'logo' => ['ImageObject', 'URL'], |
|
127 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
128 | + 'makesOffer' => ['Offer'], |
|
129 | + 'member' => ['Organization', 'Person'], |
|
130 | + 'memberOf' => ['Organization', 'ProgramMembership'], |
|
131 | + 'members' => ['Organization', 'Person'], |
|
132 | + 'naics' => ['Text'], |
|
133 | + 'name' => ['Text'], |
|
134 | + 'nonprofitStatus' => ['NonprofitType'], |
|
135 | + 'numberOfEmployees' => ['QuantitativeValue'], |
|
136 | + 'ownershipFundingInfo' => ['AboutPage', 'Text', 'CreativeWork', 'URL'], |
|
137 | + 'owns' => ['Product', 'OwnershipInfo'], |
|
138 | + 'parentOrganization' => ['Organization'], |
|
139 | + 'potentialAction' => ['Action'], |
|
140 | + 'publishingPrinciples' => ['CreativeWork', 'URL'], |
|
141 | + 'review' => ['Review'], |
|
142 | + 'reviews' => ['Review'], |
|
143 | + 'sameAs' => ['URL'], |
|
144 | + 'seeks' => ['Demand'], |
|
145 | + 'serviceArea' => ['AdministrativeArea', 'Place', 'GeoShape'], |
|
146 | + 'slogan' => ['Text'], |
|
147 | + 'sponsor' => ['Organization', 'Person'], |
|
148 | + 'subOrganization' => ['Organization'], |
|
149 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
150 | + 'taxID' => ['Text'], |
|
151 | + 'telephone' => ['Text'], |
|
152 | + 'unnamedSourcesPolicy' => ['CreativeWork', 'URL'], |
|
153 | + 'url' => ['URL'], |
|
154 | + 'vatID' => ['Text'] |
|
155 | + ]; |
|
156 | + } |
|
157 | 157 | |
158 | 158 | |
159 | - /** |
|
160 | - * @inheritdoc |
|
161 | - */ |
|
162 | - public function getSchemaPropertyDescriptions(): array |
|
163 | - { |
|
164 | - return [ |
|
165 | - 'actionableFeedbackPolicy' => 'For a [[NewsMediaOrganization]] or other news-related [[Organization]], a statement about public engagement activities (for news media, the newsroom’s), including involving the public - digitally or otherwise -- in coverage decisions, reporting and activities after publication.', |
|
166 | - 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
167 | - 'address' => 'Physical address of the item.', |
|
168 | - 'aggregateRating' => 'The overall rating, based on a collection of reviews or ratings, of the item.', |
|
169 | - 'alternateName' => 'An alias for the item.', |
|
170 | - 'alumni' => 'Alumni of an organization.', |
|
171 | - 'areaServed' => 'The geographic area where a service or offered item is provided.', |
|
172 | - 'award' => 'An award won by or for this item.', |
|
173 | - 'awards' => 'Awards won by or for this item.', |
|
174 | - 'brand' => 'The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.', |
|
175 | - 'contactPoint' => 'A contact point for a person or organization.', |
|
176 | - 'contactPoints' => 'A contact point for a person or organization.', |
|
177 | - 'correctionsPolicy' => 'For an [[Organization]] (e.g. [[NewsMediaOrganization]]), a statement describing (in news media, the newsroom’s) disclosure and correction policy for errors.', |
|
178 | - 'department' => 'A relationship between an organization and a department of that organization, also described as an organization (allowing different urls, logos, opening hours). For example: a store with a pharmacy, or a bakery with a cafe.', |
|
179 | - 'description' => 'A description of the item.', |
|
180 | - 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
181 | - 'dissolutionDate' => 'The date that this organization was dissolved.', |
|
182 | - 'diversityPolicy' => 'Statement on diversity policy by an [[Organization]] e.g. a [[NewsMediaOrganization]]. For a [[NewsMediaOrganization]], a statement describing the newsroom’s diversity policy on both staffing and sources, typically providing staffing data.', |
|
183 | - 'diversityStaffingReport' => 'For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a report on staffing diversity issues. In a news context this might be for example ASNE or RTDNA (US) reports, or self-reported.', |
|
184 | - 'duns' => 'The Dun & Bradstreet DUNS number for identifying an organization or business person.', |
|
185 | - 'email' => 'Email address.', |
|
186 | - 'employee' => 'Someone working for this organization.', |
|
187 | - 'employees' => 'People working for this organization.', |
|
188 | - 'ethicsPolicy' => 'Statement about ethics policy, e.g. of a [[NewsMediaOrganization]] regarding journalistic and publishing practices, or of a [[Restaurant]], a page describing food source policies. In the case of a [[NewsMediaOrganization]], an ethicsPolicy is typically a statement describing the personal, organizational, and corporate standards of behavior expected by the organization.', |
|
189 | - 'event' => 'Upcoming or past event associated with this place, organization, or action.', |
|
190 | - 'events' => 'Upcoming or past events associated with this place or organization.', |
|
191 | - 'faxNumber' => 'The fax number.', |
|
192 | - 'founder' => 'A person who founded this organization.', |
|
193 | - 'founders' => 'A person who founded this organization.', |
|
194 | - 'foundingDate' => 'The date that this organization was founded.', |
|
195 | - 'foundingLocation' => 'The place where the Organization was founded.', |
|
196 | - 'funder' => 'A person or organization that supports (sponsors) something through some kind of financial contribution.', |
|
197 | - 'funding' => 'A [[Grant]] that directly or indirectly provide funding or sponsorship for this item. See also [[ownershipFundingInfo]].', |
|
198 | - 'globalLocationNumber' => 'The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations.', |
|
199 | - 'hasCredential' => 'A credential awarded to the Person or Organization.', |
|
200 | - 'hasMerchantReturnPolicy' => 'Specifies a MerchantReturnPolicy that may be applicable.', |
|
201 | - 'hasOfferCatalog' => 'Indicates an OfferCatalog listing for this Organization, Person, or Service.', |
|
202 | - 'hasPOS' => 'Points-of-Sales operated by the organization or person.', |
|
203 | - 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
204 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
205 | - 'interactionStatistic' => 'The number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used.', |
|
206 | - 'isicV4' => 'The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.', |
|
207 | - 'iso6523Code' => 'An organization identifier as defined in ISO 6523(-1). Note that many existing organization identifiers such as [leiCode](https://schema.org/leiCode), [duns](https://schema.org/duns) and [vatID](https://schema.org/vatID) can be expressed as an ISO 6523 identifier by setting the ICD part of the ISO 6523 identifier accordingly. ', |
|
208 | - 'keywords' => 'Keywords or tags used to describe some item. Multiple textual entries in a keywords list are typically delimited by commas, or by repeating the property.', |
|
209 | - 'knowsAbout' => 'Of a [[Person]], and less typically of an [[Organization]], to indicate a topic that is known about - suggesting possible expertise but not implying it. We do not distinguish skill levels here, or relate this to educational content, events, objectives or [[JobPosting]] descriptions.', |
|
210 | - 'knowsLanguage' => 'Of a [[Person]], and less typically of an [[Organization]], to indicate a known language. We do not distinguish skill levels or reading/writing/speaking/signing here. Use language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47).', |
|
211 | - 'legalName' => 'The official name of the organization, e.g. the registered company name.', |
|
212 | - 'leiCode' => 'An organization identifier that uniquely identifies a legal entity as defined in ISO 17442.', |
|
213 | - 'location' => 'The location of, for example, where an event is happening, where an organization is located, or where an action takes place.', |
|
214 | - 'logo' => 'An associated logo.', |
|
215 | - 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
216 | - 'makesOffer' => 'A pointer to products or services offered by the organization or person.', |
|
217 | - 'member' => 'A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.', |
|
218 | - 'memberOf' => 'An Organization (or ProgramMembership) to which this Person or Organization belongs.', |
|
219 | - 'members' => 'A member of this organization.', |
|
220 | - 'naics' => 'The North American Industry Classification System (NAICS) code for a particular organization or business person.', |
|
221 | - 'name' => 'The name of the item.', |
|
222 | - 'nonprofitStatus' => 'nonprofitStatus indicates the legal status of a non-profit organization in its primary place of business.', |
|
223 | - 'numberOfEmployees' => 'The number of employees in an organization, e.g. business.', |
|
224 | - 'ownershipFundingInfo' => 'For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a description of organizational ownership structure; funding and grants. In a news/media setting, this is with particular reference to editorial independence. Note that the [[funder]] is also available and can be used to make basic funder information machine-readable.', |
|
225 | - 'owns' => 'Products owned by the organization or person.', |
|
226 | - 'parentOrganization' => 'The larger organization that this organization is a [[subOrganization]] of, if any.', |
|
227 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
228 | - 'publishingPrinciples' => 'The publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual, e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. ', |
|
229 | - 'review' => 'A review of the item.', |
|
230 | - 'reviews' => 'Review of the item.', |
|
231 | - 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
232 | - 'seeks' => 'A pointer to products or services sought by the organization or person (demand).', |
|
233 | - 'serviceArea' => 'The geographic area where the service is provided.', |
|
234 | - 'slogan' => 'A slogan or motto associated with the item.', |
|
235 | - 'sponsor' => 'A person or organization that supports a thing through a pledge, promise, or financial contribution. E.g. a sponsor of a Medical Study or a corporate sponsor of an event.', |
|
236 | - 'subOrganization' => 'A relationship between two organizations where the first includes the second, e.g., as a subsidiary. See also: the more specific \'department\' property.', |
|
237 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
238 | - 'taxID' => 'The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain.', |
|
239 | - 'telephone' => 'The telephone number.', |
|
240 | - 'unnamedSourcesPolicy' => 'For an [[Organization]] (typically a [[NewsMediaOrganization]]), a statement about policy on use of unnamed sources and the decision process required.', |
|
241 | - 'url' => 'URL of the item.', |
|
242 | - 'vatID' => 'The Value-added Tax ID of the organization or person.' |
|
243 | - ]; |
|
244 | - } |
|
159 | + /** |
|
160 | + * @inheritdoc |
|
161 | + */ |
|
162 | + public function getSchemaPropertyDescriptions(): array |
|
163 | + { |
|
164 | + return [ |
|
165 | + 'actionableFeedbackPolicy' => 'For a [[NewsMediaOrganization]] or other news-related [[Organization]], a statement about public engagement activities (for news media, the newsroom’s), including involving the public - digitally or otherwise -- in coverage decisions, reporting and activities after publication.', |
|
166 | + 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
167 | + 'address' => 'Physical address of the item.', |
|
168 | + 'aggregateRating' => 'The overall rating, based on a collection of reviews or ratings, of the item.', |
|
169 | + 'alternateName' => 'An alias for the item.', |
|
170 | + 'alumni' => 'Alumni of an organization.', |
|
171 | + 'areaServed' => 'The geographic area where a service or offered item is provided.', |
|
172 | + 'award' => 'An award won by or for this item.', |
|
173 | + 'awards' => 'Awards won by or for this item.', |
|
174 | + 'brand' => 'The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.', |
|
175 | + 'contactPoint' => 'A contact point for a person or organization.', |
|
176 | + 'contactPoints' => 'A contact point for a person or organization.', |
|
177 | + 'correctionsPolicy' => 'For an [[Organization]] (e.g. [[NewsMediaOrganization]]), a statement describing (in news media, the newsroom’s) disclosure and correction policy for errors.', |
|
178 | + 'department' => 'A relationship between an organization and a department of that organization, also described as an organization (allowing different urls, logos, opening hours). For example: a store with a pharmacy, or a bakery with a cafe.', |
|
179 | + 'description' => 'A description of the item.', |
|
180 | + 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
181 | + 'dissolutionDate' => 'The date that this organization was dissolved.', |
|
182 | + 'diversityPolicy' => 'Statement on diversity policy by an [[Organization]] e.g. a [[NewsMediaOrganization]]. For a [[NewsMediaOrganization]], a statement describing the newsroom’s diversity policy on both staffing and sources, typically providing staffing data.', |
|
183 | + 'diversityStaffingReport' => 'For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a report on staffing diversity issues. In a news context this might be for example ASNE or RTDNA (US) reports, or self-reported.', |
|
184 | + 'duns' => 'The Dun & Bradstreet DUNS number for identifying an organization or business person.', |
|
185 | + 'email' => 'Email address.', |
|
186 | + 'employee' => 'Someone working for this organization.', |
|
187 | + 'employees' => 'People working for this organization.', |
|
188 | + 'ethicsPolicy' => 'Statement about ethics policy, e.g. of a [[NewsMediaOrganization]] regarding journalistic and publishing practices, or of a [[Restaurant]], a page describing food source policies. In the case of a [[NewsMediaOrganization]], an ethicsPolicy is typically a statement describing the personal, organizational, and corporate standards of behavior expected by the organization.', |
|
189 | + 'event' => 'Upcoming or past event associated with this place, organization, or action.', |
|
190 | + 'events' => 'Upcoming or past events associated with this place or organization.', |
|
191 | + 'faxNumber' => 'The fax number.', |
|
192 | + 'founder' => 'A person who founded this organization.', |
|
193 | + 'founders' => 'A person who founded this organization.', |
|
194 | + 'foundingDate' => 'The date that this organization was founded.', |
|
195 | + 'foundingLocation' => 'The place where the Organization was founded.', |
|
196 | + 'funder' => 'A person or organization that supports (sponsors) something through some kind of financial contribution.', |
|
197 | + 'funding' => 'A [[Grant]] that directly or indirectly provide funding or sponsorship for this item. See also [[ownershipFundingInfo]].', |
|
198 | + 'globalLocationNumber' => 'The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations.', |
|
199 | + 'hasCredential' => 'A credential awarded to the Person or Organization.', |
|
200 | + 'hasMerchantReturnPolicy' => 'Specifies a MerchantReturnPolicy that may be applicable.', |
|
201 | + 'hasOfferCatalog' => 'Indicates an OfferCatalog listing for this Organization, Person, or Service.', |
|
202 | + 'hasPOS' => 'Points-of-Sales operated by the organization or person.', |
|
203 | + 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
204 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
205 | + 'interactionStatistic' => 'The number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used.', |
|
206 | + 'isicV4' => 'The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.', |
|
207 | + 'iso6523Code' => 'An organization identifier as defined in ISO 6523(-1). Note that many existing organization identifiers such as [leiCode](https://schema.org/leiCode), [duns](https://schema.org/duns) and [vatID](https://schema.org/vatID) can be expressed as an ISO 6523 identifier by setting the ICD part of the ISO 6523 identifier accordingly. ', |
|
208 | + 'keywords' => 'Keywords or tags used to describe some item. Multiple textual entries in a keywords list are typically delimited by commas, or by repeating the property.', |
|
209 | + 'knowsAbout' => 'Of a [[Person]], and less typically of an [[Organization]], to indicate a topic that is known about - suggesting possible expertise but not implying it. We do not distinguish skill levels here, or relate this to educational content, events, objectives or [[JobPosting]] descriptions.', |
|
210 | + 'knowsLanguage' => 'Of a [[Person]], and less typically of an [[Organization]], to indicate a known language. We do not distinguish skill levels or reading/writing/speaking/signing here. Use language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47).', |
|
211 | + 'legalName' => 'The official name of the organization, e.g. the registered company name.', |
|
212 | + 'leiCode' => 'An organization identifier that uniquely identifies a legal entity as defined in ISO 17442.', |
|
213 | + 'location' => 'The location of, for example, where an event is happening, where an organization is located, or where an action takes place.', |
|
214 | + 'logo' => 'An associated logo.', |
|
215 | + 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
216 | + 'makesOffer' => 'A pointer to products or services offered by the organization or person.', |
|
217 | + 'member' => 'A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.', |
|
218 | + 'memberOf' => 'An Organization (or ProgramMembership) to which this Person or Organization belongs.', |
|
219 | + 'members' => 'A member of this organization.', |
|
220 | + 'naics' => 'The North American Industry Classification System (NAICS) code for a particular organization or business person.', |
|
221 | + 'name' => 'The name of the item.', |
|
222 | + 'nonprofitStatus' => 'nonprofitStatus indicates the legal status of a non-profit organization in its primary place of business.', |
|
223 | + 'numberOfEmployees' => 'The number of employees in an organization, e.g. business.', |
|
224 | + 'ownershipFundingInfo' => 'For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a description of organizational ownership structure; funding and grants. In a news/media setting, this is with particular reference to editorial independence. Note that the [[funder]] is also available and can be used to make basic funder information machine-readable.', |
|
225 | + 'owns' => 'Products owned by the organization or person.', |
|
226 | + 'parentOrganization' => 'The larger organization that this organization is a [[subOrganization]] of, if any.', |
|
227 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
228 | + 'publishingPrinciples' => 'The publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual, e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. ', |
|
229 | + 'review' => 'A review of the item.', |
|
230 | + 'reviews' => 'Review of the item.', |
|
231 | + 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
232 | + 'seeks' => 'A pointer to products or services sought by the organization or person (demand).', |
|
233 | + 'serviceArea' => 'The geographic area where the service is provided.', |
|
234 | + 'slogan' => 'A slogan or motto associated with the item.', |
|
235 | + 'sponsor' => 'A person or organization that supports a thing through a pledge, promise, or financial contribution. E.g. a sponsor of a Medical Study or a corporate sponsor of an event.', |
|
236 | + 'subOrganization' => 'A relationship between two organizations where the first includes the second, e.g., as a subsidiary. See also: the more specific \'department\' property.', |
|
237 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
238 | + 'taxID' => 'The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain.', |
|
239 | + 'telephone' => 'The telephone number.', |
|
240 | + 'unnamedSourcesPolicy' => 'For an [[Organization]] (typically a [[NewsMediaOrganization]]), a statement about policy on use of unnamed sources and the decision process required.', |
|
241 | + 'url' => 'URL of the item.', |
|
242 | + 'vatID' => 'The Value-added Tax ID of the organization or person.' |
|
243 | + ]; |
|
244 | + } |
|
245 | 245 | |
246 | 246 | |
247 | - /** |
|
248 | - * @inheritdoc |
|
249 | - */ |
|
250 | - public function getGoogleRequiredSchema(): array |
|
251 | - { |
|
252 | - return ['description', 'name']; |
|
253 | - } |
|
247 | + /** |
|
248 | + * @inheritdoc |
|
249 | + */ |
|
250 | + public function getGoogleRequiredSchema(): array |
|
251 | + { |
|
252 | + return ['description', 'name']; |
|
253 | + } |
|
254 | 254 | |
255 | 255 | |
256 | - /** |
|
257 | - * @inheritdoc |
|
258 | - */ |
|
259 | - public function getGoogleRecommendedSchema(): array |
|
260 | - { |
|
261 | - return ['image', 'url']; |
|
262 | - } |
|
256 | + /** |
|
257 | + * @inheritdoc |
|
258 | + */ |
|
259 | + public function getGoogleRecommendedSchema(): array |
|
260 | + { |
|
261 | + return ['image', 'url']; |
|
262 | + } |
|
263 | 263 | |
264 | 264 | |
265 | - /** |
|
266 | - * @inheritdoc |
|
267 | - */ |
|
268 | - public function defineRules(): array |
|
269 | - { |
|
270 | - $rules = parent::defineRules(); |
|
271 | - $rules = array_merge($rules, [ |
|
272 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
273 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
274 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
275 | - ]); |
|
265 | + /** |
|
266 | + * @inheritdoc |
|
267 | + */ |
|
268 | + public function defineRules(): array |
|
269 | + { |
|
270 | + $rules = parent::defineRules(); |
|
271 | + $rules = array_merge($rules, [ |
|
272 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
273 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
274 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
275 | + ]); |
|
276 | 276 | |
277 | - return $rules; |
|
278 | - } |
|
277 | + return $rules; |
|
278 | + } |
|
279 | 279 | } |
@@ -24,338 +24,338 @@ |
||
24 | 24 | */ |
25 | 25 | class Nursing extends MetaJsonLd implements NursingInterface, MedicalBusinessInterface, LocalBusinessInterface, PlaceInterface, ThingInterface, OrganizationInterface, MedicalSpecialtyInterface, SpecialtyInterface, EnumerationInterface, IntangibleInterface, MedicalEnumerationInterface |
26 | 26 | { |
27 | - use NursingTrait; |
|
28 | - use MedicalBusinessTrait; |
|
29 | - use LocalBusinessTrait; |
|
30 | - use PlaceTrait; |
|
31 | - use ThingTrait; |
|
32 | - use OrganizationTrait; |
|
33 | - use MedicalSpecialtyTrait; |
|
34 | - use SpecialtyTrait; |
|
35 | - use EnumerationTrait; |
|
36 | - use IntangibleTrait; |
|
37 | - use MedicalEnumerationTrait; |
|
27 | + use NursingTrait; |
|
28 | + use MedicalBusinessTrait; |
|
29 | + use LocalBusinessTrait; |
|
30 | + use PlaceTrait; |
|
31 | + use ThingTrait; |
|
32 | + use OrganizationTrait; |
|
33 | + use MedicalSpecialtyTrait; |
|
34 | + use SpecialtyTrait; |
|
35 | + use EnumerationTrait; |
|
36 | + use IntangibleTrait; |
|
37 | + use MedicalEnumerationTrait; |
|
38 | 38 | |
39 | - /** |
|
40 | - * The Schema.org Type Name |
|
41 | - * |
|
42 | - * @var string |
|
43 | - */ |
|
44 | - public static string $schemaTypeName = 'Nursing'; |
|
39 | + /** |
|
40 | + * The Schema.org Type Name |
|
41 | + * |
|
42 | + * @var string |
|
43 | + */ |
|
44 | + public static string $schemaTypeName = 'Nursing'; |
|
45 | 45 | |
46 | - /** |
|
47 | - * The Schema.org Type Scope |
|
48 | - * |
|
49 | - * @var string |
|
50 | - */ |
|
51 | - public static string $schemaTypeScope = 'https://schema.org/Nursing'; |
|
46 | + /** |
|
47 | + * The Schema.org Type Scope |
|
48 | + * |
|
49 | + * @var string |
|
50 | + */ |
|
51 | + public static string $schemaTypeScope = 'https://schema.org/Nursing'; |
|
52 | 52 | |
53 | - /** |
|
54 | - * The Schema.org Type Extends |
|
55 | - * |
|
56 | - * @var string |
|
57 | - */ |
|
58 | - public static string $schemaTypeExtends = 'MedicalBusiness'; |
|
53 | + /** |
|
54 | + * The Schema.org Type Extends |
|
55 | + * |
|
56 | + * @var string |
|
57 | + */ |
|
58 | + public static string $schemaTypeExtends = 'MedicalBusiness'; |
|
59 | 59 | |
60 | - /** |
|
61 | - * The Schema.org Type Description |
|
62 | - * |
|
63 | - * @var string |
|
64 | - */ |
|
65 | - public static string $schemaTypeDescription = 'A health profession of a person formally educated and trained in the care of the sick or infirm person.'; |
|
60 | + /** |
|
61 | + * The Schema.org Type Description |
|
62 | + * |
|
63 | + * @var string |
|
64 | + */ |
|
65 | + public static string $schemaTypeDescription = 'A health profession of a person formally educated and trained in the care of the sick or infirm person.'; |
|
66 | 66 | |
67 | 67 | |
68 | - /** |
|
69 | - * @inheritdoc |
|
70 | - */ |
|
71 | - public function getSchemaPropertyNames(): array |
|
72 | - { |
|
73 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
74 | - } |
|
68 | + /** |
|
69 | + * @inheritdoc |
|
70 | + */ |
|
71 | + public function getSchemaPropertyNames(): array |
|
72 | + { |
|
73 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
74 | + } |
|
75 | 75 | |
76 | 76 | |
77 | - /** |
|
78 | - * @inheritdoc |
|
79 | - */ |
|
80 | - public function getSchemaPropertyExpectedTypes(): array |
|
81 | - { |
|
82 | - return [ |
|
83 | - 'actionableFeedbackPolicy' => ['CreativeWork', 'URL'], |
|
84 | - 'additionalProperty' => ['PropertyValue'], |
|
85 | - 'additionalType' => ['URL'], |
|
86 | - 'address' => ['Text', 'PostalAddress'], |
|
87 | - 'aggregateRating' => ['AggregateRating'], |
|
88 | - 'alternateName' => ['Text'], |
|
89 | - 'alumni' => ['Person'], |
|
90 | - 'amenityFeature' => ['LocationFeatureSpecification'], |
|
91 | - 'areaServed' => ['Text', 'Place', 'GeoShape', 'AdministrativeArea'], |
|
92 | - 'award' => ['Text'], |
|
93 | - 'awards' => ['Text'], |
|
94 | - 'branchCode' => ['Text'], |
|
95 | - 'branchOf' => ['Organization'], |
|
96 | - 'brand' => ['Brand', 'Organization'], |
|
97 | - 'contactPoint' => ['ContactPoint'], |
|
98 | - 'contactPoints' => ['ContactPoint'], |
|
99 | - 'containedIn' => ['Place'], |
|
100 | - 'containedInPlace' => ['Place'], |
|
101 | - 'containsPlace' => ['Place'], |
|
102 | - 'correctionsPolicy' => ['URL', 'CreativeWork'], |
|
103 | - 'currenciesAccepted' => ['Text'], |
|
104 | - 'department' => ['Organization'], |
|
105 | - 'description' => ['Text'], |
|
106 | - 'disambiguatingDescription' => ['Text'], |
|
107 | - 'dissolutionDate' => ['Date'], |
|
108 | - 'diversityPolicy' => ['URL', 'CreativeWork'], |
|
109 | - 'diversityStaffingReport' => ['Article', 'URL'], |
|
110 | - 'duns' => ['Text'], |
|
111 | - 'email' => ['Text'], |
|
112 | - 'employee' => ['Person'], |
|
113 | - 'employees' => ['Person'], |
|
114 | - 'ethicsPolicy' => ['CreativeWork', 'URL'], |
|
115 | - 'event' => ['Event'], |
|
116 | - 'events' => ['Event'], |
|
117 | - 'faxNumber' => ['Text'], |
|
118 | - 'founder' => ['Person'], |
|
119 | - 'founders' => ['Person'], |
|
120 | - 'foundingDate' => ['Date'], |
|
121 | - 'foundingLocation' => ['Place'], |
|
122 | - 'funder' => ['Organization', 'Person'], |
|
123 | - 'funding' => ['Grant'], |
|
124 | - 'geo' => ['GeoCoordinates', 'GeoShape'], |
|
125 | - 'geoContains' => ['Place', 'GeospatialGeometry'], |
|
126 | - 'geoCoveredBy' => ['GeospatialGeometry', 'Place'], |
|
127 | - 'geoCovers' => ['GeospatialGeometry', 'Place'], |
|
128 | - 'geoCrosses' => ['GeospatialGeometry', 'Place'], |
|
129 | - 'geoDisjoint' => ['GeospatialGeometry', 'Place'], |
|
130 | - 'geoEquals' => ['GeospatialGeometry', 'Place'], |
|
131 | - 'geoIntersects' => ['GeospatialGeometry', 'Place'], |
|
132 | - 'geoOverlaps' => ['GeospatialGeometry', 'Place'], |
|
133 | - 'geoTouches' => ['GeospatialGeometry', 'Place'], |
|
134 | - 'geoWithin' => ['GeospatialGeometry', 'Place'], |
|
135 | - 'globalLocationNumber' => ['Text'], |
|
136 | - 'hasCredential' => ['EducationalOccupationalCredential'], |
|
137 | - 'hasDriveThroughService' => ['Boolean'], |
|
138 | - 'hasMap' => ['URL', 'Map'], |
|
139 | - 'hasMerchantReturnPolicy' => ['MerchantReturnPolicy'], |
|
140 | - 'hasOfferCatalog' => ['OfferCatalog'], |
|
141 | - 'hasPOS' => ['Place'], |
|
142 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
143 | - 'image' => ['URL', 'ImageObject'], |
|
144 | - 'interactionStatistic' => ['InteractionCounter'], |
|
145 | - 'isAccessibleForFree' => ['Boolean'], |
|
146 | - 'isicV4' => ['Text'], |
|
147 | - 'iso6523Code' => ['Text'], |
|
148 | - 'keywords' => ['URL', 'DefinedTerm', 'Text'], |
|
149 | - 'knowsAbout' => ['Thing', 'Text', 'URL'], |
|
150 | - 'knowsLanguage' => ['Text', 'Language'], |
|
151 | - 'latitude' => ['Number', 'Text'], |
|
152 | - 'legalName' => ['Text'], |
|
153 | - 'leiCode' => ['Text'], |
|
154 | - 'location' => ['Place', 'Text', 'VirtualLocation', 'PostalAddress'], |
|
155 | - 'logo' => ['ImageObject', 'URL'], |
|
156 | - 'longitude' => ['Text', 'Number'], |
|
157 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
158 | - 'makesOffer' => ['Offer'], |
|
159 | - 'map' => ['URL'], |
|
160 | - 'maps' => ['URL'], |
|
161 | - 'maximumAttendeeCapacity' => ['Integer'], |
|
162 | - 'member' => ['Organization', 'Person'], |
|
163 | - 'memberOf' => ['Organization', 'ProgramMembership'], |
|
164 | - 'members' => ['Organization', 'Person'], |
|
165 | - 'naics' => ['Text'], |
|
166 | - 'name' => ['Text'], |
|
167 | - 'nonprofitStatus' => ['NonprofitType'], |
|
168 | - 'numberOfEmployees' => ['QuantitativeValue'], |
|
169 | - 'openingHours' => ['Text'], |
|
170 | - 'openingHoursSpecification' => ['OpeningHoursSpecification'], |
|
171 | - 'ownershipFundingInfo' => ['AboutPage', 'Text', 'CreativeWork', 'URL'], |
|
172 | - 'owns' => ['Product', 'OwnershipInfo'], |
|
173 | - 'parentOrganization' => ['Organization'], |
|
174 | - 'paymentAccepted' => ['Text'], |
|
175 | - 'photo' => ['Photograph', 'ImageObject'], |
|
176 | - 'photos' => ['ImageObject', 'Photograph'], |
|
177 | - 'potentialAction' => ['Action'], |
|
178 | - 'priceRange' => ['Text'], |
|
179 | - 'publicAccess' => ['Boolean'], |
|
180 | - 'publishingPrinciples' => ['CreativeWork', 'URL'], |
|
181 | - 'review' => ['Review'], |
|
182 | - 'reviews' => ['Review'], |
|
183 | - 'sameAs' => ['URL'], |
|
184 | - 'seeks' => ['Demand'], |
|
185 | - 'serviceArea' => ['AdministrativeArea', 'Place', 'GeoShape'], |
|
186 | - 'slogan' => ['Text'], |
|
187 | - 'smokingAllowed' => ['Boolean'], |
|
188 | - 'specialOpeningHoursSpecification' => ['OpeningHoursSpecification'], |
|
189 | - 'sponsor' => ['Organization', 'Person'], |
|
190 | - 'subOrganization' => ['Organization'], |
|
191 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
192 | - 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
193 | - 'taxID' => ['Text'], |
|
194 | - 'telephone' => ['Text'], |
|
195 | - 'tourBookingPage' => ['URL'], |
|
196 | - 'unnamedSourcesPolicy' => ['CreativeWork', 'URL'], |
|
197 | - 'url' => ['URL'], |
|
198 | - 'vatID' => ['Text'] |
|
199 | - ]; |
|
200 | - } |
|
77 | + /** |
|
78 | + * @inheritdoc |
|
79 | + */ |
|
80 | + public function getSchemaPropertyExpectedTypes(): array |
|
81 | + { |
|
82 | + return [ |
|
83 | + 'actionableFeedbackPolicy' => ['CreativeWork', 'URL'], |
|
84 | + 'additionalProperty' => ['PropertyValue'], |
|
85 | + 'additionalType' => ['URL'], |
|
86 | + 'address' => ['Text', 'PostalAddress'], |
|
87 | + 'aggregateRating' => ['AggregateRating'], |
|
88 | + 'alternateName' => ['Text'], |
|
89 | + 'alumni' => ['Person'], |
|
90 | + 'amenityFeature' => ['LocationFeatureSpecification'], |
|
91 | + 'areaServed' => ['Text', 'Place', 'GeoShape', 'AdministrativeArea'], |
|
92 | + 'award' => ['Text'], |
|
93 | + 'awards' => ['Text'], |
|
94 | + 'branchCode' => ['Text'], |
|
95 | + 'branchOf' => ['Organization'], |
|
96 | + 'brand' => ['Brand', 'Organization'], |
|
97 | + 'contactPoint' => ['ContactPoint'], |
|
98 | + 'contactPoints' => ['ContactPoint'], |
|
99 | + 'containedIn' => ['Place'], |
|
100 | + 'containedInPlace' => ['Place'], |
|
101 | + 'containsPlace' => ['Place'], |
|
102 | + 'correctionsPolicy' => ['URL', 'CreativeWork'], |
|
103 | + 'currenciesAccepted' => ['Text'], |
|
104 | + 'department' => ['Organization'], |
|
105 | + 'description' => ['Text'], |
|
106 | + 'disambiguatingDescription' => ['Text'], |
|
107 | + 'dissolutionDate' => ['Date'], |
|
108 | + 'diversityPolicy' => ['URL', 'CreativeWork'], |
|
109 | + 'diversityStaffingReport' => ['Article', 'URL'], |
|
110 | + 'duns' => ['Text'], |
|
111 | + 'email' => ['Text'], |
|
112 | + 'employee' => ['Person'], |
|
113 | + 'employees' => ['Person'], |
|
114 | + 'ethicsPolicy' => ['CreativeWork', 'URL'], |
|
115 | + 'event' => ['Event'], |
|
116 | + 'events' => ['Event'], |
|
117 | + 'faxNumber' => ['Text'], |
|
118 | + 'founder' => ['Person'], |
|
119 | + 'founders' => ['Person'], |
|
120 | + 'foundingDate' => ['Date'], |
|
121 | + 'foundingLocation' => ['Place'], |
|
122 | + 'funder' => ['Organization', 'Person'], |
|
123 | + 'funding' => ['Grant'], |
|
124 | + 'geo' => ['GeoCoordinates', 'GeoShape'], |
|
125 | + 'geoContains' => ['Place', 'GeospatialGeometry'], |
|
126 | + 'geoCoveredBy' => ['GeospatialGeometry', 'Place'], |
|
127 | + 'geoCovers' => ['GeospatialGeometry', 'Place'], |
|
128 | + 'geoCrosses' => ['GeospatialGeometry', 'Place'], |
|
129 | + 'geoDisjoint' => ['GeospatialGeometry', 'Place'], |
|
130 | + 'geoEquals' => ['GeospatialGeometry', 'Place'], |
|
131 | + 'geoIntersects' => ['GeospatialGeometry', 'Place'], |
|
132 | + 'geoOverlaps' => ['GeospatialGeometry', 'Place'], |
|
133 | + 'geoTouches' => ['GeospatialGeometry', 'Place'], |
|
134 | + 'geoWithin' => ['GeospatialGeometry', 'Place'], |
|
135 | + 'globalLocationNumber' => ['Text'], |
|
136 | + 'hasCredential' => ['EducationalOccupationalCredential'], |
|
137 | + 'hasDriveThroughService' => ['Boolean'], |
|
138 | + 'hasMap' => ['URL', 'Map'], |
|
139 | + 'hasMerchantReturnPolicy' => ['MerchantReturnPolicy'], |
|
140 | + 'hasOfferCatalog' => ['OfferCatalog'], |
|
141 | + 'hasPOS' => ['Place'], |
|
142 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
143 | + 'image' => ['URL', 'ImageObject'], |
|
144 | + 'interactionStatistic' => ['InteractionCounter'], |
|
145 | + 'isAccessibleForFree' => ['Boolean'], |
|
146 | + 'isicV4' => ['Text'], |
|
147 | + 'iso6523Code' => ['Text'], |
|
148 | + 'keywords' => ['URL', 'DefinedTerm', 'Text'], |
|
149 | + 'knowsAbout' => ['Thing', 'Text', 'URL'], |
|
150 | + 'knowsLanguage' => ['Text', 'Language'], |
|
151 | + 'latitude' => ['Number', 'Text'], |
|
152 | + 'legalName' => ['Text'], |
|
153 | + 'leiCode' => ['Text'], |
|
154 | + 'location' => ['Place', 'Text', 'VirtualLocation', 'PostalAddress'], |
|
155 | + 'logo' => ['ImageObject', 'URL'], |
|
156 | + 'longitude' => ['Text', 'Number'], |
|
157 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
158 | + 'makesOffer' => ['Offer'], |
|
159 | + 'map' => ['URL'], |
|
160 | + 'maps' => ['URL'], |
|
161 | + 'maximumAttendeeCapacity' => ['Integer'], |
|
162 | + 'member' => ['Organization', 'Person'], |
|
163 | + 'memberOf' => ['Organization', 'ProgramMembership'], |
|
164 | + 'members' => ['Organization', 'Person'], |
|
165 | + 'naics' => ['Text'], |
|
166 | + 'name' => ['Text'], |
|
167 | + 'nonprofitStatus' => ['NonprofitType'], |
|
168 | + 'numberOfEmployees' => ['QuantitativeValue'], |
|
169 | + 'openingHours' => ['Text'], |
|
170 | + 'openingHoursSpecification' => ['OpeningHoursSpecification'], |
|
171 | + 'ownershipFundingInfo' => ['AboutPage', 'Text', 'CreativeWork', 'URL'], |
|
172 | + 'owns' => ['Product', 'OwnershipInfo'], |
|
173 | + 'parentOrganization' => ['Organization'], |
|
174 | + 'paymentAccepted' => ['Text'], |
|
175 | + 'photo' => ['Photograph', 'ImageObject'], |
|
176 | + 'photos' => ['ImageObject', 'Photograph'], |
|
177 | + 'potentialAction' => ['Action'], |
|
178 | + 'priceRange' => ['Text'], |
|
179 | + 'publicAccess' => ['Boolean'], |
|
180 | + 'publishingPrinciples' => ['CreativeWork', 'URL'], |
|
181 | + 'review' => ['Review'], |
|
182 | + 'reviews' => ['Review'], |
|
183 | + 'sameAs' => ['URL'], |
|
184 | + 'seeks' => ['Demand'], |
|
185 | + 'serviceArea' => ['AdministrativeArea', 'Place', 'GeoShape'], |
|
186 | + 'slogan' => ['Text'], |
|
187 | + 'smokingAllowed' => ['Boolean'], |
|
188 | + 'specialOpeningHoursSpecification' => ['OpeningHoursSpecification'], |
|
189 | + 'sponsor' => ['Organization', 'Person'], |
|
190 | + 'subOrganization' => ['Organization'], |
|
191 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
192 | + 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
193 | + 'taxID' => ['Text'], |
|
194 | + 'telephone' => ['Text'], |
|
195 | + 'tourBookingPage' => ['URL'], |
|
196 | + 'unnamedSourcesPolicy' => ['CreativeWork', 'URL'], |
|
197 | + 'url' => ['URL'], |
|
198 | + 'vatID' => ['Text'] |
|
199 | + ]; |
|
200 | + } |
|
201 | 201 | |
202 | 202 | |
203 | - /** |
|
204 | - * @inheritdoc |
|
205 | - */ |
|
206 | - public function getSchemaPropertyDescriptions(): array |
|
207 | - { |
|
208 | - return [ |
|
209 | - 'actionableFeedbackPolicy' => 'For a [[NewsMediaOrganization]] or other news-related [[Organization]], a statement about public engagement activities (for news media, the newsroom’s), including involving the public - digitally or otherwise -- in coverage decisions, reporting and activities after publication.', |
|
210 | - 'additionalProperty' => 'A property-value pair representing an additional characteristic of the entity, e.g. a product feature or another characteristic for which there is no matching property in schema.org. Note: Publishers should be aware that applications designed to use specific schema.org properties (e.g. https://schema.org/width, https://schema.org/color, https://schema.org/gtin13, ...) will typically expect such data to be provided using those properties, rather than using the generic property/value mechanism. ', |
|
211 | - 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
212 | - 'address' => 'Physical address of the item.', |
|
213 | - 'aggregateRating' => 'The overall rating, based on a collection of reviews or ratings, of the item.', |
|
214 | - 'alternateName' => 'An alias for the item.', |
|
215 | - 'alumni' => 'Alumni of an organization.', |
|
216 | - 'amenityFeature' => 'An amenity feature (e.g. a characteristic or service) of the Accommodation. This generic property does not make a statement about whether the feature is included in an offer for the main accommodation or available at extra costs.', |
|
217 | - 'areaServed' => 'The geographic area where a service or offered item is provided.', |
|
218 | - 'award' => 'An award won by or for this item.', |
|
219 | - 'awards' => 'Awards won by or for this item.', |
|
220 | - 'branchCode' => 'A short textual code (also called "store code") that uniquely identifies a place of business. The code is typically assigned by the parentOrganization and used in structured URLs. For example, in the URL http://www.starbucks.co.uk/store-locator/etc/detail/3047 the code "3047" is a branchCode for a particular branch. ', |
|
221 | - 'branchOf' => 'The larger organization that this local business is a branch of, if any. Not to be confused with (anatomical) [[branch]].', |
|
222 | - 'brand' => 'The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.', |
|
223 | - 'contactPoint' => 'A contact point for a person or organization.', |
|
224 | - 'contactPoints' => 'A contact point for a person or organization.', |
|
225 | - 'containedIn' => 'The basic containment relation between a place and one that contains it.', |
|
226 | - 'containedInPlace' => 'The basic containment relation between a place and one that contains it.', |
|
227 | - 'containsPlace' => 'The basic containment relation between a place and another that it contains.', |
|
228 | - 'correctionsPolicy' => 'For an [[Organization]] (e.g. [[NewsMediaOrganization]]), a statement describing (in news media, the newsroom’s) disclosure and correction policy for errors.', |
|
229 | - 'currenciesAccepted' => 'The currency accepted. Use standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217), e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies, e.g. "BTC"; well known names for [Local Exchange Trading Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types, e.g. "Ithaca HOUR".', |
|
230 | - 'department' => 'A relationship between an organization and a department of that organization, also described as an organization (allowing different urls, logos, opening hours). For example: a store with a pharmacy, or a bakery with a cafe.', |
|
231 | - 'description' => 'A description of the item.', |
|
232 | - 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
233 | - 'dissolutionDate' => 'The date that this organization was dissolved.', |
|
234 | - 'diversityPolicy' => 'Statement on diversity policy by an [[Organization]] e.g. a [[NewsMediaOrganization]]. For a [[NewsMediaOrganization]], a statement describing the newsroom’s diversity policy on both staffing and sources, typically providing staffing data.', |
|
235 | - 'diversityStaffingReport' => 'For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a report on staffing diversity issues. In a news context this might be for example ASNE or RTDNA (US) reports, or self-reported.', |
|
236 | - 'duns' => 'The Dun & Bradstreet DUNS number for identifying an organization or business person.', |
|
237 | - 'email' => 'Email address.', |
|
238 | - 'employee' => 'Someone working for this organization.', |
|
239 | - 'employees' => 'People working for this organization.', |
|
240 | - 'ethicsPolicy' => 'Statement about ethics policy, e.g. of a [[NewsMediaOrganization]] regarding journalistic and publishing practices, or of a [[Restaurant]], a page describing food source policies. In the case of a [[NewsMediaOrganization]], an ethicsPolicy is typically a statement describing the personal, organizational, and corporate standards of behavior expected by the organization.', |
|
241 | - 'event' => 'Upcoming or past event associated with this place, organization, or action.', |
|
242 | - 'events' => 'Upcoming or past events associated with this place or organization.', |
|
243 | - 'faxNumber' => 'The fax number.', |
|
244 | - 'founder' => 'A person who founded this organization.', |
|
245 | - 'founders' => 'A person who founded this organization.', |
|
246 | - 'foundingDate' => 'The date that this organization was founded.', |
|
247 | - 'foundingLocation' => 'The place where the Organization was founded.', |
|
248 | - 'funder' => 'A person or organization that supports (sponsors) something through some kind of financial contribution.', |
|
249 | - 'funding' => 'A [[Grant]] that directly or indirectly provide funding or sponsorship for this item. See also [[ownershipFundingInfo]].', |
|
250 | - 'geo' => 'The geo coordinates of the place.', |
|
251 | - 'geoContains' => 'Represents a relationship between two geometries (or the places they represent), relating a containing geometry to a contained geometry. "a contains b iff no points of b lie in the exterior of a, and at least one point of the interior of b lies in the interior of a". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
252 | - 'geoCoveredBy' => 'Represents a relationship between two geometries (or the places they represent), relating a geometry to another that covers it. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
253 | - 'geoCovers' => 'Represents a relationship between two geometries (or the places they represent), relating a covering geometry to a covered geometry. "Every point of b is a point of (the interior or boundary of) a". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
254 | - 'geoCrosses' => 'Represents a relationship between two geometries (or the places they represent), relating a geometry to another that crosses it: "a crosses b: they have some but not all interior points in common, and the dimension of the intersection is less than that of at least one of them". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
255 | - 'geoDisjoint' => 'Represents spatial relations in which two geometries (or the places they represent) are topologically disjoint: "they have no point in common. They form a set of disconnected geometries." (A symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).)', |
|
256 | - 'geoEquals' => 'Represents spatial relations in which two geometries (or the places they represent) are topologically equal, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM). "Two geometries are topologically equal if their interiors intersect and no part of the interior or boundary of one geometry intersects the exterior of the other" (a symmetric relationship).', |
|
257 | - 'geoIntersects' => 'Represents spatial relations in which two geometries (or the places they represent) have at least one point in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
258 | - 'geoOverlaps' => 'Represents a relationship between two geometries (or the places they represent), relating a geometry to another that geospatially overlaps it, i.e. they have some but not all points in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
259 | - 'geoTouches' => 'Represents spatial relations in which two geometries (or the places they represent) touch: "they have at least one boundary point in common, but no interior points." (A symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).)', |
|
260 | - 'geoWithin' => 'Represents a relationship between two geometries (or the places they represent), relating a geometry to one that contains it, i.e. it is inside (i.e. within) its interior. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
261 | - 'globalLocationNumber' => 'The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations.', |
|
262 | - 'hasCredential' => 'A credential awarded to the Person or Organization.', |
|
263 | - 'hasDriveThroughService' => 'Indicates whether some facility (e.g. [[FoodEstablishment]], [[CovidTestingFacility]]) offers a service that can be used by driving through in a car. In the case of [[CovidTestingFacility]] such facilities could potentially help with social distancing from other potentially-infected users.', |
|
264 | - 'hasMap' => 'A URL to a map of the place.', |
|
265 | - 'hasMerchantReturnPolicy' => 'Specifies a MerchantReturnPolicy that may be applicable.', |
|
266 | - 'hasOfferCatalog' => 'Indicates an OfferCatalog listing for this Organization, Person, or Service.', |
|
267 | - 'hasPOS' => 'Points-of-Sales operated by the organization or person.', |
|
268 | - 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
269 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
270 | - 'interactionStatistic' => 'The number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used.', |
|
271 | - 'isAccessibleForFree' => 'A flag to signal that the item, event, or place is accessible for free.', |
|
272 | - 'isicV4' => 'The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.', |
|
273 | - 'iso6523Code' => 'An organization identifier as defined in ISO 6523(-1). Note that many existing organization identifiers such as [leiCode](https://schema.org/leiCode), [duns](https://schema.org/duns) and [vatID](https://schema.org/vatID) can be expressed as an ISO 6523 identifier by setting the ICD part of the ISO 6523 identifier accordingly. ', |
|
274 | - 'keywords' => 'Keywords or tags used to describe some item. Multiple textual entries in a keywords list are typically delimited by commas, or by repeating the property.', |
|
275 | - 'knowsAbout' => 'Of a [[Person]], and less typically of an [[Organization]], to indicate a topic that is known about - suggesting possible expertise but not implying it. We do not distinguish skill levels here, or relate this to educational content, events, objectives or [[JobPosting]] descriptions.', |
|
276 | - 'knowsLanguage' => 'Of a [[Person]], and less typically of an [[Organization]], to indicate a known language. We do not distinguish skill levels or reading/writing/speaking/signing here. Use language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47).', |
|
277 | - 'latitude' => 'The latitude of a location. For example ```37.42242``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).', |
|
278 | - 'legalName' => 'The official name of the organization, e.g. the registered company name.', |
|
279 | - 'leiCode' => 'An organization identifier that uniquely identifies a legal entity as defined in ISO 17442.', |
|
280 | - 'location' => 'The location of, for example, where an event is happening, where an organization is located, or where an action takes place.', |
|
281 | - 'logo' => 'An associated logo.', |
|
282 | - 'longitude' => 'The longitude of a location. For example ```-122.08585``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).', |
|
283 | - 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
284 | - 'makesOffer' => 'A pointer to products or services offered by the organization or person.', |
|
285 | - 'map' => 'A URL to a map of the place.', |
|
286 | - 'maps' => 'A URL to a map of the place.', |
|
287 | - 'maximumAttendeeCapacity' => 'The total number of individuals that may attend an event or venue.', |
|
288 | - 'member' => 'A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.', |
|
289 | - 'memberOf' => 'An Organization (or ProgramMembership) to which this Person or Organization belongs.', |
|
290 | - 'members' => 'A member of this organization.', |
|
291 | - 'naics' => 'The North American Industry Classification System (NAICS) code for a particular organization or business person.', |
|
292 | - 'name' => 'The name of the item.', |
|
293 | - 'nonprofitStatus' => 'nonprofitStatus indicates the legal status of a non-profit organization in its primary place of business.', |
|
294 | - 'numberOfEmployees' => 'The number of employees in an organization, e.g. business.', |
|
295 | - 'openingHours' => 'The general opening hours for a business. Opening hours can be specified as a weekly time range, starting with days, then times per day. Multiple days can be listed with commas \',\' separating each day. Day or time ranges are specified using a hyphen \'-\'. * Days are specified using the following two-letter combinations: ```Mo```, ```Tu```, ```We```, ```Th```, ```Fr```, ```Sa```, ```Su```. * Times are specified using 24:00 format. For example, 3pm is specified as ```15:00```, 10am as ```10:00```. * Here is an example: <code><time itemprop="openingHours" datetime="Tu,Th 16:00-20:00">Tuesdays and Thursdays 4-8pm</time></code>. * If a business is open 7 days a week, then it can be specified as <code><time itemprop="openingHours" datetime="Mo-Su">Monday through Sunday, all day</time></code>.', |
|
296 | - 'openingHoursSpecification' => 'The opening hours of a certain place.', |
|
297 | - 'ownershipFundingInfo' => 'For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a description of organizational ownership structure; funding and grants. In a news/media setting, this is with particular reference to editorial independence. Note that the [[funder]] is also available and can be used to make basic funder information machine-readable.', |
|
298 | - 'owns' => 'Products owned by the organization or person.', |
|
299 | - 'parentOrganization' => 'The larger organization that this organization is a [[subOrganization]] of, if any.', |
|
300 | - 'paymentAccepted' => 'Cash, Credit Card, Cryptocurrency, Local Exchange Tradings System, etc.', |
|
301 | - 'photo' => 'A photograph of this place.', |
|
302 | - 'photos' => 'Photographs of this place.', |
|
303 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
304 | - 'priceRange' => 'The price range of the business, for example ```$$$```.', |
|
305 | - 'publicAccess' => 'A flag to signal that the [[Place]] is open to public visitors. If this property is omitted there is no assumed default boolean value', |
|
306 | - 'publishingPrinciples' => 'The publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual, e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. ', |
|
307 | - 'review' => 'A review of the item.', |
|
308 | - 'reviews' => 'Review of the item.', |
|
309 | - 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
310 | - 'seeks' => 'A pointer to products or services sought by the organization or person (demand).', |
|
311 | - 'serviceArea' => 'The geographic area where the service is provided.', |
|
312 | - 'slogan' => 'A slogan or motto associated with the item.', |
|
313 | - 'smokingAllowed' => 'Indicates whether it is allowed to smoke in the place, e.g. in the restaurant, hotel or hotel room.', |
|
314 | - 'specialOpeningHoursSpecification' => 'The special opening hours of a certain place. Use this to explicitly override general opening hours brought in scope by [[openingHoursSpecification]] or [[openingHours]]. ', |
|
315 | - 'sponsor' => 'A person or organization that supports a thing through a pledge, promise, or financial contribution. E.g. a sponsor of a Medical Study or a corporate sponsor of an event.', |
|
316 | - 'subOrganization' => 'A relationship between two organizations where the first includes the second, e.g., as a subsidiary. See also: the more specific \'department\' property.', |
|
317 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
318 | - 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
319 | - 'taxID' => 'The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain.', |
|
320 | - 'telephone' => 'The telephone number.', |
|
321 | - 'tourBookingPage' => 'A page providing information on how to book a tour of some [[Place]], such as an [[Accommodation]] or [[ApartmentComplex]] in a real estate setting, as well as other kinds of tours as appropriate.', |
|
322 | - 'unnamedSourcesPolicy' => 'For an [[Organization]] (typically a [[NewsMediaOrganization]]), a statement about policy on use of unnamed sources and the decision process required.', |
|
323 | - 'url' => 'URL of the item.', |
|
324 | - 'vatID' => 'The Value-added Tax ID of the organization or person.' |
|
325 | - ]; |
|
326 | - } |
|
203 | + /** |
|
204 | + * @inheritdoc |
|
205 | + */ |
|
206 | + public function getSchemaPropertyDescriptions(): array |
|
207 | + { |
|
208 | + return [ |
|
209 | + 'actionableFeedbackPolicy' => 'For a [[NewsMediaOrganization]] or other news-related [[Organization]], a statement about public engagement activities (for news media, the newsroom’s), including involving the public - digitally or otherwise -- in coverage decisions, reporting and activities after publication.', |
|
210 | + 'additionalProperty' => 'A property-value pair representing an additional characteristic of the entity, e.g. a product feature or another characteristic for which there is no matching property in schema.org. Note: Publishers should be aware that applications designed to use specific schema.org properties (e.g. https://schema.org/width, https://schema.org/color, https://schema.org/gtin13, ...) will typically expect such data to be provided using those properties, rather than using the generic property/value mechanism. ', |
|
211 | + 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
212 | + 'address' => 'Physical address of the item.', |
|
213 | + 'aggregateRating' => 'The overall rating, based on a collection of reviews or ratings, of the item.', |
|
214 | + 'alternateName' => 'An alias for the item.', |
|
215 | + 'alumni' => 'Alumni of an organization.', |
|
216 | + 'amenityFeature' => 'An amenity feature (e.g. a characteristic or service) of the Accommodation. This generic property does not make a statement about whether the feature is included in an offer for the main accommodation or available at extra costs.', |
|
217 | + 'areaServed' => 'The geographic area where a service or offered item is provided.', |
|
218 | + 'award' => 'An award won by or for this item.', |
|
219 | + 'awards' => 'Awards won by or for this item.', |
|
220 | + 'branchCode' => 'A short textual code (also called "store code") that uniquely identifies a place of business. The code is typically assigned by the parentOrganization and used in structured URLs. For example, in the URL http://www.starbucks.co.uk/store-locator/etc/detail/3047 the code "3047" is a branchCode for a particular branch. ', |
|
221 | + 'branchOf' => 'The larger organization that this local business is a branch of, if any. Not to be confused with (anatomical) [[branch]].', |
|
222 | + 'brand' => 'The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.', |
|
223 | + 'contactPoint' => 'A contact point for a person or organization.', |
|
224 | + 'contactPoints' => 'A contact point for a person or organization.', |
|
225 | + 'containedIn' => 'The basic containment relation between a place and one that contains it.', |
|
226 | + 'containedInPlace' => 'The basic containment relation between a place and one that contains it.', |
|
227 | + 'containsPlace' => 'The basic containment relation between a place and another that it contains.', |
|
228 | + 'correctionsPolicy' => 'For an [[Organization]] (e.g. [[NewsMediaOrganization]]), a statement describing (in news media, the newsroom’s) disclosure and correction policy for errors.', |
|
229 | + 'currenciesAccepted' => 'The currency accepted. Use standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217), e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies, e.g. "BTC"; well known names for [Local Exchange Trading Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types, e.g. "Ithaca HOUR".', |
|
230 | + 'department' => 'A relationship between an organization and a department of that organization, also described as an organization (allowing different urls, logos, opening hours). For example: a store with a pharmacy, or a bakery with a cafe.', |
|
231 | + 'description' => 'A description of the item.', |
|
232 | + 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
233 | + 'dissolutionDate' => 'The date that this organization was dissolved.', |
|
234 | + 'diversityPolicy' => 'Statement on diversity policy by an [[Organization]] e.g. a [[NewsMediaOrganization]]. For a [[NewsMediaOrganization]], a statement describing the newsroom’s diversity policy on both staffing and sources, typically providing staffing data.', |
|
235 | + 'diversityStaffingReport' => 'For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a report on staffing diversity issues. In a news context this might be for example ASNE or RTDNA (US) reports, or self-reported.', |
|
236 | + 'duns' => 'The Dun & Bradstreet DUNS number for identifying an organization or business person.', |
|
237 | + 'email' => 'Email address.', |
|
238 | + 'employee' => 'Someone working for this organization.', |
|
239 | + 'employees' => 'People working for this organization.', |
|
240 | + 'ethicsPolicy' => 'Statement about ethics policy, e.g. of a [[NewsMediaOrganization]] regarding journalistic and publishing practices, or of a [[Restaurant]], a page describing food source policies. In the case of a [[NewsMediaOrganization]], an ethicsPolicy is typically a statement describing the personal, organizational, and corporate standards of behavior expected by the organization.', |
|
241 | + 'event' => 'Upcoming or past event associated with this place, organization, or action.', |
|
242 | + 'events' => 'Upcoming or past events associated with this place or organization.', |
|
243 | + 'faxNumber' => 'The fax number.', |
|
244 | + 'founder' => 'A person who founded this organization.', |
|
245 | + 'founders' => 'A person who founded this organization.', |
|
246 | + 'foundingDate' => 'The date that this organization was founded.', |
|
247 | + 'foundingLocation' => 'The place where the Organization was founded.', |
|
248 | + 'funder' => 'A person or organization that supports (sponsors) something through some kind of financial contribution.', |
|
249 | + 'funding' => 'A [[Grant]] that directly or indirectly provide funding or sponsorship for this item. See also [[ownershipFundingInfo]].', |
|
250 | + 'geo' => 'The geo coordinates of the place.', |
|
251 | + 'geoContains' => 'Represents a relationship between two geometries (or the places they represent), relating a containing geometry to a contained geometry. "a contains b iff no points of b lie in the exterior of a, and at least one point of the interior of b lies in the interior of a". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
252 | + 'geoCoveredBy' => 'Represents a relationship between two geometries (or the places they represent), relating a geometry to another that covers it. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
253 | + 'geoCovers' => 'Represents a relationship between two geometries (or the places they represent), relating a covering geometry to a covered geometry. "Every point of b is a point of (the interior or boundary of) a". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
254 | + 'geoCrosses' => 'Represents a relationship between two geometries (or the places they represent), relating a geometry to another that crosses it: "a crosses b: they have some but not all interior points in common, and the dimension of the intersection is less than that of at least one of them". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
255 | + 'geoDisjoint' => 'Represents spatial relations in which two geometries (or the places they represent) are topologically disjoint: "they have no point in common. They form a set of disconnected geometries." (A symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).)', |
|
256 | + 'geoEquals' => 'Represents spatial relations in which two geometries (or the places they represent) are topologically equal, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM). "Two geometries are topologically equal if their interiors intersect and no part of the interior or boundary of one geometry intersects the exterior of the other" (a symmetric relationship).', |
|
257 | + 'geoIntersects' => 'Represents spatial relations in which two geometries (or the places they represent) have at least one point in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
258 | + 'geoOverlaps' => 'Represents a relationship between two geometries (or the places they represent), relating a geometry to another that geospatially overlaps it, i.e. they have some but not all points in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
259 | + 'geoTouches' => 'Represents spatial relations in which two geometries (or the places they represent) touch: "they have at least one boundary point in common, but no interior points." (A symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).)', |
|
260 | + 'geoWithin' => 'Represents a relationship between two geometries (or the places they represent), relating a geometry to one that contains it, i.e. it is inside (i.e. within) its interior. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).', |
|
261 | + 'globalLocationNumber' => 'The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations.', |
|
262 | + 'hasCredential' => 'A credential awarded to the Person or Organization.', |
|
263 | + 'hasDriveThroughService' => 'Indicates whether some facility (e.g. [[FoodEstablishment]], [[CovidTestingFacility]]) offers a service that can be used by driving through in a car. In the case of [[CovidTestingFacility]] such facilities could potentially help with social distancing from other potentially-infected users.', |
|
264 | + 'hasMap' => 'A URL to a map of the place.', |
|
265 | + 'hasMerchantReturnPolicy' => 'Specifies a MerchantReturnPolicy that may be applicable.', |
|
266 | + 'hasOfferCatalog' => 'Indicates an OfferCatalog listing for this Organization, Person, or Service.', |
|
267 | + 'hasPOS' => 'Points-of-Sales operated by the organization or person.', |
|
268 | + 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
269 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
270 | + 'interactionStatistic' => 'The number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used.', |
|
271 | + 'isAccessibleForFree' => 'A flag to signal that the item, event, or place is accessible for free.', |
|
272 | + 'isicV4' => 'The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.', |
|
273 | + 'iso6523Code' => 'An organization identifier as defined in ISO 6523(-1). Note that many existing organization identifiers such as [leiCode](https://schema.org/leiCode), [duns](https://schema.org/duns) and [vatID](https://schema.org/vatID) can be expressed as an ISO 6523 identifier by setting the ICD part of the ISO 6523 identifier accordingly. ', |
|
274 | + 'keywords' => 'Keywords or tags used to describe some item. Multiple textual entries in a keywords list are typically delimited by commas, or by repeating the property.', |
|
275 | + 'knowsAbout' => 'Of a [[Person]], and less typically of an [[Organization]], to indicate a topic that is known about - suggesting possible expertise but not implying it. We do not distinguish skill levels here, or relate this to educational content, events, objectives or [[JobPosting]] descriptions.', |
|
276 | + 'knowsLanguage' => 'Of a [[Person]], and less typically of an [[Organization]], to indicate a known language. We do not distinguish skill levels or reading/writing/speaking/signing here. Use language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47).', |
|
277 | + 'latitude' => 'The latitude of a location. For example ```37.42242``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).', |
|
278 | + 'legalName' => 'The official name of the organization, e.g. the registered company name.', |
|
279 | + 'leiCode' => 'An organization identifier that uniquely identifies a legal entity as defined in ISO 17442.', |
|
280 | + 'location' => 'The location of, for example, where an event is happening, where an organization is located, or where an action takes place.', |
|
281 | + 'logo' => 'An associated logo.', |
|
282 | + 'longitude' => 'The longitude of a location. For example ```-122.08585``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).', |
|
283 | + 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
284 | + 'makesOffer' => 'A pointer to products or services offered by the organization or person.', |
|
285 | + 'map' => 'A URL to a map of the place.', |
|
286 | + 'maps' => 'A URL to a map of the place.', |
|
287 | + 'maximumAttendeeCapacity' => 'The total number of individuals that may attend an event or venue.', |
|
288 | + 'member' => 'A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.', |
|
289 | + 'memberOf' => 'An Organization (or ProgramMembership) to which this Person or Organization belongs.', |
|
290 | + 'members' => 'A member of this organization.', |
|
291 | + 'naics' => 'The North American Industry Classification System (NAICS) code for a particular organization or business person.', |
|
292 | + 'name' => 'The name of the item.', |
|
293 | + 'nonprofitStatus' => 'nonprofitStatus indicates the legal status of a non-profit organization in its primary place of business.', |
|
294 | + 'numberOfEmployees' => 'The number of employees in an organization, e.g. business.', |
|
295 | + 'openingHours' => 'The general opening hours for a business. Opening hours can be specified as a weekly time range, starting with days, then times per day. Multiple days can be listed with commas \',\' separating each day. Day or time ranges are specified using a hyphen \'-\'. * Days are specified using the following two-letter combinations: ```Mo```, ```Tu```, ```We```, ```Th```, ```Fr```, ```Sa```, ```Su```. * Times are specified using 24:00 format. For example, 3pm is specified as ```15:00```, 10am as ```10:00```. * Here is an example: <code><time itemprop="openingHours" datetime="Tu,Th 16:00-20:00">Tuesdays and Thursdays 4-8pm</time></code>. * If a business is open 7 days a week, then it can be specified as <code><time itemprop="openingHours" datetime="Mo-Su">Monday through Sunday, all day</time></code>.', |
|
296 | + 'openingHoursSpecification' => 'The opening hours of a certain place.', |
|
297 | + 'ownershipFundingInfo' => 'For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a description of organizational ownership structure; funding and grants. In a news/media setting, this is with particular reference to editorial independence. Note that the [[funder]] is also available and can be used to make basic funder information machine-readable.', |
|
298 | + 'owns' => 'Products owned by the organization or person.', |
|
299 | + 'parentOrganization' => 'The larger organization that this organization is a [[subOrganization]] of, if any.', |
|
300 | + 'paymentAccepted' => 'Cash, Credit Card, Cryptocurrency, Local Exchange Tradings System, etc.', |
|
301 | + 'photo' => 'A photograph of this place.', |
|
302 | + 'photos' => 'Photographs of this place.', |
|
303 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
304 | + 'priceRange' => 'The price range of the business, for example ```$$$```.', |
|
305 | + 'publicAccess' => 'A flag to signal that the [[Place]] is open to public visitors. If this property is omitted there is no assumed default boolean value', |
|
306 | + 'publishingPrinciples' => 'The publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual, e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. ', |
|
307 | + 'review' => 'A review of the item.', |
|
308 | + 'reviews' => 'Review of the item.', |
|
309 | + 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
310 | + 'seeks' => 'A pointer to products or services sought by the organization or person (demand).', |
|
311 | + 'serviceArea' => 'The geographic area where the service is provided.', |
|
312 | + 'slogan' => 'A slogan or motto associated with the item.', |
|
313 | + 'smokingAllowed' => 'Indicates whether it is allowed to smoke in the place, e.g. in the restaurant, hotel or hotel room.', |
|
314 | + 'specialOpeningHoursSpecification' => 'The special opening hours of a certain place. Use this to explicitly override general opening hours brought in scope by [[openingHoursSpecification]] or [[openingHours]]. ', |
|
315 | + 'sponsor' => 'A person or organization that supports a thing through a pledge, promise, or financial contribution. E.g. a sponsor of a Medical Study or a corporate sponsor of an event.', |
|
316 | + 'subOrganization' => 'A relationship between two organizations where the first includes the second, e.g., as a subsidiary. See also: the more specific \'department\' property.', |
|
317 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
318 | + 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
319 | + 'taxID' => 'The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain.', |
|
320 | + 'telephone' => 'The telephone number.', |
|
321 | + 'tourBookingPage' => 'A page providing information on how to book a tour of some [[Place]], such as an [[Accommodation]] or [[ApartmentComplex]] in a real estate setting, as well as other kinds of tours as appropriate.', |
|
322 | + 'unnamedSourcesPolicy' => 'For an [[Organization]] (typically a [[NewsMediaOrganization]]), a statement about policy on use of unnamed sources and the decision process required.', |
|
323 | + 'url' => 'URL of the item.', |
|
324 | + 'vatID' => 'The Value-added Tax ID of the organization or person.' |
|
325 | + ]; |
|
326 | + } |
|
327 | 327 | |
328 | 328 | |
329 | - /** |
|
330 | - * @inheritdoc |
|
331 | - */ |
|
332 | - public function getGoogleRequiredSchema(): array |
|
333 | - { |
|
334 | - return ['description', 'name']; |
|
335 | - } |
|
329 | + /** |
|
330 | + * @inheritdoc |
|
331 | + */ |
|
332 | + public function getGoogleRequiredSchema(): array |
|
333 | + { |
|
334 | + return ['description', 'name']; |
|
335 | + } |
|
336 | 336 | |
337 | 337 | |
338 | - /** |
|
339 | - * @inheritdoc |
|
340 | - */ |
|
341 | - public function getGoogleRecommendedSchema(): array |
|
342 | - { |
|
343 | - return ['image', 'url']; |
|
344 | - } |
|
338 | + /** |
|
339 | + * @inheritdoc |
|
340 | + */ |
|
341 | + public function getGoogleRecommendedSchema(): array |
|
342 | + { |
|
343 | + return ['image', 'url']; |
|
344 | + } |
|
345 | 345 | |
346 | 346 | |
347 | - /** |
|
348 | - * @inheritdoc |
|
349 | - */ |
|
350 | - public function defineRules(): array |
|
351 | - { |
|
352 | - $rules = parent::defineRules(); |
|
353 | - $rules = array_merge($rules, [ |
|
354 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
355 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
356 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
357 | - ]); |
|
347 | + /** |
|
348 | + * @inheritdoc |
|
349 | + */ |
|
350 | + public function defineRules(): array |
|
351 | + { |
|
352 | + $rules = parent::defineRules(); |
|
353 | + $rules = array_merge($rules, [ |
|
354 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
355 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
356 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
357 | + ]); |
|
358 | 358 | |
359 | - return $rules; |
|
360 | - } |
|
359 | + return $rules; |
|
360 | + } |
|
361 | 361 | } |
@@ -23,126 +23,126 @@ |
||
23 | 23 | */ |
24 | 24 | class RsvpResponseYes extends MetaJsonLd implements RsvpResponseYesInterface, RsvpResponseTypeInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
25 | 25 | { |
26 | - use RsvpResponseYesTrait; |
|
27 | - use RsvpResponseTypeTrait; |
|
28 | - use EnumerationTrait; |
|
29 | - use IntangibleTrait; |
|
30 | - use ThingTrait; |
|
31 | - |
|
32 | - /** |
|
33 | - * The Schema.org Type Name |
|
34 | - * |
|
35 | - * @var string |
|
36 | - */ |
|
37 | - public static string $schemaTypeName = 'RsvpResponseYes'; |
|
38 | - |
|
39 | - /** |
|
40 | - * The Schema.org Type Scope |
|
41 | - * |
|
42 | - * @var string |
|
43 | - */ |
|
44 | - public static string $schemaTypeScope = 'https://schema.org/RsvpResponseYes'; |
|
45 | - |
|
46 | - /** |
|
47 | - * The Schema.org Type Extends |
|
48 | - * |
|
49 | - * @var string |
|
50 | - */ |
|
51 | - public static string $schemaTypeExtends = 'RsvpResponseType'; |
|
52 | - |
|
53 | - /** |
|
54 | - * The Schema.org Type Description |
|
55 | - * |
|
56 | - * @var string |
|
57 | - */ |
|
58 | - public static string $schemaTypeDescription = 'The invitee will attend.'; |
|
59 | - |
|
60 | - |
|
61 | - /** |
|
62 | - * @inheritdoc |
|
63 | - */ |
|
64 | - public function getSchemaPropertyNames(): array |
|
65 | - { |
|
66 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
67 | - } |
|
68 | - |
|
69 | - |
|
70 | - /** |
|
71 | - * @inheritdoc |
|
72 | - */ |
|
73 | - public function getSchemaPropertyExpectedTypes(): array |
|
74 | - { |
|
75 | - return [ |
|
76 | - 'additionalType' => ['URL'], |
|
77 | - 'alternateName' => ['Text'], |
|
78 | - 'description' => ['Text'], |
|
79 | - 'disambiguatingDescription' => ['Text'], |
|
80 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
81 | - 'image' => ['URL', 'ImageObject'], |
|
82 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
83 | - 'name' => ['Text'], |
|
84 | - 'potentialAction' => ['Action'], |
|
85 | - 'sameAs' => ['URL'], |
|
86 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
87 | - 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
88 | - 'url' => ['URL'] |
|
89 | - ]; |
|
90 | - } |
|
91 | - |
|
92 | - |
|
93 | - /** |
|
94 | - * @inheritdoc |
|
95 | - */ |
|
96 | - public function getSchemaPropertyDescriptions(): array |
|
97 | - { |
|
98 | - return [ |
|
99 | - 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
100 | - 'alternateName' => 'An alias for the item.', |
|
101 | - 'description' => 'A description of the item.', |
|
102 | - 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
103 | - 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
104 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
105 | - 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
106 | - 'name' => 'The name of the item.', |
|
107 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
108 | - 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
109 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
110 | - 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
111 | - 'url' => 'URL of the item.' |
|
112 | - ]; |
|
113 | - } |
|
114 | - |
|
115 | - |
|
116 | - /** |
|
117 | - * @inheritdoc |
|
118 | - */ |
|
119 | - public function getGoogleRequiredSchema(): array |
|
120 | - { |
|
121 | - return ['description', 'name']; |
|
122 | - } |
|
123 | - |
|
124 | - |
|
125 | - /** |
|
126 | - * @inheritdoc |
|
127 | - */ |
|
128 | - public function getGoogleRecommendedSchema(): array |
|
129 | - { |
|
130 | - return ['image', 'url']; |
|
131 | - } |
|
132 | - |
|
133 | - |
|
134 | - /** |
|
135 | - * @inheritdoc |
|
136 | - */ |
|
137 | - public function defineRules(): array |
|
138 | - { |
|
139 | - $rules = parent::defineRules(); |
|
140 | - $rules = array_merge($rules, [ |
|
141 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
142 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
143 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
144 | - ]); |
|
145 | - |
|
146 | - return $rules; |
|
147 | - } |
|
26 | + use RsvpResponseYesTrait; |
|
27 | + use RsvpResponseTypeTrait; |
|
28 | + use EnumerationTrait; |
|
29 | + use IntangibleTrait; |
|
30 | + use ThingTrait; |
|
31 | + |
|
32 | + /** |
|
33 | + * The Schema.org Type Name |
|
34 | + * |
|
35 | + * @var string |
|
36 | + */ |
|
37 | + public static string $schemaTypeName = 'RsvpResponseYes'; |
|
38 | + |
|
39 | + /** |
|
40 | + * The Schema.org Type Scope |
|
41 | + * |
|
42 | + * @var string |
|
43 | + */ |
|
44 | + public static string $schemaTypeScope = 'https://schema.org/RsvpResponseYes'; |
|
45 | + |
|
46 | + /** |
|
47 | + * The Schema.org Type Extends |
|
48 | + * |
|
49 | + * @var string |
|
50 | + */ |
|
51 | + public static string $schemaTypeExtends = 'RsvpResponseType'; |
|
52 | + |
|
53 | + /** |
|
54 | + * The Schema.org Type Description |
|
55 | + * |
|
56 | + * @var string |
|
57 | + */ |
|
58 | + public static string $schemaTypeDescription = 'The invitee will attend.'; |
|
59 | + |
|
60 | + |
|
61 | + /** |
|
62 | + * @inheritdoc |
|
63 | + */ |
|
64 | + public function getSchemaPropertyNames(): array |
|
65 | + { |
|
66 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
67 | + } |
|
68 | + |
|
69 | + |
|
70 | + /** |
|
71 | + * @inheritdoc |
|
72 | + */ |
|
73 | + public function getSchemaPropertyExpectedTypes(): array |
|
74 | + { |
|
75 | + return [ |
|
76 | + 'additionalType' => ['URL'], |
|
77 | + 'alternateName' => ['Text'], |
|
78 | + 'description' => ['Text'], |
|
79 | + 'disambiguatingDescription' => ['Text'], |
|
80 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
81 | + 'image' => ['URL', 'ImageObject'], |
|
82 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
83 | + 'name' => ['Text'], |
|
84 | + 'potentialAction' => ['Action'], |
|
85 | + 'sameAs' => ['URL'], |
|
86 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
87 | + 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
88 | + 'url' => ['URL'] |
|
89 | + ]; |
|
90 | + } |
|
91 | + |
|
92 | + |
|
93 | + /** |
|
94 | + * @inheritdoc |
|
95 | + */ |
|
96 | + public function getSchemaPropertyDescriptions(): array |
|
97 | + { |
|
98 | + return [ |
|
99 | + 'additionalType' => 'An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the \'typeof\' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.', |
|
100 | + 'alternateName' => 'An alias for the item.', |
|
101 | + 'description' => 'A description of the item.', |
|
102 | + 'disambiguatingDescription' => 'A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.', |
|
103 | + 'identifier' => 'The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ', |
|
104 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
105 | + 'mainEntityOfPage' => 'Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details.', |
|
106 | + 'name' => 'The name of the item.', |
|
107 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
108 | + 'sameAs' => 'URL of a reference Web page that unambiguously indicates the item\'s identity. E.g. the URL of the item\'s Wikipedia page, Wikidata entry, or official website.', |
|
109 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
110 | + 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
111 | + 'url' => 'URL of the item.' |
|
112 | + ]; |
|
113 | + } |
|
114 | + |
|
115 | + |
|
116 | + /** |
|
117 | + * @inheritdoc |
|
118 | + */ |
|
119 | + public function getGoogleRequiredSchema(): array |
|
120 | + { |
|
121 | + return ['description', 'name']; |
|
122 | + } |
|
123 | + |
|
124 | + |
|
125 | + /** |
|
126 | + * @inheritdoc |
|
127 | + */ |
|
128 | + public function getGoogleRecommendedSchema(): array |
|
129 | + { |
|
130 | + return ['image', 'url']; |
|
131 | + } |
|
132 | + |
|
133 | + |
|
134 | + /** |
|
135 | + * @inheritdoc |
|
136 | + */ |
|
137 | + public function defineRules(): array |
|
138 | + { |
|
139 | + $rules = parent::defineRules(); |
|
140 | + $rules = array_merge($rules, [ |
|
141 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
142 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
143 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
144 | + ]); |
|
145 | + |
|
146 | + return $rules; |
|
147 | + } |
|
148 | 148 | } |