vendor/spatie/schema-org/src/Graph.php line 1158

Open in your IDE?
  1. <?php
  2. namespace Spatie\SchemaOrg;
  3. use ArrayAccess;
  4. use BadMethodCallException;
  5. use Closure;
  6. use JsonSerializable;
  7. use ReflectionClass;
  8. use ReflectionNamedType;
  9. use Spatie\SchemaOrg\Exceptions\InvalidType;
  10. use Spatie\SchemaOrg\Exceptions\TypeAlreadyInGraph;
  11. use Spatie\SchemaOrg\Exceptions\TypeNotInGraph;
  12. /**
  13. * @method self|ThreeDimensionalModel threeDimensionalModel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  14. * @method self|AMRadioChannel aMRadioChannel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  15. * @method self|APIReference aPIReference(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  16. * @method self|AboutPage aboutPage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  17. * @method self|AcceptAction acceptAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  18. * @method self|Accommodation accommodation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  19. * @method self|AccountingService accountingService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  20. * @method self|AchieveAction achieveAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  21. * @method self|Action action(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  22. * @method self|ActionAccessSpecification actionAccessSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  23. * @method self|ActionStatusType actionStatusType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  24. * @method self|ActivateAction activateAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  25. * @method self|AddAction addAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  26. * @method self|AdministrativeArea administrativeArea(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  27. * @method self|AdultEntertainment adultEntertainment(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  28. * @method self|AdvertiserContentArticle advertiserContentArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  29. * @method self|AggregateOffer aggregateOffer(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  30. * @method self|AggregateRating aggregateRating(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  31. * @method self|AgreeAction agreeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  32. * @method self|Airline airline(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  33. * @method self|Airport airport(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  34. * @method self|AlignmentObject alignmentObject(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  35. * @method self|AllocateAction allocateAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  36. * @method self|AmpStory ampStory(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  37. * @method self|AmusementPark amusementPark(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  38. * @method self|AnalysisNewsArticle analysisNewsArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  39. * @method self|AnatomicalStructure anatomicalStructure(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  40. * @method self|AnatomicalSystem anatomicalSystem(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  41. * @method self|AnimalShelter animalShelter(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  42. * @method self|Answer answer(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  43. * @method self|Apartment apartment(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  44. * @method self|ApartmentComplex apartmentComplex(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  45. * @method self|AppendAction appendAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  46. * @method self|ApplyAction applyAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  47. * @method self|ApprovedIndication approvedIndication(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  48. * @method self|Aquarium aquarium(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  49. * @method self|ArchiveComponent archiveComponent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  50. * @method self|ArchiveOrganization archiveOrganization(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  51. * @method self|ArriveAction arriveAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  52. * @method self|ArtGallery artGallery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  53. * @method self|Artery artery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  54. * @method self|Article article(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  55. * @method self|AskAction askAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  56. * @method self|AskPublicNewsArticle askPublicNewsArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  57. * @method self|AssessAction assessAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  58. * @method self|AssignAction assignAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  59. * @method self|Atlas atlas(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  60. * @method self|Attorney attorney(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  61. * @method self|Audience audience(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  62. * @method self|AudioObject audioObject(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  63. * @method self|AudioObjectSnapshot audioObjectSnapshot(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  64. * @method self|Audiobook audiobook(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  65. * @method self|AuthorizeAction authorizeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  66. * @method self|AutoBodyShop autoBodyShop(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  67. * @method self|AutoDealer autoDealer(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  68. * @method self|AutoPartsStore autoPartsStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  69. * @method self|AutoRental autoRental(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  70. * @method self|AutoRepair autoRepair(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  71. * @method self|AutoWash autoWash(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  72. * @method self|AutomatedTeller automatedTeller(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  73. * @method self|AutomotiveBusiness automotiveBusiness(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  74. * @method self|BackgroundNewsArticle backgroundNewsArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  75. * @method self|Bakery bakery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  76. * @method self|BankAccount bankAccount(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  77. * @method self|BankOrCreditUnion bankOrCreditUnion(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  78. * @method self|BarOrPub barOrPub(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  79. * @method self|Barcode barcode(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  80. * @method self|Beach beach(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  81. * @method self|BeautySalon beautySalon(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  82. * @method self|BedAndBreakfast bedAndBreakfast(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  83. * @method self|BedDetails bedDetails(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  84. * @method self|BedType bedType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  85. * @method self|BefriendAction befriendAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  86. * @method self|BikeStore bikeStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  87. * @method self|BioChemEntity bioChemEntity(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  88. * @method self|Blog blog(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  89. * @method self|BlogPosting blogPosting(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  90. * @method self|BloodTest bloodTest(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  91. * @method self|BoardingPolicyType boardingPolicyType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  92. * @method self|BoatReservation boatReservation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  93. * @method self|BoatTerminal boatTerminal(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  94. * @method self|BoatTrip boatTrip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  95. * @method self|BodyMeasurementTypeEnumeration bodyMeasurementTypeEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  96. * @method self|BodyOfWater bodyOfWater(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  97. * @method self|Bone bone(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  98. * @method self|Book book(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  99. * @method self|BookFormatType bookFormatType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  100. * @method self|BookSeries bookSeries(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  101. * @method self|BookStore bookStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  102. * @method self|BookmarkAction bookmarkAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  103. * @method self|BorrowAction borrowAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  104. * @method self|BowlingAlley bowlingAlley(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  105. * @method self|BrainStructure brainStructure(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  106. * @method self|Brand brand(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  107. * @method self|BreadcrumbList breadcrumbList(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  108. * @method self|Brewery brewery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  109. * @method self|Bridge bridge(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  110. * @method self|BroadcastChannel broadcastChannel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  111. * @method self|BroadcastEvent broadcastEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  112. * @method self|BroadcastFrequencySpecification broadcastFrequencySpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  113. * @method self|BroadcastService broadcastService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  114. * @method self|BrokerageAccount brokerageAccount(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  115. * @method self|BuddhistTemple buddhistTemple(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  116. * @method self|BusOrCoach busOrCoach(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  117. * @method self|BusReservation busReservation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  118. * @method self|BusStation busStation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  119. * @method self|BusStop busStop(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  120. * @method self|BusTrip busTrip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  121. * @method self|BusinessAudience businessAudience(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  122. * @method self|BusinessEntityType businessEntityType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  123. * @method self|BusinessEvent businessEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  124. * @method self|BusinessFunction businessFunction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  125. * @method self|BuyAction buyAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  126. * @method self|CDCPMDRecord cDCPMDRecord(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  127. * @method self|CableOrSatelliteService cableOrSatelliteService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  128. * @method self|CafeOrCoffeeShop cafeOrCoffeeShop(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  129. * @method self|Campground campground(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  130. * @method self|CampingPitch campingPitch(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  131. * @method self|Canal canal(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  132. * @method self|CancelAction cancelAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  133. * @method self|Car car(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  134. * @method self|CarUsageType carUsageType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  135. * @method self|Casino casino(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  136. * @method self|CategoryCode categoryCode(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  137. * @method self|CategoryCodeSet categoryCodeSet(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  138. * @method self|CatholicChurch catholicChurch(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  139. * @method self|Cemetery cemetery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  140. * @method self|Chapter chapter(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  141. * @method self|CheckAction checkAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  142. * @method self|CheckInAction checkInAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  143. * @method self|CheckOutAction checkOutAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  144. * @method self|CheckoutPage checkoutPage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  145. * @method self|ChemicalSubstance chemicalSubstance(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  146. * @method self|ChildCare childCare(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  147. * @method self|ChildrensEvent childrensEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  148. * @method self|ChooseAction chooseAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  149. * @method self|Church church(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  150. * @method self|City city(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  151. * @method self|CityHall cityHall(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  152. * @method self|CivicStructure civicStructure(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  153. * @method self|Claim claim(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  154. * @method self|ClaimReview claimReview(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  155. * @method self|Clip clip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  156. * @method self|ClothingStore clothingStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  157. * @method self|Code code(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  158. * @method self|Collection collection(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  159. * @method self|CollectionPage collectionPage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  160. * @method self|CollegeOrUniversity collegeOrUniversity(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  161. * @method self|ComedyClub comedyClub(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  162. * @method self|ComedyEvent comedyEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  163. * @method self|ComicCoverArt comicCoverArt(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  164. * @method self|ComicIssue comicIssue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  165. * @method self|ComicSeries comicSeries(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  166. * @method self|ComicStory comicStory(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  167. * @method self|Comment comment(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  168. * @method self|CommentAction commentAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  169. * @method self|CommunicateAction communicateAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  170. * @method self|CompleteDataFeed completeDataFeed(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  171. * @method self|CompoundPriceSpecification compoundPriceSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  172. * @method self|ComputerLanguage computerLanguage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  173. * @method self|ComputerStore computerStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  174. * @method self|ConfirmAction confirmAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  175. * @method self|Consortium consortium(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  176. * @method self|ConsumeAction consumeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  177. * @method self|ContactPage contactPage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  178. * @method self|ContactPoint contactPoint(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  179. * @method self|ContactPointOption contactPointOption(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  180. * @method self|Continent continent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  181. * @method self|ControlAction controlAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  182. * @method self|ConvenienceStore convenienceStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  183. * @method self|Conversation conversation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  184. * @method self|CookAction cookAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  185. * @method self|Corporation corporation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  186. * @method self|CorrectionComment correctionComment(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  187. * @method self|Country country(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  188. * @method self|Course course(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  189. * @method self|CourseInstance courseInstance(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  190. * @method self|Courthouse courthouse(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  191. * @method self|CoverArt coverArt(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  192. * @method self|CovidTestingFacility covidTestingFacility(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  193. * @method self|CreateAction createAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  194. * @method self|CreativeWork creativeWork(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  195. * @method self|CreativeWorkSeason creativeWorkSeason(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  196. * @method self|CreativeWorkSeries creativeWorkSeries(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  197. * @method self|CreditCard creditCard(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  198. * @method self|Crematorium crematorium(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  199. * @method self|CriticReview criticReview(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  200. * @method self|CssSelectorType cssSelectorType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  201. * @method self|CurrencyConversionService currencyConversionService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  202. * @method self|DDxElement dDxElement(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  203. * @method self|DanceEvent danceEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  204. * @method self|DanceGroup danceGroup(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  205. * @method self|DataCatalog dataCatalog(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  206. * @method self|DataDownload dataDownload(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  207. * @method self|DataFeed dataFeed(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  208. * @method self|DataFeedItem dataFeedItem(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  209. * @method self|Dataset dataset(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  210. * @method self|DatedMoneySpecification datedMoneySpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  211. * @method self|DayOfWeek dayOfWeek(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  212. * @method self|DaySpa daySpa(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  213. * @method self|DeactivateAction deactivateAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  214. * @method self|DefenceEstablishment defenceEstablishment(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  215. * @method self|DefinedRegion definedRegion(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  216. * @method self|DefinedTerm definedTerm(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  217. * @method self|DefinedTermSet definedTermSet(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  218. * @method self|DeleteAction deleteAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  219. * @method self|DeliveryChargeSpecification deliveryChargeSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  220. * @method self|DeliveryEvent deliveryEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  221. * @method self|DeliveryMethod deliveryMethod(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  222. * @method self|DeliveryTimeSettings deliveryTimeSettings(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  223. * @method self|Demand demand(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  224. * @method self|Dentist dentist(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  225. * @method self|DepartAction departAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  226. * @method self|DepartmentStore departmentStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  227. * @method self|DepositAccount depositAccount(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  228. * @method self|DiagnosticLab diagnosticLab(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  229. * @method self|DiagnosticProcedure diagnosticProcedure(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  230. * @method self|Diet diet(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  231. * @method self|DietarySupplement dietarySupplement(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  232. * @method self|DigitalDocument digitalDocument(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  233. * @method self|DigitalDocumentPermission digitalDocumentPermission(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  234. * @method self|DigitalDocumentPermissionType digitalDocumentPermissionType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  235. * @method self|DisagreeAction disagreeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  236. * @method self|DiscoverAction discoverAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  237. * @method self|DiscussionForumPosting discussionForumPosting(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  238. * @method self|DislikeAction dislikeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  239. * @method self|Distance distance(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  240. * @method self|Distillery distillery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  241. * @method self|DonateAction donateAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  242. * @method self|DoseSchedule doseSchedule(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  243. * @method self|DownloadAction downloadAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  244. * @method self|DrawAction drawAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  245. * @method self|Drawing drawing(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  246. * @method self|DrinkAction drinkAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  247. * @method self|DriveWheelConfigurationValue driveWheelConfigurationValue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  248. * @method self|Drug drug(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  249. * @method self|DrugClass drugClass(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  250. * @method self|DrugCost drugCost(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  251. * @method self|DrugCostCategory drugCostCategory(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  252. * @method self|DrugLegalStatus drugLegalStatus(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  253. * @method self|DrugPregnancyCategory drugPregnancyCategory(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  254. * @method self|DrugPrescriptionStatus drugPrescriptionStatus(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  255. * @method self|DrugStrength drugStrength(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  256. * @method self|DryCleaningOrLaundry dryCleaningOrLaundry(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  257. * @method self|Duration duration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  258. * @method self|EUEnergyEfficiencyEnumeration eUEnergyEfficiencyEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  259. * @method self|EatAction eatAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  260. * @method self|EducationEvent educationEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  261. * @method self|EducationalAudience educationalAudience(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  262. * @method self|EducationalOccupationalCredential educationalOccupationalCredential(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  263. * @method self|EducationalOccupationalProgram educationalOccupationalProgram(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  264. * @method self|EducationalOrganization educationalOrganization(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  265. * @method self|Electrician electrician(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  266. * @method self|ElectronicsStore electronicsStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  267. * @method self|ElementarySchool elementarySchool(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  268. * @method self|EmailMessage emailMessage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  269. * @method self|Embassy embassy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  270. * @method self|EmergencyService emergencyService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  271. * @method self|EmployeeRole employeeRole(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  272. * @method self|EmployerAggregateRating employerAggregateRating(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  273. * @method self|EmployerReview employerReview(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  274. * @method self|EmploymentAgency employmentAgency(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  275. * @method self|EndorseAction endorseAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  276. * @method self|EndorsementRating endorsementRating(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  277. * @method self|Energy energy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  278. * @method self|EnergyConsumptionDetails energyConsumptionDetails(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  279. * @method self|EnergyEfficiencyEnumeration energyEfficiencyEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  280. * @method self|EnergyStarEnergyEfficiencyEnumeration energyStarEnergyEfficiencyEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  281. * @method self|EngineSpecification engineSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  282. * @method self|EntertainmentBusiness entertainmentBusiness(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  283. * @method self|EntryPoint entryPoint(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  284. * @method self|Enumeration enumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  285. * @method self|Episode episode(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  286. * @method self|Event event(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  287. * @method self|EventAttendanceModeEnumeration eventAttendanceModeEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  288. * @method self|EventReservation eventReservation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  289. * @method self|EventSeries eventSeries(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  290. * @method self|EventStatusType eventStatusType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  291. * @method self|EventVenue eventVenue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  292. * @method self|ExchangeRateSpecification exchangeRateSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  293. * @method self|ExerciseAction exerciseAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  294. * @method self|ExerciseGym exerciseGym(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  295. * @method self|ExercisePlan exercisePlan(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  296. * @method self|ExhibitionEvent exhibitionEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  297. * @method self|FAQPage fAQPage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  298. * @method self|FMRadioChannel fMRadioChannel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  299. * @method self|FastFoodRestaurant fastFoodRestaurant(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  300. * @method self|Festival festival(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  301. * @method self|FilmAction filmAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  302. * @method self|FinancialProduct financialProduct(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  303. * @method self|FinancialService financialService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  304. * @method self|FindAction findAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  305. * @method self|FireStation fireStation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  306. * @method self|Flight flight(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  307. * @method self|FlightReservation flightReservation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  308. * @method self|FloorPlan floorPlan(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  309. * @method self|Florist florist(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  310. * @method self|FollowAction followAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  311. * @method self|FoodEstablishment foodEstablishment(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  312. * @method self|FoodEstablishmentReservation foodEstablishmentReservation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  313. * @method self|FoodEvent foodEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  314. * @method self|FoodService foodService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  315. * @method self|FundingAgency fundingAgency(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  316. * @method self|FundingScheme fundingScheme(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  317. * @method self|FurnitureStore furnitureStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  318. * @method self|Game game(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  319. * @method self|GamePlayMode gamePlayMode(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  320. * @method self|GameServer gameServer(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  321. * @method self|GameServerStatus gameServerStatus(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  322. * @method self|GardenStore gardenStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  323. * @method self|GasStation gasStation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  324. * @method self|GatedResidenceCommunity gatedResidenceCommunity(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  325. * @method self|GenderType genderType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  326. * @method self|Gene gene(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  327. * @method self|GeneralContractor generalContractor(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  328. * @method self|GeoCircle geoCircle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  329. * @method self|GeoCoordinates geoCoordinates(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  330. * @method self|GeoShape geoShape(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  331. * @method self|GeospatialGeometry geospatialGeometry(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  332. * @method self|GiveAction giveAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  333. * @method self|GolfCourse golfCourse(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  334. * @method self|GovernmentBenefitsType governmentBenefitsType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  335. * @method self|GovernmentBuilding governmentBuilding(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  336. * @method self|GovernmentOffice governmentOffice(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  337. * @method self|GovernmentOrganization governmentOrganization(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  338. * @method self|GovernmentPermit governmentPermit(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  339. * @method self|GovernmentService governmentService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  340. * @method self|Grant grant(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  341. * @method self|GroceryStore groceryStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  342. * @method self|Guide guide(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  343. * @method self|HVACBusiness hVACBusiness(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  344. * @method self|Hackathon hackathon(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  345. * @method self|HairSalon hairSalon(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  346. * @method self|HardwareStore hardwareStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  347. * @method self|HealthAndBeautyBusiness healthAndBeautyBusiness(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  348. * @method self|HealthAspectEnumeration healthAspectEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  349. * @method self|HealthClub healthClub(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  350. * @method self|HealthInsurancePlan healthInsurancePlan(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  351. * @method self|HealthPlanCostSharingSpecification healthPlanCostSharingSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  352. * @method self|HealthPlanFormulary healthPlanFormulary(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  353. * @method self|HealthPlanNetwork healthPlanNetwork(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  354. * @method self|HealthTopicContent healthTopicContent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  355. * @method self|HighSchool highSchool(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  356. * @method self|HinduTemple hinduTemple(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  357. * @method self|HobbyShop hobbyShop(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  358. * @method self|HomeAndConstructionBusiness homeAndConstructionBusiness(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  359. * @method self|HomeGoodsStore homeGoodsStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  360. * @method self|Hospital hospital(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  361. * @method self|Hostel hostel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  362. * @method self|Hotel hotel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  363. * @method self|HotelRoom hotelRoom(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  364. * @method self|House house(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  365. * @method self|HousePainter housePainter(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  366. * @method self|HowTo howTo(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  367. * @method self|HowToDirection howToDirection(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  368. * @method self|HowToItem howToItem(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  369. * @method self|HowToSection howToSection(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  370. * @method self|HowToStep howToStep(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  371. * @method self|HowToSupply howToSupply(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  372. * @method self|HowToTip howToTip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  373. * @method self|HowToTool howToTool(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  374. * @method self|HyperToc hyperToc(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  375. * @method self|HyperTocEntry hyperTocEntry(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  376. * @method self|IceCreamShop iceCreamShop(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  377. * @method self|IgnoreAction ignoreAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  378. * @method self|ImageGallery imageGallery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  379. * @method self|ImageObject imageObject(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  380. * @method self|ImageObjectSnapshot imageObjectSnapshot(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  381. * @method self|ImagingTest imagingTest(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  382. * @method self|IndividualProduct individualProduct(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  383. * @method self|InfectiousAgentClass infectiousAgentClass(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  384. * @method self|InfectiousDisease infectiousDisease(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  385. * @method self|InformAction informAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  386. * @method self|InsertAction insertAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  387. * @method self|InstallAction installAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  388. * @method self|InsuranceAgency insuranceAgency(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  389. * @method self|Intangible intangible(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  390. * @method self|InteractAction interactAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  391. * @method self|InteractionCounter interactionCounter(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  392. * @method self|InternetCafe internetCafe(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  393. * @method self|InvestmentFund investmentFund(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  394. * @method self|InvestmentOrDeposit investmentOrDeposit(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  395. * @method self|InviteAction inviteAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  396. * @method self|Invoice invoice(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  397. * @method self|ItemAvailability itemAvailability(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  398. * @method self|ItemList itemList(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  399. * @method self|ItemListOrderType itemListOrderType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  400. * @method self|ItemPage itemPage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  401. * @method self|JewelryStore jewelryStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  402. * @method self|JobPosting jobPosting(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  403. * @method self|JoinAction joinAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  404. * @method self|Joint joint(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  405. * @method self|LakeBodyOfWater lakeBodyOfWater(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  406. * @method self|Landform landform(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  407. * @method self|LandmarksOrHistoricalBuildings landmarksOrHistoricalBuildings(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  408. * @method self|Language language(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  409. * @method self|LearningResource learningResource(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  410. * @method self|LeaveAction leaveAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  411. * @method self|LegalForceStatus legalForceStatus(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  412. * @method self|LegalService legalService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  413. * @method self|LegalValueLevel legalValueLevel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  414. * @method self|Legislation legislation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  415. * @method self|LegislationObject legislationObject(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  416. * @method self|LegislativeBuilding legislativeBuilding(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  417. * @method self|LendAction lendAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  418. * @method self|Library library(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  419. * @method self|LibrarySystem librarySystem(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  420. * @method self|LifestyleModification lifestyleModification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  421. * @method self|Ligament ligament(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  422. * @method self|LikeAction likeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  423. * @method self|LinkRole linkRole(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  424. * @method self|LiquorStore liquorStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  425. * @method self|ListItem listItem(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  426. * @method self|ListenAction listenAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  427. * @method self|LiteraryEvent literaryEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  428. * @method self|LiveBlogPosting liveBlogPosting(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  429. * @method self|LoanOrCredit loanOrCredit(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  430. * @method self|LocalBusiness localBusiness(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  431. * @method self|LocationFeatureSpecification locationFeatureSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  432. * @method self|Locksmith locksmith(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  433. * @method self|LodgingBusiness lodgingBusiness(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  434. * @method self|LodgingReservation lodgingReservation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  435. * @method self|LoseAction loseAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  436. * @method self|LymphaticVessel lymphaticVessel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  437. * @method self|Manuscript manuscript(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  438. * @method self|Map map(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  439. * @method self|MapCategoryType mapCategoryType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  440. * @method self|MarryAction marryAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  441. * @method self|Mass mass(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  442. * @method self|MathSolver mathSolver(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  443. * @method self|MaximumDoseSchedule maximumDoseSchedule(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  444. * @method self|MeasurementTypeEnumeration measurementTypeEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  445. * @method self|MediaGallery mediaGallery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  446. * @method self|MediaManipulationRatingEnumeration mediaManipulationRatingEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  447. * @method self|MediaObject mediaObject(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  448. * @method self|MediaReview mediaReview(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  449. * @method self|MediaReviewItem mediaReviewItem(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  450. * @method self|MediaSubscription mediaSubscription(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  451. * @method self|MedicalAudience medicalAudience(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  452. * @method self|MedicalAudienceType medicalAudienceType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  453. * @method self|MedicalBusiness medicalBusiness(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  454. * @method self|MedicalCause medicalCause(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  455. * @method self|MedicalClinic medicalClinic(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  456. * @method self|MedicalCode medicalCode(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  457. * @method self|MedicalCondition medicalCondition(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  458. * @method self|MedicalConditionStage medicalConditionStage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  459. * @method self|MedicalContraindication medicalContraindication(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  460. * @method self|MedicalDevice medicalDevice(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  461. * @method self|MedicalDevicePurpose medicalDevicePurpose(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  462. * @method self|MedicalEntity medicalEntity(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  463. * @method self|MedicalEnumeration medicalEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  464. * @method self|MedicalEvidenceLevel medicalEvidenceLevel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  465. * @method self|MedicalGuideline medicalGuideline(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  466. * @method self|MedicalGuidelineContraindication medicalGuidelineContraindication(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  467. * @method self|MedicalGuidelineRecommendation medicalGuidelineRecommendation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  468. * @method self|MedicalImagingTechnique medicalImagingTechnique(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  469. * @method self|MedicalIndication medicalIndication(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  470. * @method self|MedicalIntangible medicalIntangible(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  471. * @method self|MedicalObservationalStudy medicalObservationalStudy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  472. * @method self|MedicalObservationalStudyDesign medicalObservationalStudyDesign(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  473. * @method self|MedicalOrganization medicalOrganization(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  474. * @method self|MedicalProcedure medicalProcedure(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  475. * @method self|MedicalProcedureType medicalProcedureType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  476. * @method self|MedicalRiskCalculator medicalRiskCalculator(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  477. * @method self|MedicalRiskEstimator medicalRiskEstimator(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  478. * @method self|MedicalRiskFactor medicalRiskFactor(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  479. * @method self|MedicalRiskScore medicalRiskScore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  480. * @method self|MedicalScholarlyArticle medicalScholarlyArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  481. * @method self|MedicalSign medicalSign(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  482. * @method self|MedicalSignOrSymptom medicalSignOrSymptom(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  483. * @method self|MedicalSpecialty medicalSpecialty(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  484. * @method self|MedicalStudy medicalStudy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  485. * @method self|MedicalStudyStatus medicalStudyStatus(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  486. * @method self|MedicalSymptom medicalSymptom(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  487. * @method self|MedicalTest medicalTest(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  488. * @method self|MedicalTestPanel medicalTestPanel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  489. * @method self|MedicalTherapy medicalTherapy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  490. * @method self|MedicalTrial medicalTrial(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  491. * @method self|MedicalTrialDesign medicalTrialDesign(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  492. * @method self|MedicalWebPage medicalWebPage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  493. * @method self|MedicineSystem medicineSystem(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  494. * @method self|MeetingRoom meetingRoom(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  495. * @method self|MensClothingStore mensClothingStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  496. * @method self|Menu menu(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  497. * @method self|MenuItem menuItem(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  498. * @method self|MenuSection menuSection(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  499. * @method self|MerchantReturnEnumeration merchantReturnEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  500. * @method self|MerchantReturnPolicy merchantReturnPolicy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  501. * @method self|MerchantReturnPolicySeasonalOverride merchantReturnPolicySeasonalOverride(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  502. * @method self|Message message(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  503. * @method self|MiddleSchool middleSchool(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  504. * @method self|MobileApplication mobileApplication(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  505. * @method self|MobilePhoneStore mobilePhoneStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  506. * @method self|MolecularEntity molecularEntity(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  507. * @method self|MonetaryAmount monetaryAmount(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  508. * @method self|MonetaryAmountDistribution monetaryAmountDistribution(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  509. * @method self|MonetaryGrant monetaryGrant(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  510. * @method self|MoneyTransfer moneyTransfer(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  511. * @method self|MortgageLoan mortgageLoan(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  512. * @method self|Mosque mosque(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  513. * @method self|Motel motel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  514. * @method self|Motorcycle motorcycle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  515. * @method self|MotorcycleDealer motorcycleDealer(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  516. * @method self|MotorcycleRepair motorcycleRepair(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  517. * @method self|MotorizedBicycle motorizedBicycle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  518. * @method self|Mountain mountain(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  519. * @method self|MoveAction moveAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  520. * @method self|Movie movie(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  521. * @method self|MovieClip movieClip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  522. * @method self|MovieRentalStore movieRentalStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  523. * @method self|MovieSeries movieSeries(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  524. * @method self|MovieTheater movieTheater(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  525. * @method self|MovingCompany movingCompany(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  526. * @method self|Muscle muscle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  527. * @method self|Museum museum(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  528. * @method self|MusicAlbum musicAlbum(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  529. * @method self|MusicAlbumProductionType musicAlbumProductionType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  530. * @method self|MusicAlbumReleaseType musicAlbumReleaseType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  531. * @method self|MusicComposition musicComposition(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  532. * @method self|MusicEvent musicEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  533. * @method self|MusicGroup musicGroup(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  534. * @method self|MusicPlaylist musicPlaylist(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  535. * @method self|MusicRecording musicRecording(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  536. * @method self|MusicRelease musicRelease(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  537. * @method self|MusicReleaseFormatType musicReleaseFormatType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  538. * @method self|MusicStore musicStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  539. * @method self|MusicVenue musicVenue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  540. * @method self|MusicVideoObject musicVideoObject(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  541. * @method self|NGO nGO(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  542. * @method self|NLNonprofitType nLNonprofitType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  543. * @method self|NailSalon nailSalon(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  544. * @method self|Nerve nerve(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  545. * @method self|NewsArticle newsArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  546. * @method self|NewsMediaOrganization newsMediaOrganization(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  547. * @method self|Newspaper newspaper(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  548. * @method self|NightClub nightClub(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  549. * @method self|NonprofitType nonprofitType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  550. * @method self|Notary notary(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  551. * @method self|NoteDigitalDocument noteDigitalDocument(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  552. * @method self|NutritionInformation nutritionInformation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  553. * @method self|Observation observation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  554. * @method self|Occupation occupation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  555. * @method self|OccupationalExperienceRequirements occupationalExperienceRequirements(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  556. * @method self|OccupationalTherapy occupationalTherapy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  557. * @method self|OceanBodyOfWater oceanBodyOfWater(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  558. * @method self|Offer offer(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  559. * @method self|OfferCatalog offerCatalog(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  560. * @method self|OfferForLease offerForLease(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  561. * @method self|OfferForPurchase offerForPurchase(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  562. * @method self|OfferItemCondition offerItemCondition(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  563. * @method self|OfferShippingDetails offerShippingDetails(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  564. * @method self|OfficeEquipmentStore officeEquipmentStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  565. * @method self|OnDemandEvent onDemandEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  566. * @method self|OpeningHoursSpecification openingHoursSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  567. * @method self|OpinionNewsArticle opinionNewsArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  568. * @method self|Optician optician(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  569. * @method self|Order order(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  570. * @method self|OrderAction orderAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  571. * @method self|OrderItem orderItem(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  572. * @method self|OrderStatus orderStatus(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  573. * @method self|Organization organization(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  574. * @method self|OrganizationRole organizationRole(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  575. * @method self|OrganizeAction organizeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  576. * @method self|OutletStore outletStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  577. * @method self|OwnershipInfo ownershipInfo(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  578. * @method self|PaintAction paintAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  579. * @method self|Painting painting(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  580. * @method self|PalliativeProcedure palliativeProcedure(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  581. * @method self|ParcelDelivery parcelDelivery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  582. * @method self|ParentAudience parentAudience(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  583. * @method self|Park park(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  584. * @method self|ParkingFacility parkingFacility(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  585. * @method self|PathologyTest pathologyTest(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  586. * @method self|Patient patient(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  587. * @method self|PawnShop pawnShop(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  588. * @method self|PayAction payAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  589. * @method self|PaymentCard paymentCard(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  590. * @method self|PaymentChargeSpecification paymentChargeSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  591. * @method self|PaymentMethod paymentMethod(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  592. * @method self|PaymentService paymentService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  593. * @method self|PaymentStatusType paymentStatusType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  594. * @method self|PeopleAudience peopleAudience(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  595. * @method self|PerformAction performAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  596. * @method self|PerformanceRole performanceRole(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  597. * @method self|PerformingArtsTheater performingArtsTheater(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  598. * @method self|PerformingGroup performingGroup(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  599. * @method self|Periodical periodical(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  600. * @method self|Permit permit(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  601. * @method self|Person person(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  602. * @method self|PetStore petStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  603. * @method self|Pharmacy pharmacy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  604. * @method self|Photograph photograph(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  605. * @method self|PhotographAction photographAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  606. * @method self|PhysicalActivity physicalActivity(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  607. * @method self|PhysicalActivityCategory physicalActivityCategory(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  608. * @method self|PhysicalExam physicalExam(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  609. * @method self|PhysicalTherapy physicalTherapy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  610. * @method self|Physician physician(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  611. * @method self|Place place(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  612. * @method self|PlaceOfWorship placeOfWorship(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  613. * @method self|PlanAction planAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  614. * @method self|Play play(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  615. * @method self|PlayAction playAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  616. * @method self|Playground playground(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  617. * @method self|Plumber plumber(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  618. * @method self|PodcastEpisode podcastEpisode(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  619. * @method self|PodcastSeason podcastSeason(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  620. * @method self|PodcastSeries podcastSeries(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  621. * @method self|PoliceStation policeStation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  622. * @method self|Pond pond(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  623. * @method self|PostOffice postOffice(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  624. * @method self|PostalAddress postalAddress(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  625. * @method self|PostalCodeRangeSpecification postalCodeRangeSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  626. * @method self|Poster poster(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  627. * @method self|PreOrderAction preOrderAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  628. * @method self|PrependAction prependAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  629. * @method self|Preschool preschool(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  630. * @method self|PresentationDigitalDocument presentationDigitalDocument(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  631. * @method self|PreventionIndication preventionIndication(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  632. * @method self|PriceComponentTypeEnumeration priceComponentTypeEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  633. * @method self|PriceSpecification priceSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  634. * @method self|PriceTypeEnumeration priceTypeEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  635. * @method self|Product product(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  636. * @method self|ProductCollection productCollection(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  637. * @method self|ProductGroup productGroup(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  638. * @method self|ProductModel productModel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  639. * @method self|ProductReturnEnumeration productReturnEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  640. * @method self|ProductReturnPolicy productReturnPolicy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  641. * @method self|ProfessionalService professionalService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  642. * @method self|ProfilePage profilePage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  643. * @method self|ProgramMembership programMembership(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  644. * @method self|Project project(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  645. * @method self|PronounceableText pronounceableText(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  646. * @method self|Property property(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  647. * @method self|PropertyValue propertyValue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  648. * @method self|PropertyValueSpecification propertyValueSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  649. * @method self|Protein protein(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  650. * @method self|PsychologicalTreatment psychologicalTreatment(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  651. * @method self|PublicSwimmingPool publicSwimmingPool(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  652. * @method self|PublicToilet publicToilet(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  653. * @method self|PublicationEvent publicationEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  654. * @method self|PublicationIssue publicationIssue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  655. * @method self|PublicationVolume publicationVolume(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  656. * @method self|QAPage qAPage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  657. * @method self|QualitativeValue qualitativeValue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  658. * @method self|QuantitativeValue quantitativeValue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  659. * @method self|QuantitativeValueDistribution quantitativeValueDistribution(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  660. * @method self|Quantity quantity(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  661. * @method self|Question question(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  662. * @method self|Quiz quiz(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  663. * @method self|Quotation quotation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  664. * @method self|QuoteAction quoteAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  665. * @method self|RVPark rVPark(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  666. * @method self|RadiationTherapy radiationTherapy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  667. * @method self|RadioBroadcastService radioBroadcastService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  668. * @method self|RadioChannel radioChannel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  669. * @method self|RadioClip radioClip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  670. * @method self|RadioEpisode radioEpisode(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  671. * @method self|RadioSeason radioSeason(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  672. * @method self|RadioSeries radioSeries(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  673. * @method self|RadioStation radioStation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  674. * @method self|Rating rating(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  675. * @method self|ReactAction reactAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  676. * @method self|ReadAction readAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  677. * @method self|RealEstateAgent realEstateAgent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  678. * @method self|RealEstateListing realEstateListing(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  679. * @method self|ReceiveAction receiveAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  680. * @method self|Recipe recipe(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  681. * @method self|Recommendation recommendation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  682. * @method self|RecommendedDoseSchedule recommendedDoseSchedule(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  683. * @method self|RecyclingCenter recyclingCenter(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  684. * @method self|RefundTypeEnumeration refundTypeEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  685. * @method self|RegisterAction registerAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  686. * @method self|RejectAction rejectAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  687. * @method self|RentAction rentAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  688. * @method self|RentalCarReservation rentalCarReservation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  689. * @method self|RepaymentSpecification repaymentSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  690. * @method self|ReplaceAction replaceAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  691. * @method self|ReplyAction replyAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  692. * @method self|Report report(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  693. * @method self|ReportageNewsArticle reportageNewsArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  694. * @method self|ReportedDoseSchedule reportedDoseSchedule(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  695. * @method self|ResearchOrganization researchOrganization(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  696. * @method self|ResearchProject researchProject(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  697. * @method self|Researcher researcher(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  698. * @method self|Reservation reservation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  699. * @method self|ReservationPackage reservationPackage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  700. * @method self|ReservationStatusType reservationStatusType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  701. * @method self|ReserveAction reserveAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  702. * @method self|Reservoir reservoir(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  703. * @method self|Residence residence(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  704. * @method self|Resort resort(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  705. * @method self|Restaurant restaurant(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  706. * @method self|RestrictedDiet restrictedDiet(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  707. * @method self|ResumeAction resumeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  708. * @method self|ReturnAction returnAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  709. * @method self|ReturnFeesEnumeration returnFeesEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  710. * @method self|ReturnLabelSourceEnumeration returnLabelSourceEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  711. * @method self|ReturnMethodEnumeration returnMethodEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  712. * @method self|Review review(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  713. * @method self|ReviewAction reviewAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  714. * @method self|ReviewNewsArticle reviewNewsArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  715. * @method self|RiverBodyOfWater riverBodyOfWater(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  716. * @method self|Role role(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  717. * @method self|RoofingContractor roofingContractor(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  718. * @method self|Room room(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  719. * @method self|RsvpAction rsvpAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  720. * @method self|RsvpResponseType rsvpResponseType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  721. * @method self|SaleEvent saleEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  722. * @method self|SatiricalArticle satiricalArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  723. * @method self|Schedule schedule(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  724. * @method self|ScheduleAction scheduleAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  725. * @method self|ScholarlyArticle scholarlyArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  726. * @method self|School school(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  727. * @method self|SchoolDistrict schoolDistrict(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  728. * @method self|ScreeningEvent screeningEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  729. * @method self|Sculpture sculpture(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  730. * @method self|SeaBodyOfWater seaBodyOfWater(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  731. * @method self|SearchAction searchAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  732. * @method self|SearchResultsPage searchResultsPage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  733. * @method self|Season season(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  734. * @method self|Seat seat(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  735. * @method self|SeekToAction seekToAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  736. * @method self|SelfStorage selfStorage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  737. * @method self|SellAction sellAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  738. * @method self|SendAction sendAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  739. * @method self|Series series(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  740. * @method self|Service service(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  741. * @method self|ServiceChannel serviceChannel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  742. * @method self|ShareAction shareAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  743. * @method self|SheetMusic sheetMusic(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  744. * @method self|ShippingDeliveryTime shippingDeliveryTime(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  745. * @method self|ShippingRateSettings shippingRateSettings(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  746. * @method self|ShoeStore shoeStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  747. * @method self|ShoppingCenter shoppingCenter(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  748. * @method self|ShortStory shortStory(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  749. * @method self|SingleFamilyResidence singleFamilyResidence(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  750. * @method self|SiteNavigationElement siteNavigationElement(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  751. * @method self|SizeGroupEnumeration sizeGroupEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  752. * @method self|SizeSpecification sizeSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  753. * @method self|SizeSystemEnumeration sizeSystemEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  754. * @method self|SkiResort skiResort(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  755. * @method self|SocialEvent socialEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  756. * @method self|SocialMediaPosting socialMediaPosting(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  757. * @method self|SoftwareApplication softwareApplication(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  758. * @method self|SoftwareSourceCode softwareSourceCode(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  759. * @method self|SolveMathAction solveMathAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  760. * @method self|SomeProducts someProducts(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  761. * @method self|SpeakableSpecification speakableSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  762. * @method self|SpecialAnnouncement specialAnnouncement(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  763. * @method self|Specialty specialty(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  764. * @method self|SportingGoodsStore sportingGoodsStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  765. * @method self|SportsActivityLocation sportsActivityLocation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  766. * @method self|SportsClub sportsClub(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  767. * @method self|SportsEvent sportsEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  768. * @method self|SportsOrganization sportsOrganization(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  769. * @method self|SportsTeam sportsTeam(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  770. * @method self|SpreadsheetDigitalDocument spreadsheetDigitalDocument(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  771. * @method self|StadiumOrArena stadiumOrArena(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  772. * @method self|State state(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  773. * @method self|Statement statement(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  774. * @method self|StatisticalPopulation statisticalPopulation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  775. * @method self|StatusEnumeration statusEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  776. * @method self|SteeringPositionValue steeringPositionValue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  777. * @method self|Store store(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  778. * @method self|StructuredValue structuredValue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  779. * @method self|StupidType stupidType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  780. * @method self|SubscribeAction subscribeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  781. * @method self|Substance substance(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  782. * @method self|SubwayStation subwayStation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  783. * @method self|Suite suite(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  784. * @method self|SuperficialAnatomy superficialAnatomy(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  785. * @method self|SurgicalProcedure surgicalProcedure(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  786. * @method self|SuspendAction suspendAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  787. * @method self|Synagogue synagogue(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  788. * @method self|TVClip tVClip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  789. * @method self|TVEpisode tVEpisode(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  790. * @method self|TVSeason tVSeason(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  791. * @method self|TVSeries tVSeries(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  792. * @method self|Table table(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  793. * @method self|TakeAction takeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  794. * @method self|TattooParlor tattooParlor(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  795. * @method self|Taxi taxi(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  796. * @method self|TaxiReservation taxiReservation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  797. * @method self|TaxiService taxiService(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  798. * @method self|TaxiStand taxiStand(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  799. * @method self|Taxon taxon(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  800. * @method self|TechArticle techArticle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  801. * @method self|TelevisionChannel televisionChannel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  802. * @method self|TelevisionStation televisionStation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  803. * @method self|TennisComplex tennisComplex(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  804. * @method self|TextDigitalDocument textDigitalDocument(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  805. * @method self|TheaterEvent theaterEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  806. * @method self|TheaterGroup theaterGroup(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  807. * @method self|TherapeuticProcedure therapeuticProcedure(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  808. * @method self|Thesis thesis(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  809. * @method self|Thing thing(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  810. * @method self|Ticket ticket(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  811. * @method self|TieAction tieAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  812. * @method self|TipAction tipAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  813. * @method self|TireShop tireShop(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  814. * @method self|TouristAttraction touristAttraction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  815. * @method self|TouristDestination touristDestination(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  816. * @method self|TouristInformationCenter touristInformationCenter(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  817. * @method self|TouristTrip touristTrip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  818. * @method self|ToyStore toyStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  819. * @method self|TrackAction trackAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  820. * @method self|TradeAction tradeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  821. * @method self|TrainReservation trainReservation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  822. * @method self|TrainStation trainStation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  823. * @method self|TrainTrip trainTrip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  824. * @method self|TransferAction transferAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  825. * @method self|TravelAction travelAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  826. * @method self|TravelAgency travelAgency(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  827. * @method self|TreatmentIndication treatmentIndication(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  828. * @method self|Trip trip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  829. * @method self|TypeAndQuantityNode typeAndQuantityNode(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  830. * @method self|UKNonprofitType uKNonprofitType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  831. * @method self|USNonprofitType uSNonprofitType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  832. * @method self|UnRegisterAction unRegisterAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  833. * @method self|UnitPriceSpecification unitPriceSpecification(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  834. * @method self|UpdateAction updateAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  835. * @method self|UseAction useAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  836. * @method self|UserBlocks userBlocks(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  837. * @method self|UserCheckins userCheckins(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  838. * @method self|UserComments userComments(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  839. * @method self|UserDownloads userDownloads(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  840. * @method self|UserInteraction userInteraction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  841. * @method self|UserLikes userLikes(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  842. * @method self|UserPageVisits userPageVisits(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  843. * @method self|UserPlays userPlays(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  844. * @method self|UserPlusOnes userPlusOnes(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  845. * @method self|UserReview userReview(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  846. * @method self|UserTweets userTweets(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  847. * @method self|Vehicle vehicle(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  848. * @method self|Vein vein(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  849. * @method self|Vessel vessel(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  850. * @method self|VeterinaryCare veterinaryCare(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  851. * @method self|VideoGallery videoGallery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  852. * @method self|VideoGame videoGame(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  853. * @method self|VideoGameClip videoGameClip(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  854. * @method self|VideoGameSeries videoGameSeries(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  855. * @method self|VideoObject videoObject(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  856. * @method self|VideoObjectSnapshot videoObjectSnapshot(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  857. * @method self|ViewAction viewAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  858. * @method self|VirtualLocation virtualLocation(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  859. * @method self|VisualArtsEvent visualArtsEvent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  860. * @method self|VisualArtwork visualArtwork(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  861. * @method self|VitalSign vitalSign(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  862. * @method self|Volcano volcano(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  863. * @method self|VoteAction voteAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  864. * @method self|WPAdBlock wPAdBlock(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  865. * @method self|WPFooter wPFooter(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  866. * @method self|WPHeader wPHeader(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  867. * @method self|WPSideBar wPSideBar(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  868. * @method self|WantAction wantAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  869. * @method self|WarrantyPromise warrantyPromise(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  870. * @method self|WarrantyScope warrantyScope(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  871. * @method self|WatchAction watchAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  872. * @method self|Waterfall waterfall(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  873. * @method self|WearAction wearAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  874. * @method self|WearableMeasurementTypeEnumeration wearableMeasurementTypeEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  875. * @method self|WearableSizeGroupEnumeration wearableSizeGroupEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  876. * @method self|WearableSizeSystemEnumeration wearableSizeSystemEnumeration(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  877. * @method self|WebAPI webAPI(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  878. * @method self|WebApplication webApplication(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  879. * @method self|WebContent webContent(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  880. * @method self|WebPage webPage(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  881. * @method self|WebPageElement webPageElement(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  882. * @method self|WebSite webSite(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  883. * @method self|WholesaleStore wholesaleStore(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  884. * @method self|WinAction winAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  885. * @method self|Winery winery(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  886. * @method self|WorkBasedProgram workBasedProgram(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  887. * @method self|WorkersUnion workersUnion(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  888. * @method self|WriteAction writeAction(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  889. * @method self|XPathType xPathType(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  890. * @method self|Zoo zoo(string|\Closure|null $identifier = null, \Closure|null $callback = null)
  891. */
  892. class Graph implements Type, ArrayAccess, JsonSerializable
  893. {
  894. public const IDENTIFIER_DEFAULT = 'default';
  895. /** @var Type[] */
  896. protected $nodes = [];
  897. /** @var array */
  898. protected $hidden = [];
  899. /** @var string|null */
  900. protected $context;
  901. public function __construct(?string $context = null)
  902. {
  903. $this->context = $context;
  904. }
  905. /**
  906. * This overloads all \Spatie\SchemaOrg\Schema construction methods.
  907. * You can call them the same like on the \Spatie\SchemaOrg\Schema class.
  908. * But you can also use the extended signatures.
  909. *
  910. * Graph::organisation(): Organisation
  911. * Graph::organisation('spatie'): Organisation
  912. * Graph::organisation(function(Organisation $organisation, Graph $graph) {}): Graph
  913. * Graph::organisation('spatie', function(Organisation $organisation, Graph $graph) {}): Graph
  914. *
  915. * @see \Spatie\SchemaOrg\Schema
  916. *
  917. * @param string $method
  918. * @param array $arguments
  919. *
  920. * @return $this|Type
  921. *
  922. * @throws \ReflectionException
  923. * @throws \BadMethodCallException
  924. */
  925. public function __call(string $method, array $arguments)
  926. {
  927. if (is_callable([Schema::class, $method])) {
  928. $type = (new ReflectionClass(Schema::class))->getMethod($method)->getReturnType();
  929. if (! $type instanceof ReflectionNamedType) {
  930. throw new BadMethodCallException(sprintf('The method "%s" has an invalid return type which does not resolve to "%s".', $method, ReflectionNamedType::class));
  931. }
  932. $identifier = self::IDENTIFIER_DEFAULT;
  933. if (isset($arguments[0])) {
  934. if (is_string($arguments[0])) {
  935. $identifier = $arguments[0];
  936. if (isset($arguments[1]) && is_callable($arguments[1])) {
  937. $callback = $arguments[1];
  938. }
  939. } elseif (is_callable($arguments[0])) {
  940. $callback = $arguments[0];
  941. }
  942. }
  943. $schema = $this->getOrCreate($type->getName(), $identifier);
  944. if (isset($callback)) {
  945. call_user_func($callback, $schema, $this);
  946. return $this;
  947. }
  948. return $schema;
  949. }
  950. throw new BadMethodCallException(sprintf('The method "%s" does not exist on class "%s".', $method, get_class($this)));
  951. }
  952. public function if(bool $condition, Closure $callback)
  953. {
  954. if ($condition) {
  955. $callback($this);
  956. }
  957. return $this;
  958. }
  959. public function add(Type $schema, string $identifier = self::IDENTIFIER_DEFAULT): self
  960. {
  961. $type = get_class($schema);
  962. if ($this->has($type, $identifier)) {
  963. throw new TypeAlreadyInGraph(sprintf('The graph already has an item of type "%s" with identifier "%s".', $type, $identifier));
  964. }
  965. return $this->set($schema, $identifier);
  966. }
  967. public function has(string $type, string $identifier = self::IDENTIFIER_DEFAULT): bool
  968. {
  969. return array_key_exists($type, $this->nodes) && array_key_exists($identifier, $this->nodes[$type]);
  970. }
  971. public function set(Type $schema, string $identifier = self::IDENTIFIER_DEFAULT)
  972. {
  973. $this->nodes[get_class($schema)][$identifier] = $schema;
  974. return $this;
  975. }
  976. public function get(string $type, string $identifier = self::IDENTIFIER_DEFAULT): Type
  977. {
  978. if (! $this->has($type, $identifier)) {
  979. throw new TypeNotInGraph(sprintf('The graph does not have an item of type "%s" with identifier "%s".', $type, $identifier));
  980. }
  981. return $this->nodes[$type][$identifier];
  982. }
  983. public function getOrCreate(string $type, string $identifier = self::IDENTIFIER_DEFAULT): Type
  984. {
  985. if (! is_subclass_of($type, Type::class)) {
  986. throw new InvalidType(sprintf('The given type "%s" is not an instance of "%s".', $type, Type::class));
  987. }
  988. if (! $this->has($type, $identifier)) {
  989. $this->set(new $type(), $identifier);
  990. }
  991. return $this->get($type, $identifier);
  992. }
  993. public function hide(string $type, ?string $identifier = self::IDENTIFIER_DEFAULT): self
  994. {
  995. // hide all
  996. if ($identifier === null) {
  997. $this->hidden[$type] = true;
  998. return $this;
  999. }
  1000. // hide single one if nothing configured
  1001. if (! isset($this->hidden[$type])) {
  1002. $this->hidden[$type][$identifier] = true;
  1003. return $this;
  1004. }
  1005. // hide single one only if all are not already hidden
  1006. if ($this->hidden[$type] !== true) {
  1007. $this->hidden[$type][$identifier] = true;
  1008. return $this;
  1009. }
  1010. return $this;
  1011. }
  1012. public function show(string $type, ?string $identifier = self::IDENTIFIER_DEFAULT): self
  1013. {
  1014. // show all
  1015. if ($identifier === null) {
  1016. $this->hidden[$type] = false;
  1017. return $this;
  1018. }
  1019. // show single one if nothing configured
  1020. if (! isset($this->hidden[$type])) {
  1021. $this->hidden[$type][$identifier] = false;
  1022. return $this;
  1023. }
  1024. // ignore if everything is shown
  1025. if ($this->hidden[$type] === false) {
  1026. return $this;
  1027. }
  1028. // show single one if identifier configuration exists
  1029. if (is_array($this->hidden[$type])) {
  1030. $this->hidden[$type][$identifier] = false;
  1031. return $this;
  1032. }
  1033. if ($this->hidden[$type] === true) {
  1034. $this->hidden[$type] = [];
  1035. // keep everything hidden and show only single one
  1036. if (isset($this->nodes[$type])) {
  1037. foreach ($this->nodes[$type] as $id => $node) {
  1038. $this->hidden[$type][$id] = $id !== $identifier;
  1039. }
  1040. return $this;
  1041. }
  1042. // show single one if no nodes exist
  1043. $this->hidden[$type][$identifier] = false;
  1044. return $this;
  1045. }
  1046. return $this;
  1047. }
  1048. public function toArray(): array
  1049. {
  1050. $nodes = $this->getNodes();
  1051. foreach ($this->hidden as $type => $hideAll) {
  1052. if (is_bool($hideAll) && $hideAll) {
  1053. unset($nodes[$type]);
  1054. continue;
  1055. }
  1056. if (is_array($hideAll)) {
  1057. foreach ($hideAll as $identifier => $hide) {
  1058. if (is_bool($hide) && $hide) {
  1059. unset($nodes[$type][$identifier]);
  1060. }
  1061. }
  1062. }
  1063. }
  1064. $nodes = array_reduce($nodes, function (array $carry, array $types) {
  1065. return array_merge($carry, array_values($types));
  1066. }, []);
  1067. return [
  1068. '@context' => $this->getContext(),
  1069. '@graph' => $this->serializeNode(array_values($nodes)),
  1070. ];
  1071. }
  1072. protected function serializeNode($node)
  1073. {
  1074. if (is_array($node)) {
  1075. return array_map([$this, 'serializeNode'], array_values($node));
  1076. }
  1077. if ($node instanceof Type) {
  1078. $node = $node->toArray();
  1079. unset($node['@context']);
  1080. }
  1081. return $node;
  1082. }
  1083. public function getNodes(): array
  1084. {
  1085. return $this->nodes;
  1086. }
  1087. public function getContext(): string
  1088. {
  1089. return $this->context ?? 'https://schema.org';
  1090. }
  1091. public function toScript(): string
  1092. {
  1093. return '<script type="application/ld+json">'.json_encode($this, JSON_UNESCAPED_UNICODE).'</script>';
  1094. }
  1095. public function jsonSerialize()
  1096. {
  1097. return $this->toArray();
  1098. }
  1099. public function __toString(): string
  1100. {
  1101. return $this->toScript();
  1102. }
  1103. protected function getTypeAndIdentifier(string $key): array
  1104. {
  1105. if (strpos($key, '.') === false) {
  1106. return [$key, self::IDENTIFIER_DEFAULT];
  1107. }
  1108. return explode('.', $key);
  1109. }
  1110. public function offsetExists($offset)
  1111. {
  1112. [$type, $identifier] = $this->getTypeAndIdentifier($offset);
  1113. return $this->has($type, $identifier);
  1114. }
  1115. public function offsetGet($offset)
  1116. {
  1117. [$type, $identifier] = $this->getTypeAndIdentifier($offset);
  1118. return $this->get($type, $identifier);
  1119. }
  1120. public function offsetSet($offset, $value)
  1121. {
  1122. $identifier = $offset;
  1123. if (strpos($offset, '.') !== false) {
  1124. [$type, $identifier] = $this->getTypeAndIdentifier($offset);
  1125. }
  1126. $this->set($value, $identifier);
  1127. }
  1128. public function offsetUnset($offset)
  1129. {
  1130. [$type, $identifier] = $this->getTypeAndIdentifier($offset);
  1131. unset($this->nodes[$type][$identifier]);
  1132. }
  1133. }