@@ -23,215 +23,215 @@ |
||
23 | 23 | */ |
24 | 24 | class Zoo extends MetaJsonLd implements ZooInterface, CivicStructureInterface, PlaceInterface, ThingInterface |
25 | 25 | { |
26 | - use ZooTrait; |
|
27 | - use CivicStructureTrait; |
|
28 | - use PlaceTrait; |
|
29 | - use ThingTrait; |
|
30 | - |
|
31 | - /** |
|
32 | - * The Schema.org Type Name |
|
33 | - * |
|
34 | - * @var string |
|
35 | - */ |
|
36 | - public static $schemaTypeName = 'Zoo'; |
|
37 | - |
|
38 | - /** |
|
39 | - * The Schema.org Type Scope |
|
40 | - * |
|
41 | - * @var string |
|
42 | - */ |
|
43 | - public static $schemaTypeScope = 'https://schema.org/Zoo'; |
|
44 | - |
|
45 | - /** |
|
46 | - * The Schema.org Type Extends |
|
47 | - * |
|
48 | - * @var string |
|
49 | - */ |
|
50 | - public static $schemaTypeExtends = 'CivicStructure'; |
|
51 | - |
|
52 | - /** |
|
53 | - * The Schema.org Type Description |
|
54 | - * |
|
55 | - * @var string |
|
56 | - */ |
|
57 | - public static $schemaTypeDescription = 'A zoo.'; |
|
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 | - 'additionalProperty' => ['PropertyValue'], |
|
76 | - 'additionalType' => ['URL'], |
|
77 | - 'address' => ['Text', 'PostalAddress'], |
|
78 | - 'aggregateRating' => ['AggregateRating'], |
|
79 | - 'alternateName' => ['Text'], |
|
80 | - 'amenityFeature' => ['LocationFeatureSpecification'], |
|
81 | - 'branchCode' => ['Text'], |
|
82 | - 'containedIn' => ['Place'], |
|
83 | - 'containedInPlace' => ['Place'], |
|
84 | - 'containsPlace' => ['Place'], |
|
85 | - 'description' => ['Text'], |
|
86 | - 'disambiguatingDescription' => ['Text'], |
|
87 | - 'event' => ['Event'], |
|
88 | - 'events' => ['Event'], |
|
89 | - 'faxNumber' => ['Text'], |
|
90 | - 'geo' => ['GeoCoordinates', 'GeoShape'], |
|
91 | - 'geoContains' => ['Place', 'GeospatialGeometry'], |
|
92 | - 'geoCoveredBy' => ['GeospatialGeometry', 'Place'], |
|
93 | - 'geoCovers' => ['GeospatialGeometry', 'Place'], |
|
94 | - 'geoCrosses' => ['GeospatialGeometry', 'Place'], |
|
95 | - 'geoDisjoint' => ['GeospatialGeometry', 'Place'], |
|
96 | - 'geoEquals' => ['GeospatialGeometry', 'Place'], |
|
97 | - 'geoIntersects' => ['GeospatialGeometry', 'Place'], |
|
98 | - 'geoOverlaps' => ['GeospatialGeometry', 'Place'], |
|
99 | - 'geoTouches' => ['GeospatialGeometry', 'Place'], |
|
100 | - 'geoWithin' => ['GeospatialGeometry', 'Place'], |
|
101 | - 'globalLocationNumber' => ['Text'], |
|
102 | - 'hasDriveThroughService' => ['Boolean'], |
|
103 | - 'hasMap' => ['URL', 'Map'], |
|
104 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
105 | - 'image' => ['URL', 'ImageObject'], |
|
106 | - 'isAccessibleForFree' => ['Boolean'], |
|
107 | - 'isicV4' => ['Text'], |
|
108 | - 'keywords' => ['URL', 'DefinedTerm', 'Text'], |
|
109 | - 'latitude' => ['Number', 'Text'], |
|
110 | - 'logo' => ['ImageObject', 'URL'], |
|
111 | - 'longitude' => ['Text', 'Number'], |
|
112 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
113 | - 'map' => ['URL'], |
|
114 | - 'maps' => ['URL'], |
|
115 | - 'maximumAttendeeCapacity' => ['Integer'], |
|
116 | - 'name' => ['Text'], |
|
117 | - 'openingHours' => ['Text'], |
|
118 | - 'openingHoursSpecification' => ['OpeningHoursSpecification'], |
|
119 | - 'photo' => ['Photograph', 'ImageObject'], |
|
120 | - 'photos' => ['ImageObject', 'Photograph'], |
|
121 | - 'potentialAction' => ['Action'], |
|
122 | - 'publicAccess' => ['Boolean'], |
|
123 | - 'review' => ['Review'], |
|
124 | - 'reviews' => ['Review'], |
|
125 | - 'sameAs' => ['URL'], |
|
126 | - 'slogan' => ['Text'], |
|
127 | - 'smokingAllowed' => ['Boolean'], |
|
128 | - 'specialOpeningHoursSpecification' => ['OpeningHoursSpecification'], |
|
129 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
130 | - 'telephone' => ['Text'], |
|
131 | - 'tourBookingPage' => ['URL'], |
|
132 | - 'url' => ['URL'] |
|
133 | - ]; |
|
134 | - } |
|
135 | - |
|
136 | - |
|
137 | - /** |
|
138 | - * @inheritdoc |
|
139 | - */ |
|
140 | - public function getSchemaPropertyDescriptions(): array |
|
141 | - { |
|
142 | - return [ |
|
143 | - '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. ', |
|
144 | - '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.', |
|
145 | - 'address' => 'Physical address of the item.', |
|
146 | - 'aggregateRating' => 'The overall rating, based on a collection of reviews or ratings, of the item.', |
|
147 | - 'alternateName' => 'An alias for the item.', |
|
148 | - '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.', |
|
149 | - '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. ', |
|
150 | - 'containedIn' => 'The basic containment relation between a place and one that contains it.', |
|
151 | - 'containedInPlace' => 'The basic containment relation between a place and one that contains it.', |
|
152 | - 'containsPlace' => 'The basic containment relation between a place and another that it contains.', |
|
153 | - 'description' => 'A description of the item.', |
|
154 | - '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.', |
|
155 | - 'event' => 'Upcoming or past event associated with this place, organization, or action.', |
|
156 | - 'events' => 'Upcoming or past events associated with this place or organization.', |
|
157 | - 'faxNumber' => 'The fax number.', |
|
158 | - 'geo' => 'The geo coordinates of the place.', |
|
159 | - '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).', |
|
160 | - '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).', |
|
161 | - '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).', |
|
162 | - '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).', |
|
163 | - '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).)', |
|
164 | - '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).', |
|
165 | - '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).', |
|
166 | - '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).', |
|
167 | - '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).)', |
|
168 | - '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).', |
|
169 | - '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.', |
|
170 | - '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.', |
|
171 | - 'hasMap' => 'A URL to a map of the place.', |
|
172 | - '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. ', |
|
173 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
174 | - 'isAccessibleForFree' => 'A flag to signal that the item, event, or place is accessible for free.', |
|
175 | - 'isicV4' => 'The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.', |
|
176 | - '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.', |
|
177 | - 'latitude' => 'The latitude of a location. For example ```37.42242``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).', |
|
178 | - 'logo' => 'An associated logo.', |
|
179 | - 'longitude' => 'The longitude of a location. For example ```-122.08585``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).', |
|
180 | - '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.', |
|
181 | - 'map' => 'A URL to a map of the place.', |
|
182 | - 'maps' => 'A URL to a map of the place.', |
|
183 | - 'maximumAttendeeCapacity' => 'The total number of individuals that may attend an event or venue.', |
|
184 | - 'name' => 'The name of the item.', |
|
185 | - '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>.', |
|
186 | - 'openingHoursSpecification' => 'The opening hours of a certain place.', |
|
187 | - 'photo' => 'A photograph of this place.', |
|
188 | - 'photos' => 'Photographs of this place.', |
|
189 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
190 | - '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', |
|
191 | - 'review' => 'A review of the item.', |
|
192 | - 'reviews' => 'Review of the item.', |
|
193 | - '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.', |
|
194 | - 'slogan' => 'A slogan or motto associated with the item.', |
|
195 | - 'smokingAllowed' => 'Indicates whether it is allowed to smoke in the place, e.g. in the restaurant, hotel or hotel room.', |
|
196 | - 'specialOpeningHoursSpecification' => 'The special opening hours of a certain place. Use this to explicitly override general opening hours brought in scope by [[openingHoursSpecification]] or [[openingHours]]. ', |
|
197 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
198 | - 'telephone' => 'The telephone number.', |
|
199 | - '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.', |
|
200 | - 'url' => 'URL of the item.' |
|
201 | - ]; |
|
202 | - } |
|
203 | - |
|
204 | - |
|
205 | - /** |
|
206 | - * @inheritdoc |
|
207 | - */ |
|
208 | - public function getGoogleRequiredSchema(): array |
|
209 | - { |
|
210 | - return ['description', 'name']; |
|
211 | - } |
|
212 | - |
|
213 | - |
|
214 | - /** |
|
215 | - * @inheritdoc |
|
216 | - */ |
|
217 | - public function getGoogleRecommendedSchema(): array |
|
218 | - { |
|
219 | - return ['image', 'url']; |
|
220 | - } |
|
221 | - |
|
222 | - |
|
223 | - /** |
|
224 | - * @inheritdoc |
|
225 | - */ |
|
226 | - public function defineRules(): array |
|
227 | - { |
|
228 | - $rules = parent::defineRules(); |
|
229 | - $rules = array_merge($rules, [ |
|
230 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
231 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
232 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
233 | - ]); |
|
234 | - |
|
235 | - return $rules; |
|
236 | - } |
|
26 | + use ZooTrait; |
|
27 | + use CivicStructureTrait; |
|
28 | + use PlaceTrait; |
|
29 | + use ThingTrait; |
|
30 | + |
|
31 | + /** |
|
32 | + * The Schema.org Type Name |
|
33 | + * |
|
34 | + * @var string |
|
35 | + */ |
|
36 | + public static $schemaTypeName = 'Zoo'; |
|
37 | + |
|
38 | + /** |
|
39 | + * The Schema.org Type Scope |
|
40 | + * |
|
41 | + * @var string |
|
42 | + */ |
|
43 | + public static $schemaTypeScope = 'https://schema.org/Zoo'; |
|
44 | + |
|
45 | + /** |
|
46 | + * The Schema.org Type Extends |
|
47 | + * |
|
48 | + * @var string |
|
49 | + */ |
|
50 | + public static $schemaTypeExtends = 'CivicStructure'; |
|
51 | + |
|
52 | + /** |
|
53 | + * The Schema.org Type Description |
|
54 | + * |
|
55 | + * @var string |
|
56 | + */ |
|
57 | + public static $schemaTypeDescription = 'A zoo.'; |
|
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 | + 'additionalProperty' => ['PropertyValue'], |
|
76 | + 'additionalType' => ['URL'], |
|
77 | + 'address' => ['Text', 'PostalAddress'], |
|
78 | + 'aggregateRating' => ['AggregateRating'], |
|
79 | + 'alternateName' => ['Text'], |
|
80 | + 'amenityFeature' => ['LocationFeatureSpecification'], |
|
81 | + 'branchCode' => ['Text'], |
|
82 | + 'containedIn' => ['Place'], |
|
83 | + 'containedInPlace' => ['Place'], |
|
84 | + 'containsPlace' => ['Place'], |
|
85 | + 'description' => ['Text'], |
|
86 | + 'disambiguatingDescription' => ['Text'], |
|
87 | + 'event' => ['Event'], |
|
88 | + 'events' => ['Event'], |
|
89 | + 'faxNumber' => ['Text'], |
|
90 | + 'geo' => ['GeoCoordinates', 'GeoShape'], |
|
91 | + 'geoContains' => ['Place', 'GeospatialGeometry'], |
|
92 | + 'geoCoveredBy' => ['GeospatialGeometry', 'Place'], |
|
93 | + 'geoCovers' => ['GeospatialGeometry', 'Place'], |
|
94 | + 'geoCrosses' => ['GeospatialGeometry', 'Place'], |
|
95 | + 'geoDisjoint' => ['GeospatialGeometry', 'Place'], |
|
96 | + 'geoEquals' => ['GeospatialGeometry', 'Place'], |
|
97 | + 'geoIntersects' => ['GeospatialGeometry', 'Place'], |
|
98 | + 'geoOverlaps' => ['GeospatialGeometry', 'Place'], |
|
99 | + 'geoTouches' => ['GeospatialGeometry', 'Place'], |
|
100 | + 'geoWithin' => ['GeospatialGeometry', 'Place'], |
|
101 | + 'globalLocationNumber' => ['Text'], |
|
102 | + 'hasDriveThroughService' => ['Boolean'], |
|
103 | + 'hasMap' => ['URL', 'Map'], |
|
104 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
105 | + 'image' => ['URL', 'ImageObject'], |
|
106 | + 'isAccessibleForFree' => ['Boolean'], |
|
107 | + 'isicV4' => ['Text'], |
|
108 | + 'keywords' => ['URL', 'DefinedTerm', 'Text'], |
|
109 | + 'latitude' => ['Number', 'Text'], |
|
110 | + 'logo' => ['ImageObject', 'URL'], |
|
111 | + 'longitude' => ['Text', 'Number'], |
|
112 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
113 | + 'map' => ['URL'], |
|
114 | + 'maps' => ['URL'], |
|
115 | + 'maximumAttendeeCapacity' => ['Integer'], |
|
116 | + 'name' => ['Text'], |
|
117 | + 'openingHours' => ['Text'], |
|
118 | + 'openingHoursSpecification' => ['OpeningHoursSpecification'], |
|
119 | + 'photo' => ['Photograph', 'ImageObject'], |
|
120 | + 'photos' => ['ImageObject', 'Photograph'], |
|
121 | + 'potentialAction' => ['Action'], |
|
122 | + 'publicAccess' => ['Boolean'], |
|
123 | + 'review' => ['Review'], |
|
124 | + 'reviews' => ['Review'], |
|
125 | + 'sameAs' => ['URL'], |
|
126 | + 'slogan' => ['Text'], |
|
127 | + 'smokingAllowed' => ['Boolean'], |
|
128 | + 'specialOpeningHoursSpecification' => ['OpeningHoursSpecification'], |
|
129 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
130 | + 'telephone' => ['Text'], |
|
131 | + 'tourBookingPage' => ['URL'], |
|
132 | + 'url' => ['URL'] |
|
133 | + ]; |
|
134 | + } |
|
135 | + |
|
136 | + |
|
137 | + /** |
|
138 | + * @inheritdoc |
|
139 | + */ |
|
140 | + public function getSchemaPropertyDescriptions(): array |
|
141 | + { |
|
142 | + return [ |
|
143 | + '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. ', |
|
144 | + '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.', |
|
145 | + 'address' => 'Physical address of the item.', |
|
146 | + 'aggregateRating' => 'The overall rating, based on a collection of reviews or ratings, of the item.', |
|
147 | + 'alternateName' => 'An alias for the item.', |
|
148 | + '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.', |
|
149 | + '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. ', |
|
150 | + 'containedIn' => 'The basic containment relation between a place and one that contains it.', |
|
151 | + 'containedInPlace' => 'The basic containment relation between a place and one that contains it.', |
|
152 | + 'containsPlace' => 'The basic containment relation between a place and another that it contains.', |
|
153 | + 'description' => 'A description of the item.', |
|
154 | + '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.', |
|
155 | + 'event' => 'Upcoming or past event associated with this place, organization, or action.', |
|
156 | + 'events' => 'Upcoming or past events associated with this place or organization.', |
|
157 | + 'faxNumber' => 'The fax number.', |
|
158 | + 'geo' => 'The geo coordinates of the place.', |
|
159 | + '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).', |
|
160 | + '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).', |
|
161 | + '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).', |
|
162 | + '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).', |
|
163 | + '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).)', |
|
164 | + '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).', |
|
165 | + '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).', |
|
166 | + '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).', |
|
167 | + '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).)', |
|
168 | + '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).', |
|
169 | + '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.', |
|
170 | + '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.', |
|
171 | + 'hasMap' => 'A URL to a map of the place.', |
|
172 | + '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. ', |
|
173 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
174 | + 'isAccessibleForFree' => 'A flag to signal that the item, event, or place is accessible for free.', |
|
175 | + 'isicV4' => 'The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.', |
|
176 | + '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.', |
|
177 | + 'latitude' => 'The latitude of a location. For example ```37.42242``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).', |
|
178 | + 'logo' => 'An associated logo.', |
|
179 | + 'longitude' => 'The longitude of a location. For example ```-122.08585``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).', |
|
180 | + '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.', |
|
181 | + 'map' => 'A URL to a map of the place.', |
|
182 | + 'maps' => 'A URL to a map of the place.', |
|
183 | + 'maximumAttendeeCapacity' => 'The total number of individuals that may attend an event or venue.', |
|
184 | + 'name' => 'The name of the item.', |
|
185 | + '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>.', |
|
186 | + 'openingHoursSpecification' => 'The opening hours of a certain place.', |
|
187 | + 'photo' => 'A photograph of this place.', |
|
188 | + 'photos' => 'Photographs of this place.', |
|
189 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
190 | + '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', |
|
191 | + 'review' => 'A review of the item.', |
|
192 | + 'reviews' => 'Review of the item.', |
|
193 | + '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.', |
|
194 | + 'slogan' => 'A slogan or motto associated with the item.', |
|
195 | + 'smokingAllowed' => 'Indicates whether it is allowed to smoke in the place, e.g. in the restaurant, hotel or hotel room.', |
|
196 | + 'specialOpeningHoursSpecification' => 'The special opening hours of a certain place. Use this to explicitly override general opening hours brought in scope by [[openingHoursSpecification]] or [[openingHours]]. ', |
|
197 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
198 | + 'telephone' => 'The telephone number.', |
|
199 | + '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.', |
|
200 | + 'url' => 'URL of the item.' |
|
201 | + ]; |
|
202 | + } |
|
203 | + |
|
204 | + |
|
205 | + /** |
|
206 | + * @inheritdoc |
|
207 | + */ |
|
208 | + public function getGoogleRequiredSchema(): array |
|
209 | + { |
|
210 | + return ['description', 'name']; |
|
211 | + } |
|
212 | + |
|
213 | + |
|
214 | + /** |
|
215 | + * @inheritdoc |
|
216 | + */ |
|
217 | + public function getGoogleRecommendedSchema(): array |
|
218 | + { |
|
219 | + return ['image', 'url']; |
|
220 | + } |
|
221 | + |
|
222 | + |
|
223 | + /** |
|
224 | + * @inheritdoc |
|
225 | + */ |
|
226 | + public function defineRules(): array |
|
227 | + { |
|
228 | + $rules = parent::defineRules(); |
|
229 | + $rules = array_merge($rules, [ |
|
230 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
231 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
232 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
233 | + ]); |
|
234 | + |
|
235 | + return $rules; |
|
236 | + } |
|
237 | 237 | } |
@@ -23,126 +23,126 @@ |
||
23 | 23 | */ |
24 | 24 | class ParentalSupport extends MetaJsonLd implements ParentalSupportInterface, GovernmentBenefitsTypeInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
25 | 25 | { |
26 | - use ParentalSupportTrait; |
|
27 | - use GovernmentBenefitsTypeTrait; |
|
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 $schemaTypeName = 'ParentalSupport'; |
|
38 | - |
|
39 | - /** |
|
40 | - * The Schema.org Type Scope |
|
41 | - * |
|
42 | - * @var string |
|
43 | - */ |
|
44 | - public static $schemaTypeScope = 'https://schema.org/ParentalSupport'; |
|
45 | - |
|
46 | - /** |
|
47 | - * The Schema.org Type Extends |
|
48 | - * |
|
49 | - * @var string |
|
50 | - */ |
|
51 | - public static $schemaTypeExtends = 'GovernmentBenefitsType'; |
|
52 | - |
|
53 | - /** |
|
54 | - * The Schema.org Type Description |
|
55 | - * |
|
56 | - * @var string |
|
57 | - */ |
|
58 | - public static $schemaTypeDescription = 'ParentalSupport: this is a benefit for parental support.'; |
|
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 ParentalSupportTrait; |
|
27 | + use GovernmentBenefitsTypeTrait; |
|
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 $schemaTypeName = 'ParentalSupport'; |
|
38 | + |
|
39 | + /** |
|
40 | + * The Schema.org Type Scope |
|
41 | + * |
|
42 | + * @var string |
|
43 | + */ |
|
44 | + public static $schemaTypeScope = 'https://schema.org/ParentalSupport'; |
|
45 | + |
|
46 | + /** |
|
47 | + * The Schema.org Type Extends |
|
48 | + * |
|
49 | + * @var string |
|
50 | + */ |
|
51 | + public static $schemaTypeExtends = 'GovernmentBenefitsType'; |
|
52 | + |
|
53 | + /** |
|
54 | + * The Schema.org Type Description |
|
55 | + * |
|
56 | + * @var string |
|
57 | + */ |
|
58 | + public static $schemaTypeDescription = 'ParentalSupport: this is a benefit for parental support.'; |
|
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 | } |
@@ -26,127 +26,127 @@ |
||
26 | 26 | */ |
27 | 27 | class FDAcategoryA extends MetaJsonLd implements FDAcategoryAInterface, DrugPregnancyCategoryInterface, MedicalEnumerationInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
28 | 28 | { |
29 | - use FDAcategoryATrait; |
|
30 | - use DrugPregnancyCategoryTrait; |
|
31 | - use MedicalEnumerationTrait; |
|
32 | - use EnumerationTrait; |
|
33 | - use IntangibleTrait; |
|
34 | - use ThingTrait; |
|
35 | - |
|
36 | - /** |
|
37 | - * The Schema.org Type Name |
|
38 | - * |
|
39 | - * @var string |
|
40 | - */ |
|
41 | - public static $schemaTypeName = 'FDAcategoryA'; |
|
42 | - |
|
43 | - /** |
|
44 | - * The Schema.org Type Scope |
|
45 | - * |
|
46 | - * @var string |
|
47 | - */ |
|
48 | - public static $schemaTypeScope = 'https://schema.org/FDAcategoryA'; |
|
49 | - |
|
50 | - /** |
|
51 | - * The Schema.org Type Extends |
|
52 | - * |
|
53 | - * @var string |
|
54 | - */ |
|
55 | - public static $schemaTypeExtends = 'DrugPregnancyCategory'; |
|
56 | - |
|
57 | - /** |
|
58 | - * The Schema.org Type Description |
|
59 | - * |
|
60 | - * @var string |
|
61 | - */ |
|
62 | - public static $schemaTypeDescription = 'A designation by the US FDA signifying that adequate and well-controlled studies have failed to demonstrate a risk to the fetus in the first trimester of pregnancy (and there is no evidence of risk in later trimesters).'; |
|
63 | - |
|
64 | - |
|
65 | - /** |
|
66 | - * @inheritdoc |
|
67 | - */ |
|
68 | - public function getSchemaPropertyNames(): array |
|
69 | - { |
|
70 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
71 | - } |
|
72 | - |
|
73 | - |
|
74 | - /** |
|
75 | - * @inheritdoc |
|
76 | - */ |
|
77 | - public function getSchemaPropertyExpectedTypes(): array |
|
78 | - { |
|
79 | - return [ |
|
80 | - 'additionalType' => ['URL'], |
|
81 | - 'alternateName' => ['Text'], |
|
82 | - 'description' => ['Text'], |
|
83 | - 'disambiguatingDescription' => ['Text'], |
|
84 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
85 | - 'image' => ['URL', 'ImageObject'], |
|
86 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
87 | - 'name' => ['Text'], |
|
88 | - 'potentialAction' => ['Action'], |
|
89 | - 'sameAs' => ['URL'], |
|
90 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
91 | - 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
92 | - 'url' => ['URL'] |
|
93 | - ]; |
|
94 | - } |
|
95 | - |
|
96 | - |
|
97 | - /** |
|
98 | - * @inheritdoc |
|
99 | - */ |
|
100 | - public function getSchemaPropertyDescriptions(): array |
|
101 | - { |
|
102 | - return [ |
|
103 | - '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.', |
|
104 | - 'alternateName' => 'An alias for the item.', |
|
105 | - 'description' => 'A description of the item.', |
|
106 | - '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.', |
|
107 | - '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. ', |
|
108 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
109 | - '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.', |
|
110 | - 'name' => 'The name of the item.', |
|
111 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
112 | - '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.', |
|
113 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
114 | - 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
115 | - 'url' => 'URL of the item.' |
|
116 | - ]; |
|
117 | - } |
|
118 | - |
|
119 | - |
|
120 | - /** |
|
121 | - * @inheritdoc |
|
122 | - */ |
|
123 | - public function getGoogleRequiredSchema(): array |
|
124 | - { |
|
125 | - return ['description', 'name']; |
|
126 | - } |
|
127 | - |
|
128 | - |
|
129 | - /** |
|
130 | - * @inheritdoc |
|
131 | - */ |
|
132 | - public function getGoogleRecommendedSchema(): array |
|
133 | - { |
|
134 | - return ['image', 'url']; |
|
135 | - } |
|
136 | - |
|
137 | - |
|
138 | - /** |
|
139 | - * @inheritdoc |
|
140 | - */ |
|
141 | - public function defineRules(): array |
|
142 | - { |
|
143 | - $rules = parent::defineRules(); |
|
144 | - $rules = array_merge($rules, [ |
|
145 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
146 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
147 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
148 | - ]); |
|
149 | - |
|
150 | - return $rules; |
|
151 | - } |
|
29 | + use FDAcategoryATrait; |
|
30 | + use DrugPregnancyCategoryTrait; |
|
31 | + use MedicalEnumerationTrait; |
|
32 | + use EnumerationTrait; |
|
33 | + use IntangibleTrait; |
|
34 | + use ThingTrait; |
|
35 | + |
|
36 | + /** |
|
37 | + * The Schema.org Type Name |
|
38 | + * |
|
39 | + * @var string |
|
40 | + */ |
|
41 | + public static $schemaTypeName = 'FDAcategoryA'; |
|
42 | + |
|
43 | + /** |
|
44 | + * The Schema.org Type Scope |
|
45 | + * |
|
46 | + * @var string |
|
47 | + */ |
|
48 | + public static $schemaTypeScope = 'https://schema.org/FDAcategoryA'; |
|
49 | + |
|
50 | + /** |
|
51 | + * The Schema.org Type Extends |
|
52 | + * |
|
53 | + * @var string |
|
54 | + */ |
|
55 | + public static $schemaTypeExtends = 'DrugPregnancyCategory'; |
|
56 | + |
|
57 | + /** |
|
58 | + * The Schema.org Type Description |
|
59 | + * |
|
60 | + * @var string |
|
61 | + */ |
|
62 | + public static $schemaTypeDescription = 'A designation by the US FDA signifying that adequate and well-controlled studies have failed to demonstrate a risk to the fetus in the first trimester of pregnancy (and there is no evidence of risk in later trimesters).'; |
|
63 | + |
|
64 | + |
|
65 | + /** |
|
66 | + * @inheritdoc |
|
67 | + */ |
|
68 | + public function getSchemaPropertyNames(): array |
|
69 | + { |
|
70 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
71 | + } |
|
72 | + |
|
73 | + |
|
74 | + /** |
|
75 | + * @inheritdoc |
|
76 | + */ |
|
77 | + public function getSchemaPropertyExpectedTypes(): array |
|
78 | + { |
|
79 | + return [ |
|
80 | + 'additionalType' => ['URL'], |
|
81 | + 'alternateName' => ['Text'], |
|
82 | + 'description' => ['Text'], |
|
83 | + 'disambiguatingDescription' => ['Text'], |
|
84 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
85 | + 'image' => ['URL', 'ImageObject'], |
|
86 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
87 | + 'name' => ['Text'], |
|
88 | + 'potentialAction' => ['Action'], |
|
89 | + 'sameAs' => ['URL'], |
|
90 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
91 | + 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
92 | + 'url' => ['URL'] |
|
93 | + ]; |
|
94 | + } |
|
95 | + |
|
96 | + |
|
97 | + /** |
|
98 | + * @inheritdoc |
|
99 | + */ |
|
100 | + public function getSchemaPropertyDescriptions(): array |
|
101 | + { |
|
102 | + return [ |
|
103 | + '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.', |
|
104 | + 'alternateName' => 'An alias for the item.', |
|
105 | + 'description' => 'A description of the item.', |
|
106 | + '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.', |
|
107 | + '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. ', |
|
108 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
109 | + '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.', |
|
110 | + 'name' => 'The name of the item.', |
|
111 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
112 | + '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.', |
|
113 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
114 | + 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
115 | + 'url' => 'URL of the item.' |
|
116 | + ]; |
|
117 | + } |
|
118 | + |
|
119 | + |
|
120 | + /** |
|
121 | + * @inheritdoc |
|
122 | + */ |
|
123 | + public function getGoogleRequiredSchema(): array |
|
124 | + { |
|
125 | + return ['description', 'name']; |
|
126 | + } |
|
127 | + |
|
128 | + |
|
129 | + /** |
|
130 | + * @inheritdoc |
|
131 | + */ |
|
132 | + public function getGoogleRecommendedSchema(): array |
|
133 | + { |
|
134 | + return ['image', 'url']; |
|
135 | + } |
|
136 | + |
|
137 | + |
|
138 | + /** |
|
139 | + * @inheritdoc |
|
140 | + */ |
|
141 | + public function defineRules(): array |
|
142 | + { |
|
143 | + $rules = parent::defineRules(); |
|
144 | + $rules = array_merge($rules, [ |
|
145 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
146 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
147 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
148 | + ]); |
|
149 | + |
|
150 | + return $rules; |
|
151 | + } |
|
152 | 152 | } |
@@ -23,126 +23,126 @@ |
||
23 | 23 | */ |
24 | 24 | class Friday extends MetaJsonLd implements FridayInterface, DayOfWeekInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
25 | 25 | { |
26 | - use FridayTrait; |
|
27 | - use DayOfWeekTrait; |
|
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 $schemaTypeName = 'Friday'; |
|
38 | - |
|
39 | - /** |
|
40 | - * The Schema.org Type Scope |
|
41 | - * |
|
42 | - * @var string |
|
43 | - */ |
|
44 | - public static $schemaTypeScope = 'https://schema.org/Friday'; |
|
45 | - |
|
46 | - /** |
|
47 | - * The Schema.org Type Extends |
|
48 | - * |
|
49 | - * @var string |
|
50 | - */ |
|
51 | - public static $schemaTypeExtends = 'DayOfWeek'; |
|
52 | - |
|
53 | - /** |
|
54 | - * The Schema.org Type Description |
|
55 | - * |
|
56 | - * @var string |
|
57 | - */ |
|
58 | - public static $schemaTypeDescription = 'The day of the week between Thursday and Saturday.'; |
|
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 FridayTrait; |
|
27 | + use DayOfWeekTrait; |
|
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 $schemaTypeName = 'Friday'; |
|
38 | + |
|
39 | + /** |
|
40 | + * The Schema.org Type Scope |
|
41 | + * |
|
42 | + * @var string |
|
43 | + */ |
|
44 | + public static $schemaTypeScope = 'https://schema.org/Friday'; |
|
45 | + |
|
46 | + /** |
|
47 | + * The Schema.org Type Extends |
|
48 | + * |
|
49 | + * @var string |
|
50 | + */ |
|
51 | + public static $schemaTypeExtends = 'DayOfWeek'; |
|
52 | + |
|
53 | + /** |
|
54 | + * The Schema.org Type Description |
|
55 | + * |
|
56 | + * @var string |
|
57 | + */ |
|
58 | + public static $schemaTypeDescription = 'The day of the week between Thursday and Saturday.'; |
|
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,126 +23,126 @@ |
||
23 | 23 | */ |
24 | 24 | class MedicalEvidenceLevel extends MetaJsonLd implements MedicalEvidenceLevelInterface, MedicalEnumerationInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
25 | 25 | { |
26 | - use MedicalEvidenceLevelTrait; |
|
27 | - use MedicalEnumerationTrait; |
|
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 $schemaTypeName = 'MedicalEvidenceLevel'; |
|
38 | - |
|
39 | - /** |
|
40 | - * The Schema.org Type Scope |
|
41 | - * |
|
42 | - * @var string |
|
43 | - */ |
|
44 | - public static $schemaTypeScope = 'https://schema.org/MedicalEvidenceLevel'; |
|
45 | - |
|
46 | - /** |
|
47 | - * The Schema.org Type Extends |
|
48 | - * |
|
49 | - * @var string |
|
50 | - */ |
|
51 | - public static $schemaTypeExtends = 'MedicalEnumeration'; |
|
52 | - |
|
53 | - /** |
|
54 | - * The Schema.org Type Description |
|
55 | - * |
|
56 | - * @var string |
|
57 | - */ |
|
58 | - public static $schemaTypeDescription = 'Level of evidence for a medical guideline. Enumerated type.'; |
|
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 MedicalEvidenceLevelTrait; |
|
27 | + use MedicalEnumerationTrait; |
|
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 $schemaTypeName = 'MedicalEvidenceLevel'; |
|
38 | + |
|
39 | + /** |
|
40 | + * The Schema.org Type Scope |
|
41 | + * |
|
42 | + * @var string |
|
43 | + */ |
|
44 | + public static $schemaTypeScope = 'https://schema.org/MedicalEvidenceLevel'; |
|
45 | + |
|
46 | + /** |
|
47 | + * The Schema.org Type Extends |
|
48 | + * |
|
49 | + * @var string |
|
50 | + */ |
|
51 | + public static $schemaTypeExtends = 'MedicalEnumeration'; |
|
52 | + |
|
53 | + /** |
|
54 | + * The Schema.org Type Description |
|
55 | + * |
|
56 | + * @var string |
|
57 | + */ |
|
58 | + public static $schemaTypeDescription = 'Level of evidence for a medical guideline. Enumerated type.'; |
|
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,157 +23,157 @@ |
||
23 | 23 | */ |
24 | 24 | class Throat extends MetaJsonLd implements ThroatInterface, PhysicalExamInterface, MedicalProcedureInterface, MedicalEntityInterface, ThingInterface, MedicalEnumerationInterface, EnumerationInterface, IntangibleInterface |
25 | 25 | { |
26 | - use ThroatTrait; |
|
27 | - use PhysicalExamTrait; |
|
28 | - use MedicalProcedureTrait; |
|
29 | - use MedicalEntityTrait; |
|
30 | - use ThingTrait; |
|
31 | - use MedicalEnumerationTrait; |
|
32 | - use EnumerationTrait; |
|
33 | - use IntangibleTrait; |
|
34 | - |
|
35 | - /** |
|
36 | - * The Schema.org Type Name |
|
37 | - * |
|
38 | - * @var string |
|
39 | - */ |
|
40 | - public static $schemaTypeName = 'Throat'; |
|
41 | - |
|
42 | - /** |
|
43 | - * The Schema.org Type Scope |
|
44 | - * |
|
45 | - * @var string |
|
46 | - */ |
|
47 | - public static $schemaTypeScope = 'https://schema.org/Throat'; |
|
48 | - |
|
49 | - /** |
|
50 | - * The Schema.org Type Extends |
|
51 | - * |
|
52 | - * @var string |
|
53 | - */ |
|
54 | - public static $schemaTypeExtends = 'PhysicalExam'; |
|
55 | - |
|
56 | - /** |
|
57 | - * The Schema.org Type Description |
|
58 | - * |
|
59 | - * @var string |
|
60 | - */ |
|
61 | - public static $schemaTypeDescription = 'Throat assessment with clinical examination.'; |
|
62 | - |
|
63 | - |
|
64 | - /** |
|
65 | - * @inheritdoc |
|
66 | - */ |
|
67 | - public function getSchemaPropertyNames(): array |
|
68 | - { |
|
69 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
70 | - } |
|
71 | - |
|
72 | - |
|
73 | - /** |
|
74 | - * @inheritdoc |
|
75 | - */ |
|
76 | - public function getSchemaPropertyExpectedTypes(): array |
|
77 | - { |
|
78 | - return [ |
|
79 | - 'additionalType' => ['URL'], |
|
80 | - 'alternateName' => ['Text'], |
|
81 | - 'bodyLocation' => ['Text'], |
|
82 | - 'code' => ['MedicalCode'], |
|
83 | - 'description' => ['Text'], |
|
84 | - 'disambiguatingDescription' => ['Text'], |
|
85 | - 'followup' => ['Text'], |
|
86 | - 'funding' => ['Grant'], |
|
87 | - 'guideline' => ['MedicalGuideline'], |
|
88 | - 'howPerformed' => ['Text'], |
|
89 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
90 | - 'image' => ['URL', 'ImageObject'], |
|
91 | - 'legalStatus' => ['Text', 'DrugLegalStatus', 'MedicalEnumeration'], |
|
92 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
93 | - 'medicineSystem' => ['MedicineSystem'], |
|
94 | - 'name' => ['Text'], |
|
95 | - 'potentialAction' => ['Action'], |
|
96 | - 'preparation' => ['Text', 'MedicalEntity'], |
|
97 | - 'procedureType' => ['MedicalProcedureType'], |
|
98 | - 'recognizingAuthority' => ['Organization'], |
|
99 | - 'relevantSpecialty' => ['MedicalSpecialty'], |
|
100 | - 'sameAs' => ['URL'], |
|
101 | - 'status' => ['MedicalStudyStatus', 'Text', 'EventStatusType'], |
|
102 | - 'study' => ['MedicalStudy'], |
|
103 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
104 | - 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
105 | - 'url' => ['URL'] |
|
106 | - ]; |
|
107 | - } |
|
108 | - |
|
109 | - |
|
110 | - /** |
|
111 | - * @inheritdoc |
|
112 | - */ |
|
113 | - public function getSchemaPropertyDescriptions(): array |
|
114 | - { |
|
115 | - return [ |
|
116 | - '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.', |
|
117 | - 'alternateName' => 'An alias for the item.', |
|
118 | - 'bodyLocation' => 'Location in the body of the anatomical structure.', |
|
119 | - 'code' => 'A medical code for the entity, taken from a controlled vocabulary or ontology such as ICD-9, DiseasesDB, MeSH, SNOMED-CT, RxNorm, etc.', |
|
120 | - 'description' => 'A description of the item.', |
|
121 | - '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.', |
|
122 | - 'followup' => 'Typical or recommended followup care after the procedure is performed.', |
|
123 | - 'funding' => 'A [[Grant]] that directly or indirectly provide funding or sponsorship for this item. See also [[ownershipFundingInfo]].', |
|
124 | - 'guideline' => 'A medical guideline related to this entity.', |
|
125 | - 'howPerformed' => 'How the procedure is performed.', |
|
126 | - '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. ', |
|
127 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
128 | - 'legalStatus' => 'The drug or supplement\'s legal status, including any controlled substance schedules that apply.', |
|
129 | - '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.', |
|
130 | - 'medicineSystem' => 'The system of medicine that includes this MedicalEntity, for example \'evidence-based\', \'homeopathic\', \'chiropractic\', etc.', |
|
131 | - 'name' => 'The name of the item.', |
|
132 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
133 | - 'preparation' => 'Typical preparation that a patient must undergo before having the procedure performed.', |
|
134 | - 'procedureType' => 'The type of procedure, for example Surgical, Noninvasive, or Percutaneous.', |
|
135 | - 'recognizingAuthority' => 'If applicable, the organization that officially recognizes this entity as part of its endorsed system of medicine.', |
|
136 | - 'relevantSpecialty' => 'If applicable, a medical specialty in which this entity is relevant.', |
|
137 | - '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.', |
|
138 | - 'status' => 'The status of the study (enumerated).', |
|
139 | - 'study' => 'A medical study or trial related to this entity.', |
|
140 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
141 | - 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
142 | - 'url' => 'URL of the item.' |
|
143 | - ]; |
|
144 | - } |
|
145 | - |
|
146 | - |
|
147 | - /** |
|
148 | - * @inheritdoc |
|
149 | - */ |
|
150 | - public function getGoogleRequiredSchema(): array |
|
151 | - { |
|
152 | - return ['description', 'name']; |
|
153 | - } |
|
154 | - |
|
155 | - |
|
156 | - /** |
|
157 | - * @inheritdoc |
|
158 | - */ |
|
159 | - public function getGoogleRecommendedSchema(): array |
|
160 | - { |
|
161 | - return ['image', 'url']; |
|
162 | - } |
|
163 | - |
|
164 | - |
|
165 | - /** |
|
166 | - * @inheritdoc |
|
167 | - */ |
|
168 | - public function defineRules(): array |
|
169 | - { |
|
170 | - $rules = parent::defineRules(); |
|
171 | - $rules = array_merge($rules, [ |
|
172 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
173 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
174 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
175 | - ]); |
|
176 | - |
|
177 | - return $rules; |
|
178 | - } |
|
26 | + use ThroatTrait; |
|
27 | + use PhysicalExamTrait; |
|
28 | + use MedicalProcedureTrait; |
|
29 | + use MedicalEntityTrait; |
|
30 | + use ThingTrait; |
|
31 | + use MedicalEnumerationTrait; |
|
32 | + use EnumerationTrait; |
|
33 | + use IntangibleTrait; |
|
34 | + |
|
35 | + /** |
|
36 | + * The Schema.org Type Name |
|
37 | + * |
|
38 | + * @var string |
|
39 | + */ |
|
40 | + public static $schemaTypeName = 'Throat'; |
|
41 | + |
|
42 | + /** |
|
43 | + * The Schema.org Type Scope |
|
44 | + * |
|
45 | + * @var string |
|
46 | + */ |
|
47 | + public static $schemaTypeScope = 'https://schema.org/Throat'; |
|
48 | + |
|
49 | + /** |
|
50 | + * The Schema.org Type Extends |
|
51 | + * |
|
52 | + * @var string |
|
53 | + */ |
|
54 | + public static $schemaTypeExtends = 'PhysicalExam'; |
|
55 | + |
|
56 | + /** |
|
57 | + * The Schema.org Type Description |
|
58 | + * |
|
59 | + * @var string |
|
60 | + */ |
|
61 | + public static $schemaTypeDescription = 'Throat assessment with clinical examination.'; |
|
62 | + |
|
63 | + |
|
64 | + /** |
|
65 | + * @inheritdoc |
|
66 | + */ |
|
67 | + public function getSchemaPropertyNames(): array |
|
68 | + { |
|
69 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
70 | + } |
|
71 | + |
|
72 | + |
|
73 | + /** |
|
74 | + * @inheritdoc |
|
75 | + */ |
|
76 | + public function getSchemaPropertyExpectedTypes(): array |
|
77 | + { |
|
78 | + return [ |
|
79 | + 'additionalType' => ['URL'], |
|
80 | + 'alternateName' => ['Text'], |
|
81 | + 'bodyLocation' => ['Text'], |
|
82 | + 'code' => ['MedicalCode'], |
|
83 | + 'description' => ['Text'], |
|
84 | + 'disambiguatingDescription' => ['Text'], |
|
85 | + 'followup' => ['Text'], |
|
86 | + 'funding' => ['Grant'], |
|
87 | + 'guideline' => ['MedicalGuideline'], |
|
88 | + 'howPerformed' => ['Text'], |
|
89 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
90 | + 'image' => ['URL', 'ImageObject'], |
|
91 | + 'legalStatus' => ['Text', 'DrugLegalStatus', 'MedicalEnumeration'], |
|
92 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
93 | + 'medicineSystem' => ['MedicineSystem'], |
|
94 | + 'name' => ['Text'], |
|
95 | + 'potentialAction' => ['Action'], |
|
96 | + 'preparation' => ['Text', 'MedicalEntity'], |
|
97 | + 'procedureType' => ['MedicalProcedureType'], |
|
98 | + 'recognizingAuthority' => ['Organization'], |
|
99 | + 'relevantSpecialty' => ['MedicalSpecialty'], |
|
100 | + 'sameAs' => ['URL'], |
|
101 | + 'status' => ['MedicalStudyStatus', 'Text', 'EventStatusType'], |
|
102 | + 'study' => ['MedicalStudy'], |
|
103 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
104 | + 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
105 | + 'url' => ['URL'] |
|
106 | + ]; |
|
107 | + } |
|
108 | + |
|
109 | + |
|
110 | + /** |
|
111 | + * @inheritdoc |
|
112 | + */ |
|
113 | + public function getSchemaPropertyDescriptions(): array |
|
114 | + { |
|
115 | + return [ |
|
116 | + '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.', |
|
117 | + 'alternateName' => 'An alias for the item.', |
|
118 | + 'bodyLocation' => 'Location in the body of the anatomical structure.', |
|
119 | + 'code' => 'A medical code for the entity, taken from a controlled vocabulary or ontology such as ICD-9, DiseasesDB, MeSH, SNOMED-CT, RxNorm, etc.', |
|
120 | + 'description' => 'A description of the item.', |
|
121 | + '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.', |
|
122 | + 'followup' => 'Typical or recommended followup care after the procedure is performed.', |
|
123 | + 'funding' => 'A [[Grant]] that directly or indirectly provide funding or sponsorship for this item. See also [[ownershipFundingInfo]].', |
|
124 | + 'guideline' => 'A medical guideline related to this entity.', |
|
125 | + 'howPerformed' => 'How the procedure is performed.', |
|
126 | + '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. ', |
|
127 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
128 | + 'legalStatus' => 'The drug or supplement\'s legal status, including any controlled substance schedules that apply.', |
|
129 | + '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.', |
|
130 | + 'medicineSystem' => 'The system of medicine that includes this MedicalEntity, for example \'evidence-based\', \'homeopathic\', \'chiropractic\', etc.', |
|
131 | + 'name' => 'The name of the item.', |
|
132 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
133 | + 'preparation' => 'Typical preparation that a patient must undergo before having the procedure performed.', |
|
134 | + 'procedureType' => 'The type of procedure, for example Surgical, Noninvasive, or Percutaneous.', |
|
135 | + 'recognizingAuthority' => 'If applicable, the organization that officially recognizes this entity as part of its endorsed system of medicine.', |
|
136 | + 'relevantSpecialty' => 'If applicable, a medical specialty in which this entity is relevant.', |
|
137 | + '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.', |
|
138 | + 'status' => 'The status of the study (enumerated).', |
|
139 | + 'study' => 'A medical study or trial related to this entity.', |
|
140 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
141 | + 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
142 | + 'url' => 'URL of the item.' |
|
143 | + ]; |
|
144 | + } |
|
145 | + |
|
146 | + |
|
147 | + /** |
|
148 | + * @inheritdoc |
|
149 | + */ |
|
150 | + public function getGoogleRequiredSchema(): array |
|
151 | + { |
|
152 | + return ['description', 'name']; |
|
153 | + } |
|
154 | + |
|
155 | + |
|
156 | + /** |
|
157 | + * @inheritdoc |
|
158 | + */ |
|
159 | + public function getGoogleRecommendedSchema(): array |
|
160 | + { |
|
161 | + return ['image', 'url']; |
|
162 | + } |
|
163 | + |
|
164 | + |
|
165 | + /** |
|
166 | + * @inheritdoc |
|
167 | + */ |
|
168 | + public function defineRules(): array |
|
169 | + { |
|
170 | + $rules = parent::defineRules(); |
|
171 | + $rules = array_merge($rules, [ |
|
172 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
173 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
174 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
175 | + ]); |
|
176 | + |
|
177 | + return $rules; |
|
178 | + } |
|
179 | 179 | } |
@@ -24,255 +24,255 @@ |
||
24 | 24 | */ |
25 | 25 | class TheaterGroup extends MetaJsonLd implements TheaterGroupInterface, PerformingGroupInterface, OrganizationInterface, ThingInterface |
26 | 26 | { |
27 | - use TheaterGroupTrait; |
|
28 | - use PerformingGroupTrait; |
|
29 | - use OrganizationTrait; |
|
30 | - use ThingTrait; |
|
27 | + use TheaterGroupTrait; |
|
28 | + use PerformingGroupTrait; |
|
29 | + use OrganizationTrait; |
|
30 | + use ThingTrait; |
|
31 | 31 | |
32 | - /** |
|
33 | - * The Schema.org Type Name |
|
34 | - * |
|
35 | - * @var string |
|
36 | - */ |
|
37 | - public static $schemaTypeName = 'TheaterGroup'; |
|
32 | + /** |
|
33 | + * The Schema.org Type Name |
|
34 | + * |
|
35 | + * @var string |
|
36 | + */ |
|
37 | + public static $schemaTypeName = 'TheaterGroup'; |
|
38 | 38 | |
39 | - /** |
|
40 | - * The Schema.org Type Scope |
|
41 | - * |
|
42 | - * @var string |
|
43 | - */ |
|
44 | - public static $schemaTypeScope = 'https://schema.org/TheaterGroup'; |
|
39 | + /** |
|
40 | + * The Schema.org Type Scope |
|
41 | + * |
|
42 | + * @var string |
|
43 | + */ |
|
44 | + public static $schemaTypeScope = 'https://schema.org/TheaterGroup'; |
|
45 | 45 | |
46 | - /** |
|
47 | - * The Schema.org Type Extends |
|
48 | - * |
|
49 | - * @var string |
|
50 | - */ |
|
51 | - public static $schemaTypeExtends = 'PerformingGroup'; |
|
46 | + /** |
|
47 | + * The Schema.org Type Extends |
|
48 | + * |
|
49 | + * @var string |
|
50 | + */ |
|
51 | + public static $schemaTypeExtends = 'PerformingGroup'; |
|
52 | 52 | |
53 | - /** |
|
54 | - * The Schema.org Type Description |
|
55 | - * |
|
56 | - * @var string |
|
57 | - */ |
|
58 | - public static $schemaTypeDescription = 'A theater group or company, for example, the Royal Shakespeare Company or Druid Theatre.'; |
|
53 | + /** |
|
54 | + * The Schema.org Type Description |
|
55 | + * |
|
56 | + * @var string |
|
57 | + */ |
|
58 | + public static $schemaTypeDescription = 'A theater group or company, for example, the Royal Shakespeare Company or Druid Theatre.'; |
|
59 | 59 | |
60 | 60 | |
61 | - /** |
|
62 | - * @inheritdoc |
|
63 | - */ |
|
64 | - public function getSchemaPropertyNames(): array |
|
65 | - { |
|
66 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
67 | - } |
|
61 | + /** |
|
62 | + * @inheritdoc |
|
63 | + */ |
|
64 | + public function getSchemaPropertyNames(): array |
|
65 | + { |
|
66 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
67 | + } |
|
68 | 68 | |
69 | 69 | |
70 | - /** |
|
71 | - * @inheritdoc |
|
72 | - */ |
|
73 | - public function getSchemaPropertyExpectedTypes(): array |
|
74 | - { |
|
75 | - return [ |
|
76 | - 'actionableFeedbackPolicy' => ['CreativeWork', 'URL'], |
|
77 | - 'additionalType' => ['URL'], |
|
78 | - 'address' => ['Text', 'PostalAddress'], |
|
79 | - 'aggregateRating' => ['AggregateRating'], |
|
80 | - 'alternateName' => ['Text'], |
|
81 | - 'alumni' => ['Person'], |
|
82 | - 'areaServed' => ['Text', 'Place', 'GeoShape', 'AdministrativeArea'], |
|
83 | - 'award' => ['Text'], |
|
84 | - 'awards' => ['Text'], |
|
85 | - 'brand' => ['Brand', 'Organization'], |
|
86 | - 'contactPoint' => ['ContactPoint'], |
|
87 | - 'contactPoints' => ['ContactPoint'], |
|
88 | - 'correctionsPolicy' => ['URL', 'CreativeWork'], |
|
89 | - 'department' => ['Organization'], |
|
90 | - 'description' => ['Text'], |
|
91 | - 'disambiguatingDescription' => ['Text'], |
|
92 | - 'dissolutionDate' => ['Date'], |
|
93 | - 'diversityPolicy' => ['URL', 'CreativeWork'], |
|
94 | - 'diversityStaffingReport' => ['Article', 'URL'], |
|
95 | - 'duns' => ['Text'], |
|
96 | - 'email' => ['Text'], |
|
97 | - 'employee' => ['Person'], |
|
98 | - 'employees' => ['Person'], |
|
99 | - 'ethicsPolicy' => ['CreativeWork', 'URL'], |
|
100 | - 'event' => ['Event'], |
|
101 | - 'events' => ['Event'], |
|
102 | - 'faxNumber' => ['Text'], |
|
103 | - 'founder' => ['Person'], |
|
104 | - 'founders' => ['Person'], |
|
105 | - 'foundingDate' => ['Date'], |
|
106 | - 'foundingLocation' => ['Place'], |
|
107 | - 'funder' => ['Organization', 'Person'], |
|
108 | - 'funding' => ['Grant'], |
|
109 | - 'globalLocationNumber' => ['Text'], |
|
110 | - 'hasCredential' => ['EducationalOccupationalCredential'], |
|
111 | - 'hasMerchantReturnPolicy' => ['MerchantReturnPolicy'], |
|
112 | - 'hasOfferCatalog' => ['OfferCatalog'], |
|
113 | - 'hasPOS' => ['Place'], |
|
114 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
115 | - 'image' => ['URL', 'ImageObject'], |
|
116 | - 'interactionStatistic' => ['InteractionCounter'], |
|
117 | - 'isicV4' => ['Text'], |
|
118 | - 'iso6523Code' => ['Text'], |
|
119 | - 'keywords' => ['URL', 'DefinedTerm', 'Text'], |
|
120 | - 'knowsAbout' => ['Thing', 'Text', 'URL'], |
|
121 | - 'knowsLanguage' => ['Text', 'Language'], |
|
122 | - 'legalName' => ['Text'], |
|
123 | - 'leiCode' => ['Text'], |
|
124 | - 'location' => ['Place', 'Text', 'VirtualLocation', 'PostalAddress'], |
|
125 | - 'logo' => ['ImageObject', 'URL'], |
|
126 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
127 | - 'makesOffer' => ['Offer'], |
|
128 | - 'member' => ['Organization', 'Person'], |
|
129 | - 'memberOf' => ['Organization', 'ProgramMembership'], |
|
130 | - 'members' => ['Organization', 'Person'], |
|
131 | - 'naics' => ['Text'], |
|
132 | - 'name' => ['Text'], |
|
133 | - 'nonprofitStatus' => ['NonprofitType'], |
|
134 | - 'numberOfEmployees' => ['QuantitativeValue'], |
|
135 | - 'ownershipFundingInfo' => ['AboutPage', 'Text', 'CreativeWork', 'URL'], |
|
136 | - 'owns' => ['Product', 'OwnershipInfo'], |
|
137 | - 'parentOrganization' => ['Organization'], |
|
138 | - 'potentialAction' => ['Action'], |
|
139 | - 'publishingPrinciples' => ['CreativeWork', 'URL'], |
|
140 | - 'review' => ['Review'], |
|
141 | - 'reviews' => ['Review'], |
|
142 | - 'sameAs' => ['URL'], |
|
143 | - 'seeks' => ['Demand'], |
|
144 | - 'serviceArea' => ['AdministrativeArea', 'Place', 'GeoShape'], |
|
145 | - 'slogan' => ['Text'], |
|
146 | - 'sponsor' => ['Organization', 'Person'], |
|
147 | - 'subOrganization' => ['Organization'], |
|
148 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
149 | - 'taxID' => ['Text'], |
|
150 | - 'telephone' => ['Text'], |
|
151 | - 'unnamedSourcesPolicy' => ['CreativeWork', 'URL'], |
|
152 | - 'url' => ['URL'], |
|
153 | - 'vatID' => ['Text'] |
|
154 | - ]; |
|
155 | - } |
|
70 | + /** |
|
71 | + * @inheritdoc |
|
72 | + */ |
|
73 | + public function getSchemaPropertyExpectedTypes(): array |
|
74 | + { |
|
75 | + return [ |
|
76 | + 'actionableFeedbackPolicy' => ['CreativeWork', 'URL'], |
|
77 | + 'additionalType' => ['URL'], |
|
78 | + 'address' => ['Text', 'PostalAddress'], |
|
79 | + 'aggregateRating' => ['AggregateRating'], |
|
80 | + 'alternateName' => ['Text'], |
|
81 | + 'alumni' => ['Person'], |
|
82 | + 'areaServed' => ['Text', 'Place', 'GeoShape', 'AdministrativeArea'], |
|
83 | + 'award' => ['Text'], |
|
84 | + 'awards' => ['Text'], |
|
85 | + 'brand' => ['Brand', 'Organization'], |
|
86 | + 'contactPoint' => ['ContactPoint'], |
|
87 | + 'contactPoints' => ['ContactPoint'], |
|
88 | + 'correctionsPolicy' => ['URL', 'CreativeWork'], |
|
89 | + 'department' => ['Organization'], |
|
90 | + 'description' => ['Text'], |
|
91 | + 'disambiguatingDescription' => ['Text'], |
|
92 | + 'dissolutionDate' => ['Date'], |
|
93 | + 'diversityPolicy' => ['URL', 'CreativeWork'], |
|
94 | + 'diversityStaffingReport' => ['Article', 'URL'], |
|
95 | + 'duns' => ['Text'], |
|
96 | + 'email' => ['Text'], |
|
97 | + 'employee' => ['Person'], |
|
98 | + 'employees' => ['Person'], |
|
99 | + 'ethicsPolicy' => ['CreativeWork', 'URL'], |
|
100 | + 'event' => ['Event'], |
|
101 | + 'events' => ['Event'], |
|
102 | + 'faxNumber' => ['Text'], |
|
103 | + 'founder' => ['Person'], |
|
104 | + 'founders' => ['Person'], |
|
105 | + 'foundingDate' => ['Date'], |
|
106 | + 'foundingLocation' => ['Place'], |
|
107 | + 'funder' => ['Organization', 'Person'], |
|
108 | + 'funding' => ['Grant'], |
|
109 | + 'globalLocationNumber' => ['Text'], |
|
110 | + 'hasCredential' => ['EducationalOccupationalCredential'], |
|
111 | + 'hasMerchantReturnPolicy' => ['MerchantReturnPolicy'], |
|
112 | + 'hasOfferCatalog' => ['OfferCatalog'], |
|
113 | + 'hasPOS' => ['Place'], |
|
114 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
115 | + 'image' => ['URL', 'ImageObject'], |
|
116 | + 'interactionStatistic' => ['InteractionCounter'], |
|
117 | + 'isicV4' => ['Text'], |
|
118 | + 'iso6523Code' => ['Text'], |
|
119 | + 'keywords' => ['URL', 'DefinedTerm', 'Text'], |
|
120 | + 'knowsAbout' => ['Thing', 'Text', 'URL'], |
|
121 | + 'knowsLanguage' => ['Text', 'Language'], |
|
122 | + 'legalName' => ['Text'], |
|
123 | + 'leiCode' => ['Text'], |
|
124 | + 'location' => ['Place', 'Text', 'VirtualLocation', 'PostalAddress'], |
|
125 | + 'logo' => ['ImageObject', 'URL'], |
|
126 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
127 | + 'makesOffer' => ['Offer'], |
|
128 | + 'member' => ['Organization', 'Person'], |
|
129 | + 'memberOf' => ['Organization', 'ProgramMembership'], |
|
130 | + 'members' => ['Organization', 'Person'], |
|
131 | + 'naics' => ['Text'], |
|
132 | + 'name' => ['Text'], |
|
133 | + 'nonprofitStatus' => ['NonprofitType'], |
|
134 | + 'numberOfEmployees' => ['QuantitativeValue'], |
|
135 | + 'ownershipFundingInfo' => ['AboutPage', 'Text', 'CreativeWork', 'URL'], |
|
136 | + 'owns' => ['Product', 'OwnershipInfo'], |
|
137 | + 'parentOrganization' => ['Organization'], |
|
138 | + 'potentialAction' => ['Action'], |
|
139 | + 'publishingPrinciples' => ['CreativeWork', 'URL'], |
|
140 | + 'review' => ['Review'], |
|
141 | + 'reviews' => ['Review'], |
|
142 | + 'sameAs' => ['URL'], |
|
143 | + 'seeks' => ['Demand'], |
|
144 | + 'serviceArea' => ['AdministrativeArea', 'Place', 'GeoShape'], |
|
145 | + 'slogan' => ['Text'], |
|
146 | + 'sponsor' => ['Organization', 'Person'], |
|
147 | + 'subOrganization' => ['Organization'], |
|
148 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
149 | + 'taxID' => ['Text'], |
|
150 | + 'telephone' => ['Text'], |
|
151 | + 'unnamedSourcesPolicy' => ['CreativeWork', 'URL'], |
|
152 | + 'url' => ['URL'], |
|
153 | + 'vatID' => ['Text'] |
|
154 | + ]; |
|
155 | + } |
|
156 | 156 | |
157 | 157 | |
158 | - /** |
|
159 | - * @inheritdoc |
|
160 | - */ |
|
161 | - public function getSchemaPropertyDescriptions(): array |
|
162 | - { |
|
163 | - return [ |
|
164 | - '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.', |
|
165 | - '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.', |
|
166 | - 'address' => 'Physical address of the item.', |
|
167 | - 'aggregateRating' => 'The overall rating, based on a collection of reviews or ratings, of the item.', |
|
168 | - 'alternateName' => 'An alias for the item.', |
|
169 | - 'alumni' => 'Alumni of an organization.', |
|
170 | - 'areaServed' => 'The geographic area where a service or offered item is provided.', |
|
171 | - 'award' => 'An award won by or for this item.', |
|
172 | - 'awards' => 'Awards won by or for this item.', |
|
173 | - 'brand' => 'The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.', |
|
174 | - 'contactPoint' => 'A contact point for a person or organization.', |
|
175 | - 'contactPoints' => 'A contact point for a person or organization.', |
|
176 | - 'correctionsPolicy' => 'For an [[Organization]] (e.g. [[NewsMediaOrganization]]), a statement describing (in news media, the newsroom’s) disclosure and correction policy for errors.', |
|
177 | - '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.', |
|
178 | - 'description' => 'A description of the item.', |
|
179 | - '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.', |
|
180 | - 'dissolutionDate' => 'The date that this organization was dissolved.', |
|
181 | - '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.', |
|
182 | - '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.', |
|
183 | - 'duns' => 'The Dun & Bradstreet DUNS number for identifying an organization or business person.', |
|
184 | - 'email' => 'Email address.', |
|
185 | - 'employee' => 'Someone working for this organization.', |
|
186 | - 'employees' => 'People working for this organization.', |
|
187 | - '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.', |
|
188 | - 'event' => 'Upcoming or past event associated with this place, organization, or action.', |
|
189 | - 'events' => 'Upcoming or past events associated with this place or organization.', |
|
190 | - 'faxNumber' => 'The fax number.', |
|
191 | - 'founder' => 'A person who founded this organization.', |
|
192 | - 'founders' => 'A person who founded this organization.', |
|
193 | - 'foundingDate' => 'The date that this organization was founded.', |
|
194 | - 'foundingLocation' => 'The place where the Organization was founded.', |
|
195 | - 'funder' => 'A person or organization that supports (sponsors) something through some kind of financial contribution.', |
|
196 | - 'funding' => 'A [[Grant]] that directly or indirectly provide funding or sponsorship for this item. See also [[ownershipFundingInfo]].', |
|
197 | - '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.', |
|
198 | - 'hasCredential' => 'A credential awarded to the Person or Organization.', |
|
199 | - 'hasMerchantReturnPolicy' => 'Specifies a MerchantReturnPolicy that may be applicable.', |
|
200 | - 'hasOfferCatalog' => 'Indicates an OfferCatalog listing for this Organization, Person, or Service.', |
|
201 | - 'hasPOS' => 'Points-of-Sales operated by the organization or person.', |
|
202 | - '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. ', |
|
203 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
204 | - 'interactionStatistic' => 'The number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used.', |
|
205 | - 'isicV4' => 'The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.', |
|
206 | - '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. ', |
|
207 | - '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.', |
|
208 | - '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.', |
|
209 | - '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).', |
|
210 | - 'legalName' => 'The official name of the organization, e.g. the registered company name.', |
|
211 | - 'leiCode' => 'An organization identifier that uniquely identifies a legal entity as defined in ISO 17442.', |
|
212 | - 'location' => 'The location of, for example, where an event is happening, where an organization is located, or where an action takes place.', |
|
213 | - 'logo' => 'An associated logo.', |
|
214 | - '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.', |
|
215 | - 'makesOffer' => 'A pointer to products or services offered by the organization or person.', |
|
216 | - 'member' => 'A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.', |
|
217 | - 'memberOf' => 'An Organization (or ProgramMembership) to which this Person or Organization belongs.', |
|
218 | - 'members' => 'A member of this organization.', |
|
219 | - 'naics' => 'The North American Industry Classification System (NAICS) code for a particular organization or business person.', |
|
220 | - 'name' => 'The name of the item.', |
|
221 | - 'nonprofitStatus' => 'nonprofitStatus indicates the legal status of a non-profit organization in its primary place of business.', |
|
222 | - 'numberOfEmployees' => 'The number of employees in an organization, e.g. business.', |
|
223 | - '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.', |
|
224 | - 'owns' => 'Products owned by the organization or person.', |
|
225 | - 'parentOrganization' => 'The larger organization that this organization is a [[subOrganization]] of, if any.', |
|
226 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
227 | - '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. ', |
|
228 | - 'review' => 'A review of the item.', |
|
229 | - 'reviews' => 'Review of the item.', |
|
230 | - '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.', |
|
231 | - 'seeks' => 'A pointer to products or services sought by the organization or person (demand).', |
|
232 | - 'serviceArea' => 'The geographic area where the service is provided.', |
|
233 | - 'slogan' => 'A slogan or motto associated with the item.', |
|
234 | - '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.', |
|
235 | - 'subOrganization' => 'A relationship between two organizations where the first includes the second, e.g., as a subsidiary. See also: the more specific \'department\' property.', |
|
236 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
237 | - 'taxID' => 'The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain.', |
|
238 | - 'telephone' => 'The telephone number.', |
|
239 | - 'unnamedSourcesPolicy' => 'For an [[Organization]] (typically a [[NewsMediaOrganization]]), a statement about policy on use of unnamed sources and the decision process required.', |
|
240 | - 'url' => 'URL of the item.', |
|
241 | - 'vatID' => 'The Value-added Tax ID of the organization or person.' |
|
242 | - ]; |
|
243 | - } |
|
158 | + /** |
|
159 | + * @inheritdoc |
|
160 | + */ |
|
161 | + public function getSchemaPropertyDescriptions(): array |
|
162 | + { |
|
163 | + return [ |
|
164 | + '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.', |
|
165 | + '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.', |
|
166 | + 'address' => 'Physical address of the item.', |
|
167 | + 'aggregateRating' => 'The overall rating, based on a collection of reviews or ratings, of the item.', |
|
168 | + 'alternateName' => 'An alias for the item.', |
|
169 | + 'alumni' => 'Alumni of an organization.', |
|
170 | + 'areaServed' => 'The geographic area where a service or offered item is provided.', |
|
171 | + 'award' => 'An award won by or for this item.', |
|
172 | + 'awards' => 'Awards won by or for this item.', |
|
173 | + 'brand' => 'The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.', |
|
174 | + 'contactPoint' => 'A contact point for a person or organization.', |
|
175 | + 'contactPoints' => 'A contact point for a person or organization.', |
|
176 | + 'correctionsPolicy' => 'For an [[Organization]] (e.g. [[NewsMediaOrganization]]), a statement describing (in news media, the newsroom’s) disclosure and correction policy for errors.', |
|
177 | + '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.', |
|
178 | + 'description' => 'A description of the item.', |
|
179 | + '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.', |
|
180 | + 'dissolutionDate' => 'The date that this organization was dissolved.', |
|
181 | + '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.', |
|
182 | + '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.', |
|
183 | + 'duns' => 'The Dun & Bradstreet DUNS number for identifying an organization or business person.', |
|
184 | + 'email' => 'Email address.', |
|
185 | + 'employee' => 'Someone working for this organization.', |
|
186 | + 'employees' => 'People working for this organization.', |
|
187 | + '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.', |
|
188 | + 'event' => 'Upcoming or past event associated with this place, organization, or action.', |
|
189 | + 'events' => 'Upcoming or past events associated with this place or organization.', |
|
190 | + 'faxNumber' => 'The fax number.', |
|
191 | + 'founder' => 'A person who founded this organization.', |
|
192 | + 'founders' => 'A person who founded this organization.', |
|
193 | + 'foundingDate' => 'The date that this organization was founded.', |
|
194 | + 'foundingLocation' => 'The place where the Organization was founded.', |
|
195 | + 'funder' => 'A person or organization that supports (sponsors) something through some kind of financial contribution.', |
|
196 | + 'funding' => 'A [[Grant]] that directly or indirectly provide funding or sponsorship for this item. See also [[ownershipFundingInfo]].', |
|
197 | + '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.', |
|
198 | + 'hasCredential' => 'A credential awarded to the Person or Organization.', |
|
199 | + 'hasMerchantReturnPolicy' => 'Specifies a MerchantReturnPolicy that may be applicable.', |
|
200 | + 'hasOfferCatalog' => 'Indicates an OfferCatalog listing for this Organization, Person, or Service.', |
|
201 | + 'hasPOS' => 'Points-of-Sales operated by the organization or person.', |
|
202 | + '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. ', |
|
203 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
204 | + 'interactionStatistic' => 'The number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used.', |
|
205 | + 'isicV4' => 'The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.', |
|
206 | + '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. ', |
|
207 | + '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.', |
|
208 | + '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.', |
|
209 | + '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).', |
|
210 | + 'legalName' => 'The official name of the organization, e.g. the registered company name.', |
|
211 | + 'leiCode' => 'An organization identifier that uniquely identifies a legal entity as defined in ISO 17442.', |
|
212 | + 'location' => 'The location of, for example, where an event is happening, where an organization is located, or where an action takes place.', |
|
213 | + 'logo' => 'An associated logo.', |
|
214 | + '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.', |
|
215 | + 'makesOffer' => 'A pointer to products or services offered by the organization or person.', |
|
216 | + 'member' => 'A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.', |
|
217 | + 'memberOf' => 'An Organization (or ProgramMembership) to which this Person or Organization belongs.', |
|
218 | + 'members' => 'A member of this organization.', |
|
219 | + 'naics' => 'The North American Industry Classification System (NAICS) code for a particular organization or business person.', |
|
220 | + 'name' => 'The name of the item.', |
|
221 | + 'nonprofitStatus' => 'nonprofitStatus indicates the legal status of a non-profit organization in its primary place of business.', |
|
222 | + 'numberOfEmployees' => 'The number of employees in an organization, e.g. business.', |
|
223 | + '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.', |
|
224 | + 'owns' => 'Products owned by the organization or person.', |
|
225 | + 'parentOrganization' => 'The larger organization that this organization is a [[subOrganization]] of, if any.', |
|
226 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
227 | + '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. ', |
|
228 | + 'review' => 'A review of the item.', |
|
229 | + 'reviews' => 'Review of the item.', |
|
230 | + '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.', |
|
231 | + 'seeks' => 'A pointer to products or services sought by the organization or person (demand).', |
|
232 | + 'serviceArea' => 'The geographic area where the service is provided.', |
|
233 | + 'slogan' => 'A slogan or motto associated with the item.', |
|
234 | + '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.', |
|
235 | + 'subOrganization' => 'A relationship between two organizations where the first includes the second, e.g., as a subsidiary. See also: the more specific \'department\' property.', |
|
236 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
237 | + 'taxID' => 'The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain.', |
|
238 | + 'telephone' => 'The telephone number.', |
|
239 | + 'unnamedSourcesPolicy' => 'For an [[Organization]] (typically a [[NewsMediaOrganization]]), a statement about policy on use of unnamed sources and the decision process required.', |
|
240 | + 'url' => 'URL of the item.', |
|
241 | + 'vatID' => 'The Value-added Tax ID of the organization or person.' |
|
242 | + ]; |
|
243 | + } |
|
244 | 244 | |
245 | 245 | |
246 | - /** |
|
247 | - * @inheritdoc |
|
248 | - */ |
|
249 | - public function getGoogleRequiredSchema(): array |
|
250 | - { |
|
251 | - return ['description', 'name']; |
|
252 | - } |
|
246 | + /** |
|
247 | + * @inheritdoc |
|
248 | + */ |
|
249 | + public function getGoogleRequiredSchema(): array |
|
250 | + { |
|
251 | + return ['description', 'name']; |
|
252 | + } |
|
253 | 253 | |
254 | 254 | |
255 | - /** |
|
256 | - * @inheritdoc |
|
257 | - */ |
|
258 | - public function getGoogleRecommendedSchema(): array |
|
259 | - { |
|
260 | - return ['image', 'url']; |
|
261 | - } |
|
255 | + /** |
|
256 | + * @inheritdoc |
|
257 | + */ |
|
258 | + public function getGoogleRecommendedSchema(): array |
|
259 | + { |
|
260 | + return ['image', 'url']; |
|
261 | + } |
|
262 | 262 | |
263 | 263 | |
264 | - /** |
|
265 | - * @inheritdoc |
|
266 | - */ |
|
267 | - public function defineRules(): array |
|
268 | - { |
|
269 | - $rules = parent::defineRules(); |
|
270 | - $rules = array_merge($rules, [ |
|
271 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
272 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
273 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
274 | - ]); |
|
264 | + /** |
|
265 | + * @inheritdoc |
|
266 | + */ |
|
267 | + public function defineRules(): array |
|
268 | + { |
|
269 | + $rules = parent::defineRules(); |
|
270 | + $rules = array_merge($rules, [ |
|
271 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
272 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
273 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
274 | + ]); |
|
275 | 275 | |
276 | - return $rules; |
|
277 | - } |
|
276 | + return $rules; |
|
277 | + } |
|
278 | 278 | } |
@@ -27,126 +27,126 @@ |
||
27 | 27 | */ |
28 | 28 | class AuthoritativeLegalValue extends MetaJsonLd implements AuthoritativeLegalValueInterface, LegalValueLevelInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
29 | 29 | { |
30 | - use AuthoritativeLegalValueTrait; |
|
31 | - use LegalValueLevelTrait; |
|
32 | - use EnumerationTrait; |
|
33 | - use IntangibleTrait; |
|
34 | - use ThingTrait; |
|
35 | - |
|
36 | - /** |
|
37 | - * The Schema.org Type Name |
|
38 | - * |
|
39 | - * @var string |
|
40 | - */ |
|
41 | - public static $schemaTypeName = 'AuthoritativeLegalValue'; |
|
42 | - |
|
43 | - /** |
|
44 | - * The Schema.org Type Scope |
|
45 | - * |
|
46 | - * @var string |
|
47 | - */ |
|
48 | - public static $schemaTypeScope = 'https://schema.org/AuthoritativeLegalValue'; |
|
49 | - |
|
50 | - /** |
|
51 | - * The Schema.org Type Extends |
|
52 | - * |
|
53 | - * @var string |
|
54 | - */ |
|
55 | - public static $schemaTypeExtends = 'LegalValueLevel'; |
|
56 | - |
|
57 | - /** |
|
58 | - * The Schema.org Type Description |
|
59 | - * |
|
60 | - * @var string |
|
61 | - */ |
|
62 | - public static $schemaTypeDescription = 'Indicates that the publisher gives some special status to the publication of the document. ("The Queens Printer" version of a UK Act of Parliament, or the PDF version of a Directive published by the EU Office of Publications.) Something "Authoritative" is considered to be also [[OfficialLegalValue]].'; |
|
63 | - |
|
64 | - |
|
65 | - /** |
|
66 | - * @inheritdoc |
|
67 | - */ |
|
68 | - public function getSchemaPropertyNames(): array |
|
69 | - { |
|
70 | - return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
71 | - } |
|
72 | - |
|
73 | - |
|
74 | - /** |
|
75 | - * @inheritdoc |
|
76 | - */ |
|
77 | - public function getSchemaPropertyExpectedTypes(): array |
|
78 | - { |
|
79 | - return [ |
|
80 | - 'additionalType' => ['URL'], |
|
81 | - 'alternateName' => ['Text'], |
|
82 | - 'description' => ['Text'], |
|
83 | - 'disambiguatingDescription' => ['Text'], |
|
84 | - 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
85 | - 'image' => ['URL', 'ImageObject'], |
|
86 | - 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
87 | - 'name' => ['Text'], |
|
88 | - 'potentialAction' => ['Action'], |
|
89 | - 'sameAs' => ['URL'], |
|
90 | - 'subjectOf' => ['Event', 'CreativeWork'], |
|
91 | - 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
92 | - 'url' => ['URL'] |
|
93 | - ]; |
|
94 | - } |
|
95 | - |
|
96 | - |
|
97 | - /** |
|
98 | - * @inheritdoc |
|
99 | - */ |
|
100 | - public function getSchemaPropertyDescriptions(): array |
|
101 | - { |
|
102 | - return [ |
|
103 | - '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.', |
|
104 | - 'alternateName' => 'An alias for the item.', |
|
105 | - 'description' => 'A description of the item.', |
|
106 | - '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.', |
|
107 | - '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. ', |
|
108 | - 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
109 | - '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.', |
|
110 | - 'name' => 'The name of the item.', |
|
111 | - 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
112 | - '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.', |
|
113 | - 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
114 | - 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
115 | - 'url' => 'URL of the item.' |
|
116 | - ]; |
|
117 | - } |
|
118 | - |
|
119 | - |
|
120 | - /** |
|
121 | - * @inheritdoc |
|
122 | - */ |
|
123 | - public function getGoogleRequiredSchema(): array |
|
124 | - { |
|
125 | - return ['description', 'name']; |
|
126 | - } |
|
127 | - |
|
128 | - |
|
129 | - /** |
|
130 | - * @inheritdoc |
|
131 | - */ |
|
132 | - public function getGoogleRecommendedSchema(): array |
|
133 | - { |
|
134 | - return ['image', 'url']; |
|
135 | - } |
|
136 | - |
|
137 | - |
|
138 | - /** |
|
139 | - * @inheritdoc |
|
140 | - */ |
|
141 | - public function defineRules(): array |
|
142 | - { |
|
143 | - $rules = parent::defineRules(); |
|
144 | - $rules = array_merge($rules, [ |
|
145 | - [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
146 | - [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
147 | - [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
148 | - ]); |
|
149 | - |
|
150 | - return $rules; |
|
151 | - } |
|
30 | + use AuthoritativeLegalValueTrait; |
|
31 | + use LegalValueLevelTrait; |
|
32 | + use EnumerationTrait; |
|
33 | + use IntangibleTrait; |
|
34 | + use ThingTrait; |
|
35 | + |
|
36 | + /** |
|
37 | + * The Schema.org Type Name |
|
38 | + * |
|
39 | + * @var string |
|
40 | + */ |
|
41 | + public static $schemaTypeName = 'AuthoritativeLegalValue'; |
|
42 | + |
|
43 | + /** |
|
44 | + * The Schema.org Type Scope |
|
45 | + * |
|
46 | + * @var string |
|
47 | + */ |
|
48 | + public static $schemaTypeScope = 'https://schema.org/AuthoritativeLegalValue'; |
|
49 | + |
|
50 | + /** |
|
51 | + * The Schema.org Type Extends |
|
52 | + * |
|
53 | + * @var string |
|
54 | + */ |
|
55 | + public static $schemaTypeExtends = 'LegalValueLevel'; |
|
56 | + |
|
57 | + /** |
|
58 | + * The Schema.org Type Description |
|
59 | + * |
|
60 | + * @var string |
|
61 | + */ |
|
62 | + public static $schemaTypeDescription = 'Indicates that the publisher gives some special status to the publication of the document. ("The Queens Printer" version of a UK Act of Parliament, or the PDF version of a Directive published by the EU Office of Publications.) Something "Authoritative" is considered to be also [[OfficialLegalValue]].'; |
|
63 | + |
|
64 | + |
|
65 | + /** |
|
66 | + * @inheritdoc |
|
67 | + */ |
|
68 | + public function getSchemaPropertyNames(): array |
|
69 | + { |
|
70 | + return array_keys($this->getSchemaPropertyExpectedTypes()); |
|
71 | + } |
|
72 | + |
|
73 | + |
|
74 | + /** |
|
75 | + * @inheritdoc |
|
76 | + */ |
|
77 | + public function getSchemaPropertyExpectedTypes(): array |
|
78 | + { |
|
79 | + return [ |
|
80 | + 'additionalType' => ['URL'], |
|
81 | + 'alternateName' => ['Text'], |
|
82 | + 'description' => ['Text'], |
|
83 | + 'disambiguatingDescription' => ['Text'], |
|
84 | + 'identifier' => ['PropertyValue', 'URL', 'Text'], |
|
85 | + 'image' => ['URL', 'ImageObject'], |
|
86 | + 'mainEntityOfPage' => ['URL', 'CreativeWork'], |
|
87 | + 'name' => ['Text'], |
|
88 | + 'potentialAction' => ['Action'], |
|
89 | + 'sameAs' => ['URL'], |
|
90 | + 'subjectOf' => ['Event', 'CreativeWork'], |
|
91 | + 'supersededBy' => ['Class', 'Property', 'Enumeration'], |
|
92 | + 'url' => ['URL'] |
|
93 | + ]; |
|
94 | + } |
|
95 | + |
|
96 | + |
|
97 | + /** |
|
98 | + * @inheritdoc |
|
99 | + */ |
|
100 | + public function getSchemaPropertyDescriptions(): array |
|
101 | + { |
|
102 | + return [ |
|
103 | + '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.', |
|
104 | + 'alternateName' => 'An alias for the item.', |
|
105 | + 'description' => 'A description of the item.', |
|
106 | + '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.', |
|
107 | + '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. ', |
|
108 | + 'image' => 'An image of the item. This can be a [[URL]] or a fully described [[ImageObject]].', |
|
109 | + '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.', |
|
110 | + 'name' => 'The name of the item.', |
|
111 | + 'potentialAction' => 'Indicates a potential Action, which describes an idealized action in which this thing would play an \'object\' role.', |
|
112 | + '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.', |
|
113 | + 'subjectOf' => 'A CreativeWork or Event about this Thing.', |
|
114 | + 'supersededBy' => 'Relates a term (i.e. a property, class or enumeration) to one that supersedes it.', |
|
115 | + 'url' => 'URL of the item.' |
|
116 | + ]; |
|
117 | + } |
|
118 | + |
|
119 | + |
|
120 | + /** |
|
121 | + * @inheritdoc |
|
122 | + */ |
|
123 | + public function getGoogleRequiredSchema(): array |
|
124 | + { |
|
125 | + return ['description', 'name']; |
|
126 | + } |
|
127 | + |
|
128 | + |
|
129 | + /** |
|
130 | + * @inheritdoc |
|
131 | + */ |
|
132 | + public function getGoogleRecommendedSchema(): array |
|
133 | + { |
|
134 | + return ['image', 'url']; |
|
135 | + } |
|
136 | + |
|
137 | + |
|
138 | + /** |
|
139 | + * @inheritdoc |
|
140 | + */ |
|
141 | + public function defineRules(): array |
|
142 | + { |
|
143 | + $rules = parent::defineRules(); |
|
144 | + $rules = array_merge($rules, [ |
|
145 | + [$this->getSchemaPropertyNames(), 'validateJsonSchema'], |
|
146 | + [$this->getGoogleRequiredSchema(), 'required', 'on' => ['google'], 'message' => 'This property is required by Google.'], |
|
147 | + [$this->getGoogleRecommendedSchema(), 'required', 'on' => ['google'], 'message' => 'This property is recommended by Google.'] |
|
148 | + ]); |
|
149 | + |
|
150 | + return $rules; |
|
151 | + } |
|
152 | 152 | } |
@@ -23,126 +23,126 @@ |
||
23 | 23 | */ |
24 | 24 | class PregnancyHealthAspect extends MetaJsonLd implements PregnancyHealthAspectInterface, HealthAspectEnumerationInterface, EnumerationInterface, IntangibleInterface, ThingInterface |
25 | 25 | { |
26 | - use PregnancyHealthAspectTrait; |
|
27 | - use HealthAspectEnumerationTrait; |
|
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 $schemaTypeName = 'PregnancyHealthAspect'; |
|
38 | - |
|
39 | - /** |
|
40 | - * The Schema.org Type Scope |
|
41 | - * |
|
42 | - * @var string |
|
43 | - */ |
|
44 | - public static $schemaTypeScope = 'https://schema.org/PregnancyHealthAspect'; |
|
45 | - |
|
46 | - /** |
|
47 | - * The Schema.org Type Extends |
|
48 | - * |
|
49 | - * @var string |
|
50 | - */ |
|
51 | - public static $schemaTypeExtends = 'HealthAspectEnumeration'; |
|
52 | - |
|
53 | - /** |
|
54 | - * The Schema.org Type Description |
|
55 | - * |
|
56 | - * @var string |
|
57 | - */ |
|
58 | - public static $schemaTypeDescription = 'Content discussing pregnancy-related aspects of a health topic.'; |
|
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 PregnancyHealthAspectTrait; |
|
27 | + use HealthAspectEnumerationTrait; |
|
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 $schemaTypeName = 'PregnancyHealthAspect'; |
|
38 | + |
|
39 | + /** |
|
40 | + * The Schema.org Type Scope |
|
41 | + * |
|
42 | + * @var string |
|
43 | + */ |
|
44 | + public static $schemaTypeScope = 'https://schema.org/PregnancyHealthAspect'; |
|
45 | + |
|
46 | + /** |
|
47 | + * The Schema.org Type Extends |
|
48 | + * |
|
49 | + * @var string |
|
50 | + */ |
|
51 | + public static $schemaTypeExtends = 'HealthAspectEnumeration'; |
|
52 | + |
|
53 | + /** |
|
54 | + * The Schema.org Type Description |
|
55 | + * |
|
56 | + * @var string |
|
57 | + */ |
|
58 | + public static $schemaTypeDescription = 'Content discussing pregnancy-related aspects of a health topic.'; |
|
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 | } |