From c1e91afb422ba0b2cbdb7b13ef8e1b1aa3ddf45d Mon Sep 17 00:00:00 2001 From: David Valentine Date: Mon, 17 Apr 2023 11:18:52 -0700 Subject: [PATCH 01/33] Update VERSION --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 5e333f9c..2251dc3e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.0.8 +v3.0.9 From a25bc502c494c5411bf06f8c98741aff56122473 Mon Sep 17 00:00:00 2001 From: Douglas Fils Date: Sat, 4 Mar 2023 16:46:13 -0600 Subject: [PATCH 02/33] remove dev_nanoprov tool not needed and some first prov edits --- tools/dev_nanoprov/jsonldcontext.json | 2636 ------------------------- tools/dev_nanoprov/main.go | 85 - tools/dev_nanoprov/test.json | 79 - 3 files changed, 2800 deletions(-) delete mode 100644 tools/dev_nanoprov/jsonldcontext.json delete mode 100644 tools/dev_nanoprov/main.go delete mode 100644 tools/dev_nanoprov/test.json diff --git a/tools/dev_nanoprov/jsonldcontext.json b/tools/dev_nanoprov/jsonldcontext.json deleted file mode 100644 index a232ea98..00000000 --- a/tools/dev_nanoprov/jsonldcontext.json +++ /dev/null @@ -1,2636 +0,0 @@ -{ - "@context": { - "type": "@type", - "id": "@id", - "HTML": { "@id": "rdf:HTML" }, - - "@vocab": "http://schema.org/", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "schema": "http://schema.org/", - "owl": "http://www.w3.org/2002/07/owl#", - "dc": "http://purl.org/dc/elements/1.1/", - "dct": "http://purl.org/dc/terms/", - "dctype": "http://purl.org/dc/dcmitype/", - "void": "http://rdfs.org/ns/void#", - "dcat": "http://www.w3.org/ns/dcat#", - "3DModel": {"@id": "schema:3DModel"}, - "AMRadioChannel": {"@id": "schema:AMRadioChannel"}, - "APIReference": {"@id": "schema:APIReference"}, - "Abdomen": {"@id": "schema:Abdomen"}, - "AboutPage": {"@id": "schema:AboutPage"}, - "AcceptAction": {"@id": "schema:AcceptAction"}, - "Accommodation": {"@id": "schema:Accommodation"}, - "AccountingService": {"@id": "schema:AccountingService"}, - "AchieveAction": {"@id": "schema:AchieveAction"}, - "Action": {"@id": "schema:Action"}, - "ActionAccessSpecification": {"@id": "schema:ActionAccessSpecification"}, - "ActionStatusType": {"@id": "schema:ActionStatusType"}, - "ActivateAction": {"@id": "schema:ActivateAction"}, - "ActivationFee": {"@id": "schema:ActivationFee"}, - "ActiveActionStatus": {"@id": "schema:ActiveActionStatus"}, - "ActiveNotRecruiting": {"@id": "schema:ActiveNotRecruiting"}, - "AddAction": {"@id": "schema:AddAction"}, - "AdministrativeArea": {"@id": "schema:AdministrativeArea"}, - "AdultEntertainment": {"@id": "schema:AdultEntertainment"}, - "AdvertiserContentArticle": {"@id": "schema:AdvertiserContentArticle"}, - "AerobicActivity": {"@id": "schema:AerobicActivity"}, - "AggregateOffer": {"@id": "schema:AggregateOffer"}, - "AggregateRating": {"@id": "schema:AggregateRating"}, - "AgreeAction": {"@id": "schema:AgreeAction"}, - "Airline": {"@id": "schema:Airline"}, - "Airport": {"@id": "schema:Airport"}, - "AlbumRelease": {"@id": "schema:AlbumRelease"}, - "AlignmentObject": {"@id": "schema:AlignmentObject"}, - "AllWheelDriveConfiguration": {"@id": "schema:AllWheelDriveConfiguration"}, - "AllocateAction": {"@id": "schema:AllocateAction"}, - "AmpStory": {"@id": "schema:AmpStory"}, - "AmusementPark": {"@id": "schema:AmusementPark"}, - "AnaerobicActivity": {"@id": "schema:AnaerobicActivity"}, - "AnalysisNewsArticle": {"@id": "schema:AnalysisNewsArticle"}, - "AnatomicalStructure": {"@id": "schema:AnatomicalStructure"}, - "AnatomicalSystem": {"@id": "schema:AnatomicalSystem"}, - "Anesthesia": {"@id": "schema:Anesthesia"}, - "AnimalShelter": {"@id": "schema:AnimalShelter"}, - "Answer": {"@id": "schema:Answer"}, - "Apartment": {"@id": "schema:Apartment"}, - "ApartmentComplex": {"@id": "schema:ApartmentComplex"}, - "Appearance": {"@id": "schema:Appearance"}, - "AppendAction": {"@id": "schema:AppendAction"}, - "ApplyAction": {"@id": "schema:ApplyAction"}, - "ApprovedIndication": {"@id": "schema:ApprovedIndication"}, - "Aquarium": {"@id": "schema:Aquarium"}, - "ArchiveComponent": {"@id": "schema:ArchiveComponent"}, - "ArchiveOrganization": {"@id": "schema:ArchiveOrganization"}, - "ArriveAction": {"@id": "schema:ArriveAction"}, - "ArtGallery": {"@id": "schema:ArtGallery"}, - "Artery": {"@id": "schema:Artery"}, - "Article": {"@id": "schema:Article"}, - "AskAction": {"@id": "schema:AskAction"}, - "AskPublicNewsArticle": {"@id": "schema:AskPublicNewsArticle"}, - "AssessAction": {"@id": "schema:AssessAction"}, - "AssignAction": {"@id": "schema:AssignAction"}, - "Atlas": {"@id": "schema:Atlas"}, - "Attorney": {"@id": "schema:Attorney"}, - "Audience": {"@id": "schema:Audience"}, - "AudioObject": {"@id": "schema:AudioObject"}, - "Audiobook": {"@id": "schema:Audiobook"}, - "AudiobookFormat": {"@id": "schema:AudiobookFormat"}, - "AuthenticContent": {"@id": "schema:AuthenticContent"}, - "AuthoritativeLegalValue": {"@id": "schema:AuthoritativeLegalValue"}, - "AuthorizeAction": {"@id": "schema:AuthorizeAction"}, - "AutoBodyShop": {"@id": "schema:AutoBodyShop"}, - "AutoDealer": {"@id": "schema:AutoDealer"}, - "AutoPartsStore": {"@id": "schema:AutoPartsStore"}, - "AutoRental": {"@id": "schema:AutoRental"}, - "AutoRepair": {"@id": "schema:AutoRepair"}, - "AutoWash": {"@id": "schema:AutoWash"}, - "AutomatedTeller": {"@id": "schema:AutomatedTeller"}, - "AutomotiveBusiness": {"@id": "schema:AutomotiveBusiness"}, - "Ayurvedic": {"@id": "schema:Ayurvedic"}, - "BackgroundNewsArticle": {"@id": "schema:BackgroundNewsArticle"}, - "Bacteria": {"@id": "schema:Bacteria"}, - "Bakery": {"@id": "schema:Bakery"}, - "Balance": {"@id": "schema:Balance"}, - "BankAccount": {"@id": "schema:BankAccount"}, - "BankOrCreditUnion": {"@id": "schema:BankOrCreditUnion"}, - "BarOrPub": {"@id": "schema:BarOrPub"}, - "Barcode": {"@id": "schema:Barcode"}, - "BasicIncome": {"@id": "schema:BasicIncome"}, - "Beach": {"@id": "schema:Beach"}, - "BeautySalon": {"@id": "schema:BeautySalon"}, - "BedAndBreakfast": {"@id": "schema:BedAndBreakfast"}, - "BedDetails": {"@id": "schema:BedDetails"}, - "BedType": {"@id": "schema:BedType"}, - "BefriendAction": {"@id": "schema:BefriendAction"}, - "BenefitsHealthAspect": {"@id": "schema:BenefitsHealthAspect"}, - "BikeStore": {"@id": "schema:BikeStore"}, - "Blog": {"@id": "schema:Blog"}, - "BlogPosting": {"@id": "schema:BlogPosting"}, - "BloodTest": {"@id": "schema:BloodTest"}, - "BoardingPolicyType": {"@id": "schema:BoardingPolicyType"}, - "BoatReservation": {"@id": "schema:BoatReservation"}, - "BoatTerminal": {"@id": "schema:BoatTerminal"}, - "BoatTrip": {"@id": "schema:BoatTrip"}, - "BodyOfWater": {"@id": "schema:BodyOfWater"}, - "Bone": {"@id": "schema:Bone"}, - "Book": {"@id": "schema:Book"}, - "BookFormatType": {"@id": "schema:BookFormatType"}, - "BookSeries": {"@id": "schema:BookSeries"}, - "BookStore": {"@id": "schema:BookStore"}, - "BookmarkAction": {"@id": "schema:BookmarkAction"}, - "Boolean": {"@id": "schema:Boolean"}, - "BorrowAction": {"@id": "schema:BorrowAction"}, - "BowlingAlley": {"@id": "schema:BowlingAlley"}, - "BrainStructure": {"@id": "schema:BrainStructure"}, - "Brand": {"@id": "schema:Brand"}, - "BreadcrumbList": {"@id": "schema:BreadcrumbList"}, - "Brewery": {"@id": "schema:Brewery"}, - "Bridge": {"@id": "schema:Bridge"}, - "BroadcastChannel": {"@id": "schema:BroadcastChannel"}, - "BroadcastEvent": {"@id": "schema:BroadcastEvent"}, - "BroadcastFrequencySpecification": {"@id": "schema:BroadcastFrequencySpecification"}, - "BroadcastRelease": {"@id": "schema:BroadcastRelease"}, - "BroadcastService": {"@id": "schema:BroadcastService"}, - "BrokerageAccount": {"@id": "schema:BrokerageAccount"}, - "BuddhistTemple": {"@id": "schema:BuddhistTemple"}, - "BusOrCoach": {"@id": "schema:BusOrCoach"}, - "BusReservation": {"@id": "schema:BusReservation"}, - "BusStation": {"@id": "schema:BusStation"}, - "BusStop": {"@id": "schema:BusStop"}, - "BusTrip": {"@id": "schema:BusTrip"}, - "BusinessAudience": {"@id": "schema:BusinessAudience"}, - "BusinessEntityType": {"@id": "schema:BusinessEntityType"}, - "BusinessEvent": {"@id": "schema:BusinessEvent"}, - "BusinessFunction": {"@id": "schema:BusinessFunction"}, - "BusinessSupport": {"@id": "schema:BusinessSupport"}, - "BuyAction": {"@id": "schema:BuyAction"}, - "CDCPMDRecord": {"@id": "schema:CDCPMDRecord"}, - "CDFormat": {"@id": "schema:CDFormat"}, - "CT": {"@id": "schema:CT"}, - "CableOrSatelliteService": {"@id": "schema:CableOrSatelliteService"}, - "CafeOrCoffeeShop": {"@id": "schema:CafeOrCoffeeShop"}, - "Campground": {"@id": "schema:Campground"}, - "CampingPitch": {"@id": "schema:CampingPitch"}, - "Canal": {"@id": "schema:Canal"}, - "CancelAction": {"@id": "schema:CancelAction"}, - "Car": {"@id": "schema:Car"}, - "CarUsageType": {"@id": "schema:CarUsageType"}, - "Cardiovascular": {"@id": "schema:Cardiovascular"}, - "CardiovascularExam": {"@id": "schema:CardiovascularExam"}, - "CaseSeries": {"@id": "schema:CaseSeries"}, - "Casino": {"@id": "schema:Casino"}, - "CassetteFormat": {"@id": "schema:CassetteFormat"}, - "CategoryCode": {"@id": "schema:CategoryCode"}, - "CategoryCodeSet": {"@id": "schema:CategoryCodeSet"}, - "CatholicChurch": {"@id": "schema:CatholicChurch"}, - "CausesHealthAspect": {"@id": "schema:CausesHealthAspect"}, - "Cemetery": {"@id": "schema:Cemetery"}, - "Chapter": {"@id": "schema:Chapter"}, - "CharitableIncorporatedOrganization": {"@id": "schema:CharitableIncorporatedOrganization"}, - "CheckAction": {"@id": "schema:CheckAction"}, - "CheckInAction": {"@id": "schema:CheckInAction"}, - "CheckOutAction": {"@id": "schema:CheckOutAction"}, - "CheckoutPage": {"@id": "schema:CheckoutPage"}, - "ChildCare": {"@id": "schema:ChildCare"}, - "ChildrensEvent": {"@id": "schema:ChildrensEvent"}, - "Chiropractic": {"@id": "schema:Chiropractic"}, - "ChooseAction": {"@id": "schema:ChooseAction"}, - "Church": {"@id": "schema:Church"}, - "City": {"@id": "schema:City"}, - "CityHall": {"@id": "schema:CityHall"}, - "CivicStructure": {"@id": "schema:CivicStructure"}, - "Claim": {"@id": "schema:Claim"}, - "ClaimReview": {"@id": "schema:ClaimReview"}, - "Class": {"@id": "schema:Class"}, - "CleaningFee": {"@id": "schema:CleaningFee"}, - "Clinician": {"@id": "schema:Clinician"}, - "Clip": {"@id": "schema:Clip"}, - "ClothingStore": {"@id": "schema:ClothingStore"}, - "CoOp": {"@id": "schema:CoOp"}, - "Code": {"@id": "schema:Code"}, - "CohortStudy": {"@id": "schema:CohortStudy"}, - "Collection": {"@id": "schema:Collection"}, - "CollectionPage": {"@id": "schema:CollectionPage"}, - "CollegeOrUniversity": {"@id": "schema:CollegeOrUniversity"}, - "ComedyClub": {"@id": "schema:ComedyClub"}, - "ComedyEvent": {"@id": "schema:ComedyEvent"}, - "ComicCoverArt": {"@id": "schema:ComicCoverArt"}, - "ComicIssue": {"@id": "schema:ComicIssue"}, - "ComicSeries": {"@id": "schema:ComicSeries"}, - "ComicStory": {"@id": "schema:ComicStory"}, - "Comment": {"@id": "schema:Comment"}, - "CommentAction": {"@id": "schema:CommentAction"}, - "CommentPermission": {"@id": "schema:CommentPermission"}, - "CommunicateAction": {"@id": "schema:CommunicateAction"}, - "CommunityHealth": {"@id": "schema:CommunityHealth"}, - "CompilationAlbum": {"@id": "schema:CompilationAlbum"}, - "CompleteDataFeed": {"@id": "schema:CompleteDataFeed"}, - "Completed": {"@id": "schema:Completed"}, - "CompletedActionStatus": {"@id": "schema:CompletedActionStatus"}, - "CompoundPriceSpecification": {"@id": "schema:CompoundPriceSpecification"}, - "ComputerLanguage": {"@id": "schema:ComputerLanguage"}, - "ComputerStore": {"@id": "schema:ComputerStore"}, - "ConfirmAction": {"@id": "schema:ConfirmAction"}, - "Consortium": {"@id": "schema:Consortium"}, - "ConsumeAction": {"@id": "schema:ConsumeAction"}, - "ContactPage": {"@id": "schema:ContactPage"}, - "ContactPoint": {"@id": "schema:ContactPoint"}, - "ContactPointOption": {"@id": "schema:ContactPointOption"}, - "ContagiousnessHealthAspect": {"@id": "schema:ContagiousnessHealthAspect"}, - "Continent": {"@id": "schema:Continent"}, - "ControlAction": {"@id": "schema:ControlAction"}, - "ConvenienceStore": {"@id": "schema:ConvenienceStore"}, - "Conversation": {"@id": "schema:Conversation"}, - "CookAction": {"@id": "schema:CookAction"}, - "Corporation": {"@id": "schema:Corporation"}, - "CorrectionComment": {"@id": "schema:CorrectionComment"}, - "Country": {"@id": "schema:Country"}, - "Course": {"@id": "schema:Course"}, - "CourseInstance": {"@id": "schema:CourseInstance"}, - "Courthouse": {"@id": "schema:Courthouse"}, - "CoverArt": {"@id": "schema:CoverArt"}, - "CovidTestingFacility": {"@id": "schema:CovidTestingFacility"}, - "CreateAction": {"@id": "schema:CreateAction"}, - "CreativeWork": {"@id": "schema:CreativeWork"}, - "CreativeWorkSeason": {"@id": "schema:CreativeWorkSeason"}, - "CreativeWorkSeries": {"@id": "schema:CreativeWorkSeries"}, - "CreditCard": {"@id": "schema:CreditCard"}, - "Crematorium": {"@id": "schema:Crematorium"}, - "CriticReview": {"@id": "schema:CriticReview"}, - "CrossSectional": {"@id": "schema:CrossSectional"}, - "CssSelectorType": {"@id": "schema:CssSelectorType"}, - "CurrencyConversionService": {"@id": "schema:CurrencyConversionService"}, - "DDxElement": {"@id": "schema:DDxElement"}, - "DJMixAlbum": {"@id": "schema:DJMixAlbum"}, - "DVDFormat": {"@id": "schema:DVDFormat"}, - "DamagedCondition": {"@id": "schema:DamagedCondition"}, - "DanceEvent": {"@id": "schema:DanceEvent"}, - "DanceGroup": {"@id": "schema:DanceGroup"}, - "DataCatalog": {"@id": "schema:DataCatalog"}, - "DataDownload": {"@id": "schema:DataDownload"}, - "DataFeed": {"@id": "schema:DataFeed"}, - "DataFeedItem": {"@id": "schema:DataFeedItem"}, - "DataType": {"@id": "schema:DataType"}, - "Dataset": {"@id": "schema:Dataset"}, - "Date": {"@id": "schema:Date"}, - "DateTime": {"@id": "schema:DateTime"}, - "DatedMoneySpecification": {"@id": "schema:DatedMoneySpecification"}, - "DayOfWeek": {"@id": "schema:DayOfWeek"}, - "DaySpa": {"@id": "schema:DaySpa"}, - "DeactivateAction": {"@id": "schema:DeactivateAction"}, - "DefenceEstablishment": {"@id": "schema:DefenceEstablishment"}, - "DefinedRegion": {"@id": "schema:DefinedRegion"}, - "DefinedTerm": {"@id": "schema:DefinedTerm"}, - "DefinedTermSet": {"@id": "schema:DefinedTermSet"}, - "DefinitiveLegalValue": {"@id": "schema:DefinitiveLegalValue"}, - "DeleteAction": {"@id": "schema:DeleteAction"}, - "DeliveryChargeSpecification": {"@id": "schema:DeliveryChargeSpecification"}, - "DeliveryEvent": {"@id": "schema:DeliveryEvent"}, - "DeliveryMethod": {"@id": "schema:DeliveryMethod"}, - "DeliveryTimeSettings": {"@id": "schema:DeliveryTimeSettings"}, - "Demand": {"@id": "schema:Demand"}, - "DemoAlbum": {"@id": "schema:DemoAlbum"}, - "Dentist": {"@id": "schema:Dentist"}, - "Dentistry": {"@id": "schema:Dentistry"}, - "DepartAction": {"@id": "schema:DepartAction"}, - "DepartmentStore": {"@id": "schema:DepartmentStore"}, - "DepositAccount": {"@id": "schema:DepositAccount"}, - "Dermatologic": {"@id": "schema:Dermatologic"}, - "Dermatology": {"@id": "schema:Dermatology"}, - "DiabeticDiet": {"@id": "schema:DiabeticDiet"}, - "Diagnostic": {"@id": "schema:Diagnostic"}, - "DiagnosticLab": {"@id": "schema:DiagnosticLab"}, - "DiagnosticProcedure": {"@id": "schema:DiagnosticProcedure"}, - "Diet": {"@id": "schema:Diet"}, - "DietNutrition": {"@id": "schema:DietNutrition"}, - "DietarySupplement": {"@id": "schema:DietarySupplement"}, - "DigitalAudioTapeFormat": {"@id": "schema:DigitalAudioTapeFormat"}, - "DigitalDocument": {"@id": "schema:DigitalDocument"}, - "DigitalDocumentPermission": {"@id": "schema:DigitalDocumentPermission"}, - "DigitalDocumentPermissionType": {"@id": "schema:DigitalDocumentPermissionType"}, - "DigitalFormat": {"@id": "schema:DigitalFormat"}, - "DisabilitySupport": {"@id": "schema:DisabilitySupport"}, - "DisagreeAction": {"@id": "schema:DisagreeAction"}, - "Discontinued": {"@id": "schema:Discontinued"}, - "DiscoverAction": {"@id": "schema:DiscoverAction"}, - "DiscussionForumPosting": {"@id": "schema:DiscussionForumPosting"}, - "DislikeAction": {"@id": "schema:DislikeAction"}, - "Distance": {"@id": "schema:Distance"}, - "DistanceFee": {"@id": "schema:DistanceFee"}, - "Distillery": {"@id": "schema:Distillery"}, - "DonateAction": {"@id": "schema:DonateAction"}, - "DoseSchedule": {"@id": "schema:DoseSchedule"}, - "DoubleBlindedTrial": {"@id": "schema:DoubleBlindedTrial"}, - "DownloadAction": {"@id": "schema:DownloadAction"}, - "Downpayment": {"@id": "schema:Downpayment"}, - "DrawAction": {"@id": "schema:DrawAction"}, - "Drawing": {"@id": "schema:Drawing"}, - "DrinkAction": {"@id": "schema:DrinkAction"}, - "DriveWheelConfigurationValue": {"@id": "schema:DriveWheelConfigurationValue"}, - "DrivingSchoolVehicleUsage": {"@id": "schema:DrivingSchoolVehicleUsage"}, - "Drug": {"@id": "schema:Drug"}, - "DrugClass": {"@id": "schema:DrugClass"}, - "DrugCost": {"@id": "schema:DrugCost"}, - "DrugCostCategory": {"@id": "schema:DrugCostCategory"}, - "DrugLegalStatus": {"@id": "schema:DrugLegalStatus"}, - "DrugPregnancyCategory": {"@id": "schema:DrugPregnancyCategory"}, - "DrugPrescriptionStatus": {"@id": "schema:DrugPrescriptionStatus"}, - "DrugStrength": {"@id": "schema:DrugStrength"}, - "DryCleaningOrLaundry": {"@id": "schema:DryCleaningOrLaundry"}, - "Duration": {"@id": "schema:Duration"}, - "EBook": {"@id": "schema:EBook"}, - "EPRelease": {"@id": "schema:EPRelease"}, - "EUEnergyEfficiencyCategoryA": {"@id": "schema:EUEnergyEfficiencyCategoryA"}, - "EUEnergyEfficiencyCategoryA1Plus": {"@id": "schema:EUEnergyEfficiencyCategoryA1Plus"}, - "EUEnergyEfficiencyCategoryA2Plus": {"@id": "schema:EUEnergyEfficiencyCategoryA2Plus"}, - "EUEnergyEfficiencyCategoryA3Plus": {"@id": "schema:EUEnergyEfficiencyCategoryA3Plus"}, - "EUEnergyEfficiencyCategoryB": {"@id": "schema:EUEnergyEfficiencyCategoryB"}, - "EUEnergyEfficiencyCategoryC": {"@id": "schema:EUEnergyEfficiencyCategoryC"}, - "EUEnergyEfficiencyCategoryD": {"@id": "schema:EUEnergyEfficiencyCategoryD"}, - "EUEnergyEfficiencyCategoryE": {"@id": "schema:EUEnergyEfficiencyCategoryE"}, - "EUEnergyEfficiencyCategoryF": {"@id": "schema:EUEnergyEfficiencyCategoryF"}, - "EUEnergyEfficiencyCategoryG": {"@id": "schema:EUEnergyEfficiencyCategoryG"}, - "EUEnergyEfficiencyEnumeration": {"@id": "schema:EUEnergyEfficiencyEnumeration"}, - "Ear": {"@id": "schema:Ear"}, - "EatAction": {"@id": "schema:EatAction"}, - "EducationEvent": {"@id": "schema:EducationEvent"}, - "EducationalAudience": {"@id": "schema:EducationalAudience"}, - "EducationalOccupationalCredential": {"@id": "schema:EducationalOccupationalCredential"}, - "EducationalOccupationalProgram": {"@id": "schema:EducationalOccupationalProgram"}, - "EducationalOrganization": {"@id": "schema:EducationalOrganization"}, - "Electrician": {"@id": "schema:Electrician"}, - "ElectronicsStore": {"@id": "schema:ElectronicsStore"}, - "ElementarySchool": {"@id": "schema:ElementarySchool"}, - "EmailMessage": {"@id": "schema:EmailMessage"}, - "Embassy": {"@id": "schema:Embassy"}, - "Emergency": {"@id": "schema:Emergency"}, - "EmergencyService": {"@id": "schema:EmergencyService"}, - "EmployeeRole": {"@id": "schema:EmployeeRole"}, - "EmployerAggregateRating": {"@id": "schema:EmployerAggregateRating"}, - "EmployerReview": {"@id": "schema:EmployerReview"}, - "EmploymentAgency": {"@id": "schema:EmploymentAgency"}, - "Endocrine": {"@id": "schema:Endocrine"}, - "EndorseAction": {"@id": "schema:EndorseAction"}, - "EndorsementRating": {"@id": "schema:EndorsementRating"}, - "Energy": {"@id": "schema:Energy"}, - "EnergyConsumptionDetails": {"@id": "schema:EnergyConsumptionDetails"}, - "EnergyEfficiencyEnumeration": {"@id": "schema:EnergyEfficiencyEnumeration"}, - "EnergyStarCertified": {"@id": "schema:EnergyStarCertified"}, - "EnergyStarEnergyEfficiencyEnumeration": {"@id": "schema:EnergyStarEnergyEfficiencyEnumeration"}, - "EngineSpecification": {"@id": "schema:EngineSpecification"}, - "EnrollingByInvitation": {"@id": "schema:EnrollingByInvitation"}, - "EntertainmentBusiness": {"@id": "schema:EntertainmentBusiness"}, - "EntryPoint": {"@id": "schema:EntryPoint"}, - "Enumeration": {"@id": "schema:Enumeration"}, - "Episode": {"@id": "schema:Episode"}, - "Event": {"@id": "schema:Event"}, - "EventAttendanceModeEnumeration": {"@id": "schema:EventAttendanceModeEnumeration"}, - "EventCancelled": {"@id": "schema:EventCancelled"}, - "EventMovedOnline": {"@id": "schema:EventMovedOnline"}, - "EventPostponed": {"@id": "schema:EventPostponed"}, - "EventRescheduled": {"@id": "schema:EventRescheduled"}, - "EventReservation": {"@id": "schema:EventReservation"}, - "EventScheduled": {"@id": "schema:EventScheduled"}, - "EventSeries": {"@id": "schema:EventSeries"}, - "EventStatusType": {"@id": "schema:EventStatusType"}, - "EventVenue": {"@id": "schema:EventVenue"}, - "EvidenceLevelA": {"@id": "schema:EvidenceLevelA"}, - "EvidenceLevelB": {"@id": "schema:EvidenceLevelB"}, - "EvidenceLevelC": {"@id": "schema:EvidenceLevelC"}, - "ExchangeRateSpecification": {"@id": "schema:ExchangeRateSpecification"}, - "ExchangeRefund": {"@id": "schema:ExchangeRefund"}, - "ExerciseAction": {"@id": "schema:ExerciseAction"}, - "ExerciseGym": {"@id": "schema:ExerciseGym"}, - "ExercisePlan": {"@id": "schema:ExercisePlan"}, - "ExhibitionEvent": {"@id": "schema:ExhibitionEvent"}, - "Eye": {"@id": "schema:Eye"}, - "FAQPage": {"@id": "schema:FAQPage"}, - "FDAcategoryA": {"@id": "schema:FDAcategoryA"}, - "FDAcategoryB": {"@id": "schema:FDAcategoryB"}, - "FDAcategoryC": {"@id": "schema:FDAcategoryC"}, - "FDAcategoryD": {"@id": "schema:FDAcategoryD"}, - "FDAcategoryX": {"@id": "schema:FDAcategoryX"}, - "FDAnotEvaluated": {"@id": "schema:FDAnotEvaluated"}, - "FMRadioChannel": {"@id": "schema:FMRadioChannel"}, - "FailedActionStatus": {"@id": "schema:FailedActionStatus"}, - "False": {"@id": "schema:False"}, - "FastFoodRestaurant": {"@id": "schema:FastFoodRestaurant"}, - "Female": {"@id": "schema:Female"}, - "Festival": {"@id": "schema:Festival"}, - "FilmAction": {"@id": "schema:FilmAction"}, - "FinancialProduct": {"@id": "schema:FinancialProduct"}, - "FinancialService": {"@id": "schema:FinancialService"}, - "FindAction": {"@id": "schema:FindAction"}, - "FireStation": {"@id": "schema:FireStation"}, - "Flexibility": {"@id": "schema:Flexibility"}, - "Flight": {"@id": "schema:Flight"}, - "FlightReservation": {"@id": "schema:FlightReservation"}, - "Float": {"@id": "schema:Float"}, - "FloorPlan": {"@id": "schema:FloorPlan"}, - "Florist": {"@id": "schema:Florist"}, - "FollowAction": {"@id": "schema:FollowAction"}, - "FoodEstablishment": {"@id": "schema:FoodEstablishment"}, - "FoodEstablishmentReservation": {"@id": "schema:FoodEstablishmentReservation"}, - "FoodEvent": {"@id": "schema:FoodEvent"}, - "FoodService": {"@id": "schema:FoodService"}, - "FourWheelDriveConfiguration": {"@id": "schema:FourWheelDriveConfiguration"}, - "Friday": {"@id": "schema:Friday"}, - "FrontWheelDriveConfiguration": {"@id": "schema:FrontWheelDriveConfiguration"}, - "FullRefund": {"@id": "schema:FullRefund"}, - "FundingAgency": {"@id": "schema:FundingAgency"}, - "FundingScheme": {"@id": "schema:FundingScheme"}, - "Fungus": {"@id": "schema:Fungus"}, - "FurnitureStore": {"@id": "schema:FurnitureStore"}, - "Game": {"@id": "schema:Game"}, - "GamePlayMode": {"@id": "schema:GamePlayMode"}, - "GameServer": {"@id": "schema:GameServer"}, - "GameServerStatus": {"@id": "schema:GameServerStatus"}, - "GardenStore": {"@id": "schema:GardenStore"}, - "GasStation": {"@id": "schema:GasStation"}, - "Gastroenterologic": {"@id": "schema:Gastroenterologic"}, - "GatedResidenceCommunity": {"@id": "schema:GatedResidenceCommunity"}, - "GenderType": {"@id": "schema:GenderType"}, - "GeneralContractor": {"@id": "schema:GeneralContractor"}, - "Genetic": {"@id": "schema:Genetic"}, - "Genitourinary": {"@id": "schema:Genitourinary"}, - "GeoCircle": {"@id": "schema:GeoCircle"}, - "GeoCoordinates": {"@id": "schema:GeoCoordinates"}, - "GeoShape": {"@id": "schema:GeoShape"}, - "GeospatialGeometry": {"@id": "schema:GeospatialGeometry"}, - "Geriatric": {"@id": "schema:Geriatric"}, - "GiveAction": {"@id": "schema:GiveAction"}, - "GlutenFreeDiet": {"@id": "schema:GlutenFreeDiet"}, - "GolfCourse": {"@id": "schema:GolfCourse"}, - "GovernmentBenefitsType": {"@id": "schema:GovernmentBenefitsType"}, - "GovernmentBuilding": {"@id": "schema:GovernmentBuilding"}, - "GovernmentOffice": {"@id": "schema:GovernmentOffice"}, - "GovernmentOrganization": {"@id": "schema:GovernmentOrganization"}, - "GovernmentPermit": {"@id": "schema:GovernmentPermit"}, - "GovernmentService": {"@id": "schema:GovernmentService"}, - "Grant": {"@id": "schema:Grant"}, - "GraphicNovel": {"@id": "schema:GraphicNovel"}, - "GroceryStore": {"@id": "schema:GroceryStore"}, - "GroupBoardingPolicy": {"@id": "schema:GroupBoardingPolicy"}, - "Guide": {"@id": "schema:Guide"}, - "Gynecologic": {"@id": "schema:Gynecologic"}, - "HVACBusiness": {"@id": "schema:HVACBusiness"}, - "Hackathon": {"@id": "schema:Hackathon"}, - "HairSalon": {"@id": "schema:HairSalon"}, - "HalalDiet": {"@id": "schema:HalalDiet"}, - "Hardcover": {"@id": "schema:Hardcover"}, - "HardwareStore": {"@id": "schema:HardwareStore"}, - "Head": {"@id": "schema:Head"}, - "HealthAndBeautyBusiness": {"@id": "schema:HealthAndBeautyBusiness"}, - "HealthAspectEnumeration": {"@id": "schema:HealthAspectEnumeration"}, - "HealthCare": {"@id": "schema:HealthCare"}, - "HealthClub": {"@id": "schema:HealthClub"}, - "HealthInsurancePlan": {"@id": "schema:HealthInsurancePlan"}, - "HealthPlanCostSharingSpecification": {"@id": "schema:HealthPlanCostSharingSpecification"}, - "HealthPlanFormulary": {"@id": "schema:HealthPlanFormulary"}, - "HealthPlanNetwork": {"@id": "schema:HealthPlanNetwork"}, - "HealthTopicContent": {"@id": "schema:HealthTopicContent"}, - "HearingImpairedSupported": {"@id": "schema:HearingImpairedSupported"}, - "Hematologic": {"@id": "schema:Hematologic"}, - "HighSchool": {"@id": "schema:HighSchool"}, - "HinduDiet": {"@id": "schema:HinduDiet"}, - "HinduTemple": {"@id": "schema:HinduTemple"}, - "HobbyShop": {"@id": "schema:HobbyShop"}, - "HomeAndConstructionBusiness": {"@id": "schema:HomeAndConstructionBusiness"}, - "HomeGoodsStore": {"@id": "schema:HomeGoodsStore"}, - "Homeopathic": {"@id": "schema:Homeopathic"}, - "Hospital": {"@id": "schema:Hospital"}, - "Hostel": {"@id": "schema:Hostel"}, - "Hotel": {"@id": "schema:Hotel"}, - "HotelRoom": {"@id": "schema:HotelRoom"}, - "House": {"@id": "schema:House"}, - "HousePainter": {"@id": "schema:HousePainter"}, - "HowOrWhereHealthAspect": {"@id": "schema:HowOrWhereHealthAspect"}, - "HowTo": {"@id": "schema:HowTo"}, - "HowToDirection": {"@id": "schema:HowToDirection"}, - "HowToItem": {"@id": "schema:HowToItem"}, - "HowToSection": {"@id": "schema:HowToSection"}, - "HowToStep": {"@id": "schema:HowToStep"}, - "HowToSupply": {"@id": "schema:HowToSupply"}, - "HowToTip": {"@id": "schema:HowToTip"}, - "HowToTool": {"@id": "schema:HowToTool"}, - "HyperToc": {"@id": "schema:HyperToc"}, - "HyperTocEntry": {"@id": "schema:HyperTocEntry"}, - "IceCreamShop": {"@id": "schema:IceCreamShop"}, - "IgnoreAction": {"@id": "schema:IgnoreAction"}, - "ImageGallery": {"@id": "schema:ImageGallery"}, - "ImageObject": {"@id": "schema:ImageObject"}, - "ImagingTest": {"@id": "schema:ImagingTest"}, - "InForce": {"@id": "schema:InForce"}, - "InStock": {"@id": "schema:InStock"}, - "InStoreOnly": {"@id": "schema:InStoreOnly"}, - "IndividualProduct": {"@id": "schema:IndividualProduct"}, - "Infectious": {"@id": "schema:Infectious"}, - "InfectiousAgentClass": {"@id": "schema:InfectiousAgentClass"}, - "InfectiousDisease": {"@id": "schema:InfectiousDisease"}, - "InformAction": {"@id": "schema:InformAction"}, - "InsertAction": {"@id": "schema:InsertAction"}, - "InstallAction": {"@id": "schema:InstallAction"}, - "Installment": {"@id": "schema:Installment"}, - "InsuranceAgency": {"@id": "schema:InsuranceAgency"}, - "Intangible": {"@id": "schema:Intangible"}, - "Integer": {"@id": "schema:Integer"}, - "InteractAction": {"@id": "schema:InteractAction"}, - "InteractionCounter": {"@id": "schema:InteractionCounter"}, - "InternationalTrial": {"@id": "schema:InternationalTrial"}, - "InternetCafe": {"@id": "schema:InternetCafe"}, - "InvestmentFund": {"@id": "schema:InvestmentFund"}, - "InvestmentOrDeposit": {"@id": "schema:InvestmentOrDeposit"}, - "InviteAction": {"@id": "schema:InviteAction"}, - "Invoice": {"@id": "schema:Invoice"}, - "InvoicePrice": {"@id": "schema:InvoicePrice"}, - "ItemAvailability": {"@id": "schema:ItemAvailability"}, - "ItemList": {"@id": "schema:ItemList"}, - "ItemListOrderAscending": {"@id": "schema:ItemListOrderAscending"}, - "ItemListOrderDescending": {"@id": "schema:ItemListOrderDescending"}, - "ItemListOrderType": {"@id": "schema:ItemListOrderType"}, - "ItemListUnordered": {"@id": "schema:ItemListUnordered"}, - "ItemPage": {"@id": "schema:ItemPage"}, - "JewelryStore": {"@id": "schema:JewelryStore"}, - "JobPosting": {"@id": "schema:JobPosting"}, - "JoinAction": {"@id": "schema:JoinAction"}, - "Joint": {"@id": "schema:Joint"}, - "KosherDiet": {"@id": "schema:KosherDiet"}, - "LaboratoryScience": {"@id": "schema:LaboratoryScience"}, - "LakeBodyOfWater": {"@id": "schema:LakeBodyOfWater"}, - "Landform": {"@id": "schema:Landform"}, - "LandmarksOrHistoricalBuildings": {"@id": "schema:LandmarksOrHistoricalBuildings"}, - "Language": {"@id": "schema:Language"}, - "LaserDiscFormat": {"@id": "schema:LaserDiscFormat"}, - "LearningResource": {"@id": "schema:LearningResource"}, - "LeaveAction": {"@id": "schema:LeaveAction"}, - "LeftHandDriving": {"@id": "schema:LeftHandDriving"}, - "LegalForceStatus": {"@id": "schema:LegalForceStatus"}, - "LegalService": {"@id": "schema:LegalService"}, - "LegalValueLevel": {"@id": "schema:LegalValueLevel"}, - "Legislation": {"@id": "schema:Legislation"}, - "LegislationObject": {"@id": "schema:LegislationObject"}, - "LegislativeBuilding": {"@id": "schema:LegislativeBuilding"}, - "LeisureTimeActivity": {"@id": "schema:LeisureTimeActivity"}, - "LendAction": {"@id": "schema:LendAction"}, - "Library": {"@id": "schema:Library"}, - "LibrarySystem": {"@id": "schema:LibrarySystem"}, - "LifestyleModification": {"@id": "schema:LifestyleModification"}, - "Ligament": {"@id": "schema:Ligament"}, - "LikeAction": {"@id": "schema:LikeAction"}, - "LimitedAvailability": {"@id": "schema:LimitedAvailability"}, - "LimitedByGuaranteeCharity": {"@id": "schema:LimitedByGuaranteeCharity"}, - "LinkRole": {"@id": "schema:LinkRole"}, - "LiquorStore": {"@id": "schema:LiquorStore"}, - "ListItem": {"@id": "schema:ListItem"}, - "ListPrice": {"@id": "schema:ListPrice"}, - "ListenAction": {"@id": "schema:ListenAction"}, - "LiteraryEvent": {"@id": "schema:LiteraryEvent"}, - "LiveAlbum": {"@id": "schema:LiveAlbum"}, - "LiveBlogPosting": {"@id": "schema:LiveBlogPosting"}, - "LivingWithHealthAspect": {"@id": "schema:LivingWithHealthAspect"}, - "LoanOrCredit": {"@id": "schema:LoanOrCredit"}, - "LocalBusiness": {"@id": "schema:LocalBusiness"}, - "LocationFeatureSpecification": {"@id": "schema:LocationFeatureSpecification"}, - "LockerDelivery": {"@id": "schema:LockerDelivery"}, - "Locksmith": {"@id": "schema:Locksmith"}, - "LodgingBusiness": {"@id": "schema:LodgingBusiness"}, - "LodgingReservation": {"@id": "schema:LodgingReservation"}, - "Longitudinal": {"@id": "schema:Longitudinal"}, - "LoseAction": {"@id": "schema:LoseAction"}, - "LowCalorieDiet": {"@id": "schema:LowCalorieDiet"}, - "LowFatDiet": {"@id": "schema:LowFatDiet"}, - "LowLactoseDiet": {"@id": "schema:LowLactoseDiet"}, - "LowSaltDiet": {"@id": "schema:LowSaltDiet"}, - "Lung": {"@id": "schema:Lung"}, - "LymphaticVessel": {"@id": "schema:LymphaticVessel"}, - "MRI": {"@id": "schema:MRI"}, - "MSRP": {"@id": "schema:MSRP"}, - "Male": {"@id": "schema:Male"}, - "Manuscript": {"@id": "schema:Manuscript"}, - "Map": {"@id": "schema:Map"}, - "MapCategoryType": {"@id": "schema:MapCategoryType"}, - "MarryAction": {"@id": "schema:MarryAction"}, - "Mass": {"@id": "schema:Mass"}, - "MathSolver": {"@id": "schema:MathSolver"}, - "MaximumDoseSchedule": {"@id": "schema:MaximumDoseSchedule"}, - "MayTreatHealthAspect": {"@id": "schema:MayTreatHealthAspect"}, - "MediaGallery": {"@id": "schema:MediaGallery"}, - "MediaManipulationRatingEnumeration": {"@id": "schema:MediaManipulationRatingEnumeration"}, - "MediaObject": {"@id": "schema:MediaObject"}, - "MediaReview": {"@id": "schema:MediaReview"}, - "MediaSubscription": {"@id": "schema:MediaSubscription"}, - "MedicalAudience": {"@id": "schema:MedicalAudience"}, - "MedicalAudienceType": {"@id": "schema:MedicalAudienceType"}, - "MedicalBusiness": {"@id": "schema:MedicalBusiness"}, - "MedicalCause": {"@id": "schema:MedicalCause"}, - "MedicalClinic": {"@id": "schema:MedicalClinic"}, - "MedicalCode": {"@id": "schema:MedicalCode"}, - "MedicalCondition": {"@id": "schema:MedicalCondition"}, - "MedicalConditionStage": {"@id": "schema:MedicalConditionStage"}, - "MedicalContraindication": {"@id": "schema:MedicalContraindication"}, - "MedicalDevice": {"@id": "schema:MedicalDevice"}, - "MedicalDevicePurpose": {"@id": "schema:MedicalDevicePurpose"}, - "MedicalEntity": {"@id": "schema:MedicalEntity"}, - "MedicalEnumeration": {"@id": "schema:MedicalEnumeration"}, - "MedicalEvidenceLevel": {"@id": "schema:MedicalEvidenceLevel"}, - "MedicalGuideline": {"@id": "schema:MedicalGuideline"}, - "MedicalGuidelineContraindication": {"@id": "schema:MedicalGuidelineContraindication"}, - "MedicalGuidelineRecommendation": {"@id": "schema:MedicalGuidelineRecommendation"}, - "MedicalImagingTechnique": {"@id": "schema:MedicalImagingTechnique"}, - "MedicalIndication": {"@id": "schema:MedicalIndication"}, - "MedicalIntangible": {"@id": "schema:MedicalIntangible"}, - "MedicalObservationalStudy": {"@id": "schema:MedicalObservationalStudy"}, - "MedicalObservationalStudyDesign": {"@id": "schema:MedicalObservationalStudyDesign"}, - "MedicalOrganization": {"@id": "schema:MedicalOrganization"}, - "MedicalProcedure": {"@id": "schema:MedicalProcedure"}, - "MedicalProcedureType": {"@id": "schema:MedicalProcedureType"}, - "MedicalResearcher": {"@id": "schema:MedicalResearcher"}, - "MedicalRiskCalculator": {"@id": "schema:MedicalRiskCalculator"}, - "MedicalRiskEstimator": {"@id": "schema:MedicalRiskEstimator"}, - "MedicalRiskFactor": {"@id": "schema:MedicalRiskFactor"}, - "MedicalRiskScore": {"@id": "schema:MedicalRiskScore"}, - "MedicalScholarlyArticle": {"@id": "schema:MedicalScholarlyArticle"}, - "MedicalSign": {"@id": "schema:MedicalSign"}, - "MedicalSignOrSymptom": {"@id": "schema:MedicalSignOrSymptom"}, - "MedicalSpecialty": {"@id": "schema:MedicalSpecialty"}, - "MedicalStudy": {"@id": "schema:MedicalStudy"}, - "MedicalStudyStatus": {"@id": "schema:MedicalStudyStatus"}, - "MedicalSymptom": {"@id": "schema:MedicalSymptom"}, - "MedicalTest": {"@id": "schema:MedicalTest"}, - "MedicalTestPanel": {"@id": "schema:MedicalTestPanel"}, - "MedicalTherapy": {"@id": "schema:MedicalTherapy"}, - "MedicalTrial": {"@id": "schema:MedicalTrial"}, - "MedicalTrialDesign": {"@id": "schema:MedicalTrialDesign"}, - "MedicalWebPage": {"@id": "schema:MedicalWebPage"}, - "MedicineSystem": {"@id": "schema:MedicineSystem"}, - "MeetingRoom": {"@id": "schema:MeetingRoom"}, - "MensClothingStore": {"@id": "schema:MensClothingStore"}, - "Menu": {"@id": "schema:Menu"}, - "MenuItem": {"@id": "schema:MenuItem"}, - "MenuSection": {"@id": "schema:MenuSection"}, - "MerchantReturnEnumeration": {"@id": "schema:MerchantReturnEnumeration"}, - "MerchantReturnFiniteReturnWindow": {"@id": "schema:MerchantReturnFiniteReturnWindow"}, - "MerchantReturnNotPermitted": {"@id": "schema:MerchantReturnNotPermitted"}, - "MerchantReturnPolicy": {"@id": "schema:MerchantReturnPolicy"}, - "MerchantReturnUnlimitedWindow": {"@id": "schema:MerchantReturnUnlimitedWindow"}, - "MerchantReturnUnspecified": {"@id": "schema:MerchantReturnUnspecified"}, - "Message": {"@id": "schema:Message"}, - "MiddleSchool": {"@id": "schema:MiddleSchool"}, - "Midwifery": {"@id": "schema:Midwifery"}, - "MinimumAdvertisedPrice": {"@id": "schema:MinimumAdvertisedPrice"}, - "MisconceptionsHealthAspect": {"@id": "schema:MisconceptionsHealthAspect"}, - "MissingContext": {"@id": "schema:MissingContext"}, - "MixedEventAttendanceMode": {"@id": "schema:MixedEventAttendanceMode"}, - "MixtapeAlbum": {"@id": "schema:MixtapeAlbum"}, - "MobileApplication": {"@id": "schema:MobileApplication"}, - "MobilePhoneStore": {"@id": "schema:MobilePhoneStore"}, - "Monday": {"@id": "schema:Monday"}, - "MonetaryAmount": {"@id": "schema:MonetaryAmount"}, - "MonetaryAmountDistribution": {"@id": "schema:MonetaryAmountDistribution"}, - "MonetaryGrant": {"@id": "schema:MonetaryGrant"}, - "MoneyTransfer": {"@id": "schema:MoneyTransfer"}, - "MortgageLoan": {"@id": "schema:MortgageLoan"}, - "Mosque": {"@id": "schema:Mosque"}, - "Motel": {"@id": "schema:Motel"}, - "Motorcycle": {"@id": "schema:Motorcycle"}, - "MotorcycleDealer": {"@id": "schema:MotorcycleDealer"}, - "MotorcycleRepair": {"@id": "schema:MotorcycleRepair"}, - "MotorizedBicycle": {"@id": "schema:MotorizedBicycle"}, - "Mountain": {"@id": "schema:Mountain"}, - "MoveAction": {"@id": "schema:MoveAction"}, - "Movie": {"@id": "schema:Movie"}, - "MovieClip": {"@id": "schema:MovieClip"}, - "MovieRentalStore": {"@id": "schema:MovieRentalStore"}, - "MovieSeries": {"@id": "schema:MovieSeries"}, - "MovieTheater": {"@id": "schema:MovieTheater"}, - "MovingCompany": {"@id": "schema:MovingCompany"}, - "MultiCenterTrial": {"@id": "schema:MultiCenterTrial"}, - "MultiPlayer": {"@id": "schema:MultiPlayer"}, - "MulticellularParasite": {"@id": "schema:MulticellularParasite"}, - "Muscle": {"@id": "schema:Muscle"}, - "Musculoskeletal": {"@id": "schema:Musculoskeletal"}, - "MusculoskeletalExam": {"@id": "schema:MusculoskeletalExam"}, - "Museum": {"@id": "schema:Museum"}, - "MusicAlbum": {"@id": "schema:MusicAlbum"}, - "MusicAlbumProductionType": {"@id": "schema:MusicAlbumProductionType"}, - "MusicAlbumReleaseType": {"@id": "schema:MusicAlbumReleaseType"}, - "MusicComposition": {"@id": "schema:MusicComposition"}, - "MusicEvent": {"@id": "schema:MusicEvent"}, - "MusicGroup": {"@id": "schema:MusicGroup"}, - "MusicPlaylist": {"@id": "schema:MusicPlaylist"}, - "MusicRecording": {"@id": "schema:MusicRecording"}, - "MusicRelease": {"@id": "schema:MusicRelease"}, - "MusicReleaseFormatType": {"@id": "schema:MusicReleaseFormatType"}, - "MusicStore": {"@id": "schema:MusicStore"}, - "MusicVenue": {"@id": "schema:MusicVenue"}, - "MusicVideoObject": {"@id": "schema:MusicVideoObject"}, - "NGO": {"@id": "schema:NGO"}, - "NLNonprofitType": {"@id": "schema:NLNonprofitType"}, - "NailSalon": {"@id": "schema:NailSalon"}, - "Neck": {"@id": "schema:Neck"}, - "Nerve": {"@id": "schema:Nerve"}, - "Neuro": {"@id": "schema:Neuro"}, - "Neurologic": {"@id": "schema:Neurologic"}, - "NewCondition": {"@id": "schema:NewCondition"}, - "NewsArticle": {"@id": "schema:NewsArticle"}, - "NewsMediaOrganization": {"@id": "schema:NewsMediaOrganization"}, - "Newspaper": {"@id": "schema:Newspaper"}, - "NightClub": {"@id": "schema:NightClub"}, - "NoninvasiveProcedure": {"@id": "schema:NoninvasiveProcedure"}, - "Nonprofit501a": {"@id": "schema:Nonprofit501a"}, - "Nonprofit501c1": {"@id": "schema:Nonprofit501c1"}, - "Nonprofit501c10": {"@id": "schema:Nonprofit501c10"}, - "Nonprofit501c11": {"@id": "schema:Nonprofit501c11"}, - "Nonprofit501c12": {"@id": "schema:Nonprofit501c12"}, - "Nonprofit501c13": {"@id": "schema:Nonprofit501c13"}, - "Nonprofit501c14": {"@id": "schema:Nonprofit501c14"}, - "Nonprofit501c15": {"@id": "schema:Nonprofit501c15"}, - "Nonprofit501c16": {"@id": "schema:Nonprofit501c16"}, - "Nonprofit501c17": {"@id": "schema:Nonprofit501c17"}, - "Nonprofit501c18": {"@id": "schema:Nonprofit501c18"}, - "Nonprofit501c19": {"@id": "schema:Nonprofit501c19"}, - "Nonprofit501c2": {"@id": "schema:Nonprofit501c2"}, - "Nonprofit501c20": {"@id": "schema:Nonprofit501c20"}, - "Nonprofit501c21": {"@id": "schema:Nonprofit501c21"}, - "Nonprofit501c22": {"@id": "schema:Nonprofit501c22"}, - "Nonprofit501c23": {"@id": "schema:Nonprofit501c23"}, - "Nonprofit501c24": {"@id": "schema:Nonprofit501c24"}, - "Nonprofit501c25": {"@id": "schema:Nonprofit501c25"}, - "Nonprofit501c26": {"@id": "schema:Nonprofit501c26"}, - "Nonprofit501c27": {"@id": "schema:Nonprofit501c27"}, - "Nonprofit501c28": {"@id": "schema:Nonprofit501c28"}, - "Nonprofit501c3": {"@id": "schema:Nonprofit501c3"}, - "Nonprofit501c4": {"@id": "schema:Nonprofit501c4"}, - "Nonprofit501c5": {"@id": "schema:Nonprofit501c5"}, - "Nonprofit501c6": {"@id": "schema:Nonprofit501c6"}, - "Nonprofit501c7": {"@id": "schema:Nonprofit501c7"}, - "Nonprofit501c8": {"@id": "schema:Nonprofit501c8"}, - "Nonprofit501c9": {"@id": "schema:Nonprofit501c9"}, - "Nonprofit501d": {"@id": "schema:Nonprofit501d"}, - "Nonprofit501e": {"@id": "schema:Nonprofit501e"}, - "Nonprofit501f": {"@id": "schema:Nonprofit501f"}, - "Nonprofit501k": {"@id": "schema:Nonprofit501k"}, - "Nonprofit501n": {"@id": "schema:Nonprofit501n"}, - "Nonprofit501q": {"@id": "schema:Nonprofit501q"}, - "Nonprofit527": {"@id": "schema:Nonprofit527"}, - "NonprofitANBI": {"@id": "schema:NonprofitANBI"}, - "NonprofitSBBI": {"@id": "schema:NonprofitSBBI"}, - "NonprofitType": {"@id": "schema:NonprofitType"}, - "Nose": {"@id": "schema:Nose"}, - "NotInForce": {"@id": "schema:NotInForce"}, - "NotYetRecruiting": {"@id": "schema:NotYetRecruiting"}, - "Notary": {"@id": "schema:Notary"}, - "NoteDigitalDocument": {"@id": "schema:NoteDigitalDocument"}, - "Number": {"@id": "schema:Number"}, - "Nursing": {"@id": "schema:Nursing"}, - "NutritionInformation": {"@id": "schema:NutritionInformation"}, - "OTC": {"@id": "schema:OTC"}, - "Observation": {"@id": "schema:Observation"}, - "Observational": {"@id": "schema:Observational"}, - "Obstetric": {"@id": "schema:Obstetric"}, - "Occupation": {"@id": "schema:Occupation"}, - "OccupationalActivity": {"@id": "schema:OccupationalActivity"}, - "OccupationalTherapy": {"@id": "schema:OccupationalTherapy"}, - "OceanBodyOfWater": {"@id": "schema:OceanBodyOfWater"}, - "Offer": {"@id": "schema:Offer"}, - "OfferCatalog": {"@id": "schema:OfferCatalog"}, - "OfferForLease": {"@id": "schema:OfferForLease"}, - "OfferForPurchase": {"@id": "schema:OfferForPurchase"}, - "OfferItemCondition": {"@id": "schema:OfferItemCondition"}, - "OfferShippingDetails": {"@id": "schema:OfferShippingDetails"}, - "OfficeEquipmentStore": {"@id": "schema:OfficeEquipmentStore"}, - "OfficialLegalValue": {"@id": "schema:OfficialLegalValue"}, - "OfflineEventAttendanceMode": {"@id": "schema:OfflineEventAttendanceMode"}, - "OfflinePermanently": {"@id": "schema:OfflinePermanently"}, - "OfflineTemporarily": {"@id": "schema:OfflineTemporarily"}, - "OnDemandEvent": {"@id": "schema:OnDemandEvent"}, - "OnSitePickup": {"@id": "schema:OnSitePickup"}, - "Oncologic": {"@id": "schema:Oncologic"}, - "OneTimePayments": {"@id": "schema:OneTimePayments"}, - "Online": {"@id": "schema:Online"}, - "OnlineEventAttendanceMode": {"@id": "schema:OnlineEventAttendanceMode"}, - "OnlineFull": {"@id": "schema:OnlineFull"}, - "OnlineOnly": {"@id": "schema:OnlineOnly"}, - "OpenTrial": {"@id": "schema:OpenTrial"}, - "OpeningHoursSpecification": {"@id": "schema:OpeningHoursSpecification"}, - "OpinionNewsArticle": {"@id": "schema:OpinionNewsArticle"}, - "Optician": {"@id": "schema:Optician"}, - "Optometric": {"@id": "schema:Optometric"}, - "Order": {"@id": "schema:Order"}, - "OrderAction": {"@id": "schema:OrderAction"}, - "OrderCancelled": {"@id": "schema:OrderCancelled"}, - "OrderDelivered": {"@id": "schema:OrderDelivered"}, - "OrderInTransit": {"@id": "schema:OrderInTransit"}, - "OrderItem": {"@id": "schema:OrderItem"}, - "OrderPaymentDue": {"@id": "schema:OrderPaymentDue"}, - "OrderPickupAvailable": {"@id": "schema:OrderPickupAvailable"}, - "OrderProblem": {"@id": "schema:OrderProblem"}, - "OrderProcessing": {"@id": "schema:OrderProcessing"}, - "OrderReturned": {"@id": "schema:OrderReturned"}, - "OrderStatus": {"@id": "schema:OrderStatus"}, - "Organization": {"@id": "schema:Organization"}, - "OrganizationRole": {"@id": "schema:OrganizationRole"}, - "OrganizeAction": {"@id": "schema:OrganizeAction"}, - "OriginalShippingFees": {"@id": "schema:OriginalShippingFees"}, - "Osteopathic": {"@id": "schema:Osteopathic"}, - "Otolaryngologic": {"@id": "schema:Otolaryngologic"}, - "OutOfStock": {"@id": "schema:OutOfStock"}, - "OutletStore": {"@id": "schema:OutletStore"}, - "OverviewHealthAspect": {"@id": "schema:OverviewHealthAspect"}, - "OwnershipInfo": {"@id": "schema:OwnershipInfo"}, - "PET": {"@id": "schema:PET"}, - "PaidLeave": {"@id": "schema:PaidLeave"}, - "PaintAction": {"@id": "schema:PaintAction"}, - "Painting": {"@id": "schema:Painting"}, - "PalliativeProcedure": {"@id": "schema:PalliativeProcedure"}, - "Paperback": {"@id": "schema:Paperback"}, - "ParcelDelivery": {"@id": "schema:ParcelDelivery"}, - "ParcelService": {"@id": "schema:ParcelService"}, - "ParentAudience": {"@id": "schema:ParentAudience"}, - "ParentalSupport": {"@id": "schema:ParentalSupport"}, - "Park": {"@id": "schema:Park"}, - "ParkingFacility": {"@id": "schema:ParkingFacility"}, - "ParkingMap": {"@id": "schema:ParkingMap"}, - "PartiallyInForce": {"@id": "schema:PartiallyInForce"}, - "Pathology": {"@id": "schema:Pathology"}, - "PathologyTest": {"@id": "schema:PathologyTest"}, - "Patient": {"@id": "schema:Patient"}, - "PatientExperienceHealthAspect": {"@id": "schema:PatientExperienceHealthAspect"}, - "PawnShop": {"@id": "schema:PawnShop"}, - "PayAction": {"@id": "schema:PayAction"}, - "PaymentAutomaticallyApplied": {"@id": "schema:PaymentAutomaticallyApplied"}, - "PaymentCard": {"@id": "schema:PaymentCard"}, - "PaymentChargeSpecification": {"@id": "schema:PaymentChargeSpecification"}, - "PaymentComplete": {"@id": "schema:PaymentComplete"}, - "PaymentDeclined": {"@id": "schema:PaymentDeclined"}, - "PaymentDue": {"@id": "schema:PaymentDue"}, - "PaymentMethod": {"@id": "schema:PaymentMethod"}, - "PaymentPastDue": {"@id": "schema:PaymentPastDue"}, - "PaymentService": {"@id": "schema:PaymentService"}, - "PaymentStatusType": {"@id": "schema:PaymentStatusType"}, - "Pediatric": {"@id": "schema:Pediatric"}, - "PeopleAudience": {"@id": "schema:PeopleAudience"}, - "PercutaneousProcedure": {"@id": "schema:PercutaneousProcedure"}, - "PerformAction": {"@id": "schema:PerformAction"}, - "PerformanceRole": {"@id": "schema:PerformanceRole"}, - "PerformingArtsTheater": {"@id": "schema:PerformingArtsTheater"}, - "PerformingGroup": {"@id": "schema:PerformingGroup"}, - "Periodical": {"@id": "schema:Periodical"}, - "Permit": {"@id": "schema:Permit"}, - "Person": {"@id": "schema:Person"}, - "PetStore": {"@id": "schema:PetStore"}, - "Pharmacy": {"@id": "schema:Pharmacy"}, - "PharmacySpecialty": {"@id": "schema:PharmacySpecialty"}, - "Photograph": {"@id": "schema:Photograph"}, - "PhotographAction": {"@id": "schema:PhotographAction"}, - "PhysicalActivity": {"@id": "schema:PhysicalActivity"}, - "PhysicalActivityCategory": {"@id": "schema:PhysicalActivityCategory"}, - "PhysicalExam": {"@id": "schema:PhysicalExam"}, - "PhysicalTherapy": {"@id": "schema:PhysicalTherapy"}, - "Physician": {"@id": "schema:Physician"}, - "Physiotherapy": {"@id": "schema:Physiotherapy"}, - "Place": {"@id": "schema:Place"}, - "PlaceOfWorship": {"@id": "schema:PlaceOfWorship"}, - "PlaceboControlledTrial": {"@id": "schema:PlaceboControlledTrial"}, - "PlanAction": {"@id": "schema:PlanAction"}, - "PlasticSurgery": {"@id": "schema:PlasticSurgery"}, - "Play": {"@id": "schema:Play"}, - "PlayAction": {"@id": "schema:PlayAction"}, - "Playground": {"@id": "schema:Playground"}, - "Plumber": {"@id": "schema:Plumber"}, - "PodcastEpisode": {"@id": "schema:PodcastEpisode"}, - "PodcastSeason": {"@id": "schema:PodcastSeason"}, - "PodcastSeries": {"@id": "schema:PodcastSeries"}, - "Podiatric": {"@id": "schema:Podiatric"}, - "PoliceStation": {"@id": "schema:PoliceStation"}, - "Pond": {"@id": "schema:Pond"}, - "PostOffice": {"@id": "schema:PostOffice"}, - "PostalAddress": {"@id": "schema:PostalAddress"}, - "PostalCodeRangeSpecification": {"@id": "schema:PostalCodeRangeSpecification"}, - "Poster": {"@id": "schema:Poster"}, - "PotentialActionStatus": {"@id": "schema:PotentialActionStatus"}, - "PreOrder": {"@id": "schema:PreOrder"}, - "PreOrderAction": {"@id": "schema:PreOrderAction"}, - "PreSale": {"@id": "schema:PreSale"}, - "PrependAction": {"@id": "schema:PrependAction"}, - "Preschool": {"@id": "schema:Preschool"}, - "PrescriptionOnly": {"@id": "schema:PrescriptionOnly"}, - "PresentationDigitalDocument": {"@id": "schema:PresentationDigitalDocument"}, - "PreventionHealthAspect": {"@id": "schema:PreventionHealthAspect"}, - "PreventionIndication": {"@id": "schema:PreventionIndication"}, - "PriceComponentTypeEnumeration": {"@id": "schema:PriceComponentTypeEnumeration"}, - "PriceSpecification": {"@id": "schema:PriceSpecification"}, - "PriceTypeEnumeration": {"@id": "schema:PriceTypeEnumeration"}, - "PrimaryCare": {"@id": "schema:PrimaryCare"}, - "Prion": {"@id": "schema:Prion"}, - "Product": {"@id": "schema:Product"}, - "ProductCollection": {"@id": "schema:ProductCollection"}, - "ProductGroup": {"@id": "schema:ProductGroup"}, - "ProductModel": {"@id": "schema:ProductModel"}, - "ProductReturnEnumeration": {"@id": "schema:ProductReturnEnumeration"}, - "ProductReturnFiniteReturnWindow": {"@id": "schema:ProductReturnFiniteReturnWindow"}, - "ProductReturnNotPermitted": {"@id": "schema:ProductReturnNotPermitted"}, - "ProductReturnPolicy": {"@id": "schema:ProductReturnPolicy"}, - "ProductReturnUnlimitedWindow": {"@id": "schema:ProductReturnUnlimitedWindow"}, - "ProductReturnUnspecified": {"@id": "schema:ProductReturnUnspecified"}, - "ProfessionalService": {"@id": "schema:ProfessionalService"}, - "ProfilePage": {"@id": "schema:ProfilePage"}, - "PrognosisHealthAspect": {"@id": "schema:PrognosisHealthAspect"}, - "ProgramMembership": {"@id": "schema:ProgramMembership"}, - "Project": {"@id": "schema:Project"}, - "PronounceableText": {"@id": "schema:PronounceableText"}, - "Property": {"@id": "schema:Property"}, - "PropertyValue": {"@id": "schema:PropertyValue"}, - "PropertyValueSpecification": {"@id": "schema:PropertyValueSpecification"}, - "Protozoa": {"@id": "schema:Protozoa"}, - "Psychiatric": {"@id": "schema:Psychiatric"}, - "PsychologicalTreatment": {"@id": "schema:PsychologicalTreatment"}, - "PublicHealth": {"@id": "schema:PublicHealth"}, - "PublicHolidays": {"@id": "schema:PublicHolidays"}, - "PublicSwimmingPool": {"@id": "schema:PublicSwimmingPool"}, - "PublicToilet": {"@id": "schema:PublicToilet"}, - "PublicationEvent": {"@id": "schema:PublicationEvent"}, - "PublicationIssue": {"@id": "schema:PublicationIssue"}, - "PublicationVolume": {"@id": "schema:PublicationVolume"}, - "Pulmonary": {"@id": "schema:Pulmonary"}, - "QAPage": {"@id": "schema:QAPage"}, - "QualitativeValue": {"@id": "schema:QualitativeValue"}, - "QuantitativeValue": {"@id": "schema:QuantitativeValue"}, - "QuantitativeValueDistribution": {"@id": "schema:QuantitativeValueDistribution"}, - "Quantity": {"@id": "schema:Quantity"}, - "Question": {"@id": "schema:Question"}, - "Quiz": {"@id": "schema:Quiz"}, - "Quotation": {"@id": "schema:Quotation"}, - "QuoteAction": {"@id": "schema:QuoteAction"}, - "RVPark": {"@id": "schema:RVPark"}, - "RadiationTherapy": {"@id": "schema:RadiationTherapy"}, - "RadioBroadcastService": {"@id": "schema:RadioBroadcastService"}, - "RadioChannel": {"@id": "schema:RadioChannel"}, - "RadioClip": {"@id": "schema:RadioClip"}, - "RadioEpisode": {"@id": "schema:RadioEpisode"}, - "RadioSeason": {"@id": "schema:RadioSeason"}, - "RadioSeries": {"@id": "schema:RadioSeries"}, - "RadioStation": {"@id": "schema:RadioStation"}, - "Radiography": {"@id": "schema:Radiography"}, - "RandomizedTrial": {"@id": "schema:RandomizedTrial"}, - "Rating": {"@id": "schema:Rating"}, - "ReactAction": {"@id": "schema:ReactAction"}, - "ReadAction": {"@id": "schema:ReadAction"}, - "ReadPermission": {"@id": "schema:ReadPermission"}, - "RealEstateAgent": {"@id": "schema:RealEstateAgent"}, - "RealEstateListing": {"@id": "schema:RealEstateListing"}, - "RearWheelDriveConfiguration": {"@id": "schema:RearWheelDriveConfiguration"}, - "ReceiveAction": {"@id": "schema:ReceiveAction"}, - "Recipe": {"@id": "schema:Recipe"}, - "Recommendation": {"@id": "schema:Recommendation"}, - "RecommendedDoseSchedule": {"@id": "schema:RecommendedDoseSchedule"}, - "Recruiting": {"@id": "schema:Recruiting"}, - "RecyclingCenter": {"@id": "schema:RecyclingCenter"}, - "RefundTypeEnumeration": {"@id": "schema:RefundTypeEnumeration"}, - "RefurbishedCondition": {"@id": "schema:RefurbishedCondition"}, - "RegisterAction": {"@id": "schema:RegisterAction"}, - "Registry": {"@id": "schema:Registry"}, - "ReimbursementCap": {"@id": "schema:ReimbursementCap"}, - "RejectAction": {"@id": "schema:RejectAction"}, - "RelatedTopicsHealthAspect": {"@id": "schema:RelatedTopicsHealthAspect"}, - "RemixAlbum": {"@id": "schema:RemixAlbum"}, - "Renal": {"@id": "schema:Renal"}, - "RentAction": {"@id": "schema:RentAction"}, - "RentalCarReservation": {"@id": "schema:RentalCarReservation"}, - "RentalVehicleUsage": {"@id": "schema:RentalVehicleUsage"}, - "RepaymentSpecification": {"@id": "schema:RepaymentSpecification"}, - "ReplaceAction": {"@id": "schema:ReplaceAction"}, - "ReplyAction": {"@id": "schema:ReplyAction"}, - "Report": {"@id": "schema:Report"}, - "ReportageNewsArticle": {"@id": "schema:ReportageNewsArticle"}, - "ReportedDoseSchedule": {"@id": "schema:ReportedDoseSchedule"}, - "ResearchProject": {"@id": "schema:ResearchProject"}, - "Researcher": {"@id": "schema:Researcher"}, - "Reservation": {"@id": "schema:Reservation"}, - "ReservationCancelled": {"@id": "schema:ReservationCancelled"}, - "ReservationConfirmed": {"@id": "schema:ReservationConfirmed"}, - "ReservationHold": {"@id": "schema:ReservationHold"}, - "ReservationPackage": {"@id": "schema:ReservationPackage"}, - "ReservationPending": {"@id": "schema:ReservationPending"}, - "ReservationStatusType": {"@id": "schema:ReservationStatusType"}, - "ReserveAction": {"@id": "schema:ReserveAction"}, - "Reservoir": {"@id": "schema:Reservoir"}, - "Residence": {"@id": "schema:Residence"}, - "Resort": {"@id": "schema:Resort"}, - "RespiratoryTherapy": {"@id": "schema:RespiratoryTherapy"}, - "Restaurant": {"@id": "schema:Restaurant"}, - "RestockingFees": {"@id": "schema:RestockingFees"}, - "RestrictedDiet": {"@id": "schema:RestrictedDiet"}, - "ResultsAvailable": {"@id": "schema:ResultsAvailable"}, - "ResultsNotAvailable": {"@id": "schema:ResultsNotAvailable"}, - "ResumeAction": {"@id": "schema:ResumeAction"}, - "Retail": {"@id": "schema:Retail"}, - "ReturnAction": {"@id": "schema:ReturnAction"}, - "ReturnFeesEnumeration": {"@id": "schema:ReturnFeesEnumeration"}, - "ReturnShippingFees": {"@id": "schema:ReturnShippingFees"}, - "Review": {"@id": "schema:Review"}, - "ReviewAction": {"@id": "schema:ReviewAction"}, - "ReviewNewsArticle": {"@id": "schema:ReviewNewsArticle"}, - "Rheumatologic": {"@id": "schema:Rheumatologic"}, - "RightHandDriving": {"@id": "schema:RightHandDriving"}, - "RisksOrComplicationsHealthAspect": {"@id": "schema:RisksOrComplicationsHealthAspect"}, - "RiverBodyOfWater": {"@id": "schema:RiverBodyOfWater"}, - "Role": {"@id": "schema:Role"}, - "RoofingContractor": {"@id": "schema:RoofingContractor"}, - "Room": {"@id": "schema:Room"}, - "RsvpAction": {"@id": "schema:RsvpAction"}, - "RsvpResponseMaybe": {"@id": "schema:RsvpResponseMaybe"}, - "RsvpResponseNo": {"@id": "schema:RsvpResponseNo"}, - "RsvpResponseType": {"@id": "schema:RsvpResponseType"}, - "RsvpResponseYes": {"@id": "schema:RsvpResponseYes"}, - "SRP": {"@id": "schema:SRP"}, - "SaleEvent": {"@id": "schema:SaleEvent"}, - "SalePrice": {"@id": "schema:SalePrice"}, - "SatiricalArticle": {"@id": "schema:SatiricalArticle"}, - "Saturday": {"@id": "schema:Saturday"}, - "Schedule": {"@id": "schema:Schedule"}, - "ScheduleAction": {"@id": "schema:ScheduleAction"}, - "ScholarlyArticle": {"@id": "schema:ScholarlyArticle"}, - "School": {"@id": "schema:School"}, - "SchoolDistrict": {"@id": "schema:SchoolDistrict"}, - "ScreeningEvent": {"@id": "schema:ScreeningEvent"}, - "ScreeningHealthAspect": {"@id": "schema:ScreeningHealthAspect"}, - "Sculpture": {"@id": "schema:Sculpture"}, - "SeaBodyOfWater": {"@id": "schema:SeaBodyOfWater"}, - "SearchAction": {"@id": "schema:SearchAction"}, - "SearchResultsPage": {"@id": "schema:SearchResultsPage"}, - "Season": {"@id": "schema:Season"}, - "Seat": {"@id": "schema:Seat"}, - "SeatingMap": {"@id": "schema:SeatingMap"}, - "SeeDoctorHealthAspect": {"@id": "schema:SeeDoctorHealthAspect"}, - "SeekToAction": {"@id": "schema:SeekToAction"}, - "SelfCareHealthAspect": {"@id": "schema:SelfCareHealthAspect"}, - "SelfStorage": {"@id": "schema:SelfStorage"}, - "SellAction": {"@id": "schema:SellAction"}, - "SendAction": {"@id": "schema:SendAction"}, - "Series": {"@id": "schema:Series"}, - "Service": {"@id": "schema:Service"}, - "ServiceChannel": {"@id": "schema:ServiceChannel"}, - "ShareAction": {"@id": "schema:ShareAction"}, - "SheetMusic": {"@id": "schema:SheetMusic"}, - "ShippingDeliveryTime": {"@id": "schema:ShippingDeliveryTime"}, - "ShippingRateSettings": {"@id": "schema:ShippingRateSettings"}, - "ShoeStore": {"@id": "schema:ShoeStore"}, - "ShoppingCenter": {"@id": "schema:ShoppingCenter"}, - "ShortStory": {"@id": "schema:ShortStory"}, - "SideEffectsHealthAspect": {"@id": "schema:SideEffectsHealthAspect"}, - "SingleBlindedTrial": {"@id": "schema:SingleBlindedTrial"}, - "SingleCenterTrial": {"@id": "schema:SingleCenterTrial"}, - "SingleFamilyResidence": {"@id": "schema:SingleFamilyResidence"}, - "SinglePlayer": {"@id": "schema:SinglePlayer"}, - "SingleRelease": {"@id": "schema:SingleRelease"}, - "SiteNavigationElement": {"@id": "schema:SiteNavigationElement"}, - "SkiResort": {"@id": "schema:SkiResort"}, - "Skin": {"@id": "schema:Skin"}, - "SocialEvent": {"@id": "schema:SocialEvent"}, - "SocialMediaPosting": {"@id": "schema:SocialMediaPosting"}, - "SoftwareApplication": {"@id": "schema:SoftwareApplication"}, - "SoftwareSourceCode": {"@id": "schema:SoftwareSourceCode"}, - "SoldOut": {"@id": "schema:SoldOut"}, - "SolveMathAction": {"@id": "schema:SolveMathAction"}, - "SomeProducts": {"@id": "schema:SomeProducts"}, - "SoundtrackAlbum": {"@id": "schema:SoundtrackAlbum"}, - "SpeakableSpecification": {"@id": "schema:SpeakableSpecification"}, - "SpecialAnnouncement": {"@id": "schema:SpecialAnnouncement"}, - "Specialty": {"@id": "schema:Specialty"}, - "SpeechPathology": {"@id": "schema:SpeechPathology"}, - "SpokenWordAlbum": {"@id": "schema:SpokenWordAlbum"}, - "SportingGoodsStore": {"@id": "schema:SportingGoodsStore"}, - "SportsActivityLocation": {"@id": "schema:SportsActivityLocation"}, - "SportsClub": {"@id": "schema:SportsClub"}, - "SportsEvent": {"@id": "schema:SportsEvent"}, - "SportsOrganization": {"@id": "schema:SportsOrganization"}, - "SportsTeam": {"@id": "schema:SportsTeam"}, - "SpreadsheetDigitalDocument": {"@id": "schema:SpreadsheetDigitalDocument"}, - "StadiumOrArena": {"@id": "schema:StadiumOrArena"}, - "StagesHealthAspect": {"@id": "schema:StagesHealthAspect"}, - "State": {"@id": "schema:State"}, - "StatisticalPopulation": {"@id": "schema:StatisticalPopulation"}, - "StatusEnumeration": {"@id": "schema:StatusEnumeration"}, - "SteeringPositionValue": {"@id": "schema:SteeringPositionValue"}, - "Store": {"@id": "schema:Store"}, - "StoreCreditRefund": {"@id": "schema:StoreCreditRefund"}, - "StrengthTraining": {"@id": "schema:StrengthTraining"}, - "StructuredValue": {"@id": "schema:StructuredValue"}, - "StudioAlbum": {"@id": "schema:StudioAlbum"}, - "StupidType": {"@id": "schema:StupidType"}, - "SubscribeAction": {"@id": "schema:SubscribeAction"}, - "Subscription": {"@id": "schema:Subscription"}, - "Substance": {"@id": "schema:Substance"}, - "SubwayStation": {"@id": "schema:SubwayStation"}, - "Suite": {"@id": "schema:Suite"}, - "Sunday": {"@id": "schema:Sunday"}, - "SuperficialAnatomy": {"@id": "schema:SuperficialAnatomy"}, - "Surgical": {"@id": "schema:Surgical"}, - "SurgicalProcedure": {"@id": "schema:SurgicalProcedure"}, - "SuspendAction": {"@id": "schema:SuspendAction"}, - "Suspended": {"@id": "schema:Suspended"}, - "SymptomsHealthAspect": {"@id": "schema:SymptomsHealthAspect"}, - "Synagogue": {"@id": "schema:Synagogue"}, - "TVClip": {"@id": "schema:TVClip"}, - "TVEpisode": {"@id": "schema:TVEpisode"}, - "TVSeason": {"@id": "schema:TVSeason"}, - "TVSeries": {"@id": "schema:TVSeries"}, - "Table": {"@id": "schema:Table"}, - "TakeAction": {"@id": "schema:TakeAction"}, - "TattooParlor": {"@id": "schema:TattooParlor"}, - "Taxi": {"@id": "schema:Taxi"}, - "TaxiReservation": {"@id": "schema:TaxiReservation"}, - "TaxiService": {"@id": "schema:TaxiService"}, - "TaxiStand": {"@id": "schema:TaxiStand"}, - "TaxiVehicleUsage": {"@id": "schema:TaxiVehicleUsage"}, - "TechArticle": {"@id": "schema:TechArticle"}, - "TelevisionChannel": {"@id": "schema:TelevisionChannel"}, - "TelevisionStation": {"@id": "schema:TelevisionStation"}, - "TennisComplex": {"@id": "schema:TennisComplex"}, - "Terminated": {"@id": "schema:Terminated"}, - "Text": {"@id": "schema:Text"}, - "TextDigitalDocument": {"@id": "schema:TextDigitalDocument"}, - "TheaterEvent": {"@id": "schema:TheaterEvent"}, - "TheaterGroup": {"@id": "schema:TheaterGroup"}, - "Therapeutic": {"@id": "schema:Therapeutic"}, - "TherapeuticProcedure": {"@id": "schema:TherapeuticProcedure"}, - "Thesis": {"@id": "schema:Thesis"}, - "Thing": {"@id": "schema:Thing"}, - "Throat": {"@id": "schema:Throat"}, - "Thursday": {"@id": "schema:Thursday"}, - "Ticket": {"@id": "schema:Ticket"}, - "TieAction": {"@id": "schema:TieAction"}, - "Time": {"@id": "schema:Time"}, - "TipAction": {"@id": "schema:TipAction"}, - "TireShop": {"@id": "schema:TireShop"}, - "TollFree": {"@id": "schema:TollFree"}, - "TouristAttraction": {"@id": "schema:TouristAttraction"}, - "TouristDestination": {"@id": "schema:TouristDestination"}, - "TouristInformationCenter": {"@id": "schema:TouristInformationCenter"}, - "TouristTrip": {"@id": "schema:TouristTrip"}, - "Toxicologic": {"@id": "schema:Toxicologic"}, - "ToyStore": {"@id": "schema:ToyStore"}, - "TrackAction": {"@id": "schema:TrackAction"}, - "TradeAction": {"@id": "schema:TradeAction"}, - "TraditionalChinese": {"@id": "schema:TraditionalChinese"}, - "TrainReservation": {"@id": "schema:TrainReservation"}, - "TrainStation": {"@id": "schema:TrainStation"}, - "TrainTrip": {"@id": "schema:TrainTrip"}, - "TransferAction": {"@id": "schema:TransferAction"}, - "TransitMap": {"@id": "schema:TransitMap"}, - "TravelAction": {"@id": "schema:TravelAction"}, - "TravelAgency": {"@id": "schema:TravelAgency"}, - "TreatmentIndication": {"@id": "schema:TreatmentIndication"}, - "TreatmentsHealthAspect": {"@id": "schema:TreatmentsHealthAspect"}, - "Trip": {"@id": "schema:Trip"}, - "TripleBlindedTrial": {"@id": "schema:TripleBlindedTrial"}, - "True": {"@id": "schema:True"}, - "Tuesday": {"@id": "schema:Tuesday"}, - "TypeAndQuantityNode": {"@id": "schema:TypeAndQuantityNode"}, - "TypesHealthAspect": {"@id": "schema:TypesHealthAspect"}, - "UKNonprofitType": {"@id": "schema:UKNonprofitType"}, - "UKTrust": {"@id": "schema:UKTrust"}, - "URL": {"@id": "schema:URL"}, - "USNonprofitType": {"@id": "schema:USNonprofitType"}, - "Ultrasound": {"@id": "schema:Ultrasound"}, - "UnRegisterAction": {"@id": "schema:UnRegisterAction"}, - "UnemploymentSupport": {"@id": "schema:UnemploymentSupport"}, - "UnincorporatedAssociationCharity": {"@id": "schema:UnincorporatedAssociationCharity"}, - "UnitPriceSpecification": {"@id": "schema:UnitPriceSpecification"}, - "UnofficialLegalValue": {"@id": "schema:UnofficialLegalValue"}, - "UpdateAction": {"@id": "schema:UpdateAction"}, - "Urologic": {"@id": "schema:Urologic"}, - "UsageOrScheduleHealthAspect": {"@id": "schema:UsageOrScheduleHealthAspect"}, - "UseAction": {"@id": "schema:UseAction"}, - "UsedCondition": {"@id": "schema:UsedCondition"}, - "UserBlocks": {"@id": "schema:UserBlocks"}, - "UserCheckins": {"@id": "schema:UserCheckins"}, - "UserComments": {"@id": "schema:UserComments"}, - "UserDownloads": {"@id": "schema:UserDownloads"}, - "UserInteraction": {"@id": "schema:UserInteraction"}, - "UserLikes": {"@id": "schema:UserLikes"}, - "UserPageVisits": {"@id": "schema:UserPageVisits"}, - "UserPlays": {"@id": "schema:UserPlays"}, - "UserPlusOnes": {"@id": "schema:UserPlusOnes"}, - "UserReview": {"@id": "schema:UserReview"}, - "UserTweets": {"@id": "schema:UserTweets"}, - "VeganDiet": {"@id": "schema:VeganDiet"}, - "VegetarianDiet": {"@id": "schema:VegetarianDiet"}, - "Vehicle": {"@id": "schema:Vehicle"}, - "Vein": {"@id": "schema:Vein"}, - "VenueMap": {"@id": "schema:VenueMap"}, - "Vessel": {"@id": "schema:Vessel"}, - "VeterinaryCare": {"@id": "schema:VeterinaryCare"}, - "VideoGallery": {"@id": "schema:VideoGallery"}, - "VideoGame": {"@id": "schema:VideoGame"}, - "VideoGameClip": {"@id": "schema:VideoGameClip"}, - "VideoGameSeries": {"@id": "schema:VideoGameSeries"}, - "VideoObject": {"@id": "schema:VideoObject"}, - "ViewAction": {"@id": "schema:ViewAction"}, - "VinylFormat": {"@id": "schema:VinylFormat"}, - "VirtualLocation": {"@id": "schema:VirtualLocation"}, - "Virus": {"@id": "schema:Virus"}, - "VisualArtsEvent": {"@id": "schema:VisualArtsEvent"}, - "VisualArtwork": {"@id": "schema:VisualArtwork"}, - "VitalSign": {"@id": "schema:VitalSign"}, - "Volcano": {"@id": "schema:Volcano"}, - "VoteAction": {"@id": "schema:VoteAction"}, - "WPAdBlock": {"@id": "schema:WPAdBlock"}, - "WPFooter": {"@id": "schema:WPFooter"}, - "WPHeader": {"@id": "schema:WPHeader"}, - "WPSideBar": {"@id": "schema:WPSideBar"}, - "WantAction": {"@id": "schema:WantAction"}, - "WarrantyPromise": {"@id": "schema:WarrantyPromise"}, - "WarrantyScope": {"@id": "schema:WarrantyScope"}, - "WatchAction": {"@id": "schema:WatchAction"}, - "Waterfall": {"@id": "schema:Waterfall"}, - "WearAction": {"@id": "schema:WearAction"}, - "WebAPI": {"@id": "schema:WebAPI"}, - "WebApplication": {"@id": "schema:WebApplication"}, - "WebContent": {"@id": "schema:WebContent"}, - "WebPage": {"@id": "schema:WebPage"}, - "WebPageElement": {"@id": "schema:WebPageElement"}, - "WebSite": {"@id": "schema:WebSite"}, - "Wednesday": {"@id": "schema:Wednesday"}, - "WesternConventional": {"@id": "schema:WesternConventional"}, - "Wholesale": {"@id": "schema:Wholesale"}, - "WholesaleStore": {"@id": "schema:WholesaleStore"}, - "WinAction": {"@id": "schema:WinAction"}, - "Winery": {"@id": "schema:Winery"}, - "Withdrawn": {"@id": "schema:Withdrawn"}, - "WorkBasedProgram": {"@id": "schema:WorkBasedProgram"}, - "WorkersUnion": {"@id": "schema:WorkersUnion"}, - "WriteAction": {"@id": "schema:WriteAction"}, - "WritePermission": {"@id": "schema:WritePermission"}, - "XPathType": {"@id": "schema:XPathType"}, - "XRay": {"@id": "schema:XRay"}, - "ZoneBoardingPolicy": {"@id": "schema:ZoneBoardingPolicy"}, - "Zoo": {"@id": "schema:Zoo"}, - "about": { "@id": "schema:about"}, - "abridged": { "@id": "schema:abridged"}, - "abstract": { "@id": "schema:abstract"}, - "accelerationTime": { "@id": "schema:accelerationTime"}, - "acceptedAnswer": { "@id": "schema:acceptedAnswer"}, - "acceptedOffer": { "@id": "schema:acceptedOffer"}, - "acceptedPaymentMethod": { "@id": "schema:acceptedPaymentMethod"}, - "acceptsReservations": { "@id": "schema:acceptsReservations"}, - "accessCode": { "@id": "schema:accessCode"}, - "accessMode": { "@id": "schema:accessMode"}, - "accessModeSufficient": { "@id": "schema:accessModeSufficient"}, - "accessibilityAPI": { "@id": "schema:accessibilityAPI"}, - "accessibilityControl": { "@id": "schema:accessibilityControl"}, - "accessibilityFeature": { "@id": "schema:accessibilityFeature"}, - "accessibilityHazard": { "@id": "schema:accessibilityHazard"}, - "accessibilitySummary": { "@id": "schema:accessibilitySummary"}, - "accommodationCategory": { "@id": "schema:accommodationCategory"}, - "accommodationFloorPlan": { "@id": "schema:accommodationFloorPlan"}, - "accountId": { "@id": "schema:accountId"}, - "accountMinimumInflow": { "@id": "schema:accountMinimumInflow"}, - "accountOverdraftLimit": { "@id": "schema:accountOverdraftLimit"}, - "accountablePerson": { "@id": "schema:accountablePerson"}, - "acquireLicensePage": { "@id": "schema:acquireLicensePage", "@type": "@id"}, - "acquiredFrom": { "@id": "schema:acquiredFrom"}, - "acrissCode": { "@id": "schema:acrissCode"}, - "actionAccessibilityRequirement": { "@id": "schema:actionAccessibilityRequirement"}, - "actionApplication": { "@id": "schema:actionApplication"}, - "actionOption": { "@id": "schema:actionOption"}, - "actionPlatform": { "@id": "schema:actionPlatform"}, - "actionStatus": { "@id": "schema:actionStatus"}, - "actionableFeedbackPolicy": { "@id": "schema:actionableFeedbackPolicy", "@type": "@id"}, - "activeIngredient": { "@id": "schema:activeIngredient"}, - "activityDuration": { "@id": "schema:activityDuration"}, - "activityFrequency": { "@id": "schema:activityFrequency"}, - "actor": { "@id": "schema:actor"}, - "actors": { "@id": "schema:actors"}, - "addOn": { "@id": "schema:addOn"}, - "additionalName": { "@id": "schema:additionalName"}, - "additionalNumberOfGuests": { "@id": "schema:additionalNumberOfGuests"}, - "additionalProperty": { "@id": "schema:additionalProperty"}, - "additionalType": { "@id": "schema:additionalType", "@type": "@id"}, - "additionalVariable": { "@id": "schema:additionalVariable"}, - "address": { "@id": "schema:address"}, - "addressCountry": { "@id": "schema:addressCountry"}, - "addressLocality": { "@id": "schema:addressLocality"}, - "addressRegion": { "@id": "schema:addressRegion"}, - "administrationRoute": { "@id": "schema:administrationRoute"}, - "advanceBookingRequirement": { "@id": "schema:advanceBookingRequirement"}, - "adverseOutcome": { "@id": "schema:adverseOutcome"}, - "affectedBy": { "@id": "schema:affectedBy"}, - "affiliation": { "@id": "schema:affiliation"}, - "afterMedia": { "@id": "schema:afterMedia", "@type": "@id"}, - "agent": { "@id": "schema:agent"}, - "aggregateRating": { "@id": "schema:aggregateRating"}, - "aircraft": { "@id": "schema:aircraft"}, - "album": { "@id": "schema:album"}, - "albumProductionType": { "@id": "schema:albumProductionType"}, - "albumRelease": { "@id": "schema:albumRelease"}, - "albumReleaseType": { "@id": "schema:albumReleaseType"}, - "albums": { "@id": "schema:albums"}, - "alcoholWarning": { "@id": "schema:alcoholWarning"}, - "algorithm": { "@id": "schema:algorithm"}, - "alignmentType": { "@id": "schema:alignmentType"}, - "alternateName": { "@id": "schema:alternateName"}, - "alternativeHeadline": { "@id": "schema:alternativeHeadline"}, - "alumni": { "@id": "schema:alumni"}, - "alumniOf": { "@id": "schema:alumniOf"}, - "amenityFeature": { "@id": "schema:amenityFeature"}, - "amount": { "@id": "schema:amount"}, - "amountOfThisGood": { "@id": "schema:amountOfThisGood"}, - "announcementLocation": { "@id": "schema:announcementLocation"}, - "annualPercentageRate": { "@id": "schema:annualPercentageRate"}, - "answerCount": { "@id": "schema:answerCount"}, - "answerExplanation": { "@id": "schema:answerExplanation"}, - "antagonist": { "@id": "schema:antagonist"}, - "appearance": { "@id": "schema:appearance"}, - "applicableLocation": { "@id": "schema:applicableLocation"}, - "applicantLocationRequirements": { "@id": "schema:applicantLocationRequirements"}, - "application": { "@id": "schema:application"}, - "applicationCategory": { "@id": "schema:applicationCategory"}, - "applicationContact": { "@id": "schema:applicationContact"}, - "applicationDeadline": { "@id": "schema:applicationDeadline", "@type": "Date"}, - "applicationStartDate": { "@id": "schema:applicationStartDate", "@type": "Date"}, - "applicationSubCategory": { "@id": "schema:applicationSubCategory"}, - "applicationSuite": { "@id": "schema:applicationSuite"}, - "appliesToDeliveryMethod": { "@id": "schema:appliesToDeliveryMethod"}, - "appliesToPaymentMethod": { "@id": "schema:appliesToPaymentMethod"}, - "archiveHeld": { "@id": "schema:archiveHeld"}, - "area": { "@id": "schema:area"}, - "areaServed": { "@id": "schema:areaServed"}, - "arrivalAirport": { "@id": "schema:arrivalAirport"}, - "arrivalBoatTerminal": { "@id": "schema:arrivalBoatTerminal"}, - "arrivalBusStop": { "@id": "schema:arrivalBusStop"}, - "arrivalGate": { "@id": "schema:arrivalGate"}, - "arrivalPlatform": { "@id": "schema:arrivalPlatform"}, - "arrivalStation": { "@id": "schema:arrivalStation"}, - "arrivalTerminal": { "@id": "schema:arrivalTerminal"}, - "arrivalTime": { "@id": "schema:arrivalTime"}, - "artEdition": { "@id": "schema:artEdition"}, - "artMedium": { "@id": "schema:artMedium"}, - "arterialBranch": { "@id": "schema:arterialBranch"}, - "artform": { "@id": "schema:artform"}, - "articleBody": { "@id": "schema:articleBody"}, - "articleSection": { "@id": "schema:articleSection"}, - "artist": { "@id": "schema:artist"}, - "artworkSurface": { "@id": "schema:artworkSurface"}, - "aspect": { "@id": "schema:aspect"}, - "assembly": { "@id": "schema:assembly"}, - "assemblyVersion": { "@id": "schema:assemblyVersion"}, - "assesses": { "@id": "schema:assesses"}, - "associatedAnatomy": { "@id": "schema:associatedAnatomy"}, - "associatedArticle": { "@id": "schema:associatedArticle"}, - "associatedMedia": { "@id": "schema:associatedMedia"}, - "associatedPathophysiology": { "@id": "schema:associatedPathophysiology"}, - "athlete": { "@id": "schema:athlete"}, - "attendee": { "@id": "schema:attendee"}, - "attendees": { "@id": "schema:attendees"}, - "audience": { "@id": "schema:audience"}, - "audienceType": { "@id": "schema:audienceType"}, - "audio": { "@id": "schema:audio"}, - "authenticator": { "@id": "schema:authenticator"}, - "author": { "@id": "schema:author"}, - "availability": { "@id": "schema:availability"}, - "availabilityEnds": { "@id": "schema:availabilityEnds", "@type": "Date"}, - "availabilityStarts": { "@id": "schema:availabilityStarts", "@type": "Date"}, - "availableAtOrFrom": { "@id": "schema:availableAtOrFrom"}, - "availableChannel": { "@id": "schema:availableChannel"}, - "availableDeliveryMethod": { "@id": "schema:availableDeliveryMethod"}, - "availableFrom": { "@id": "schema:availableFrom"}, - "availableIn": { "@id": "schema:availableIn"}, - "availableLanguage": { "@id": "schema:availableLanguage"}, - "availableOnDevice": { "@id": "schema:availableOnDevice"}, - "availableService": { "@id": "schema:availableService"}, - "availableStrength": { "@id": "schema:availableStrength"}, - "availableTest": { "@id": "schema:availableTest"}, - "availableThrough": { "@id": "schema:availableThrough"}, - "award": { "@id": "schema:award"}, - "awards": { "@id": "schema:awards"}, - "awayTeam": { "@id": "schema:awayTeam"}, - "backstory": { "@id": "schema:backstory"}, - "bankAccountType": { "@id": "schema:bankAccountType"}, - "baseSalary": { "@id": "schema:baseSalary"}, - "bccRecipient": { "@id": "schema:bccRecipient"}, - "bed": { "@id": "schema:bed"}, - "beforeMedia": { "@id": "schema:beforeMedia", "@type": "@id"}, - "beneficiaryBank": { "@id": "schema:beneficiaryBank"}, - "benefits": { "@id": "schema:benefits"}, - "benefitsSummaryUrl": { "@id": "schema:benefitsSummaryUrl", "@type": "@id"}, - "bestRating": { "@id": "schema:bestRating"}, - "billingAddress": { "@id": "schema:billingAddress"}, - "billingDuration": { "@id": "schema:billingDuration"}, - "billingIncrement": { "@id": "schema:billingIncrement"}, - "billingPeriod": { "@id": "schema:billingPeriod"}, - "billingStart": { "@id": "schema:billingStart"}, - "biomechnicalClass": { "@id": "schema:biomechnicalClass"}, - "birthDate": { "@id": "schema:birthDate", "@type": "Date"}, - "birthPlace": { "@id": "schema:birthPlace"}, - "bitrate": { "@id": "schema:bitrate"}, - "blogPost": { "@id": "schema:blogPost"}, - "blogPosts": { "@id": "schema:blogPosts"}, - "bloodSupply": { "@id": "schema:bloodSupply"}, - "boardingGroup": { "@id": "schema:boardingGroup"}, - "boardingPolicy": { "@id": "schema:boardingPolicy"}, - "bodyLocation": { "@id": "schema:bodyLocation"}, - "bodyType": { "@id": "schema:bodyType"}, - "bookEdition": { "@id": "schema:bookEdition"}, - "bookFormat": { "@id": "schema:bookFormat"}, - "bookingAgent": { "@id": "schema:bookingAgent"}, - "bookingTime": { "@id": "schema:bookingTime"}, - "borrower": { "@id": "schema:borrower"}, - "box": { "@id": "schema:box"}, - "branch": { "@id": "schema:branch"}, - "branchCode": { "@id": "schema:branchCode"}, - "branchOf": { "@id": "schema:branchOf"}, - "brand": { "@id": "schema:brand"}, - "breadcrumb": { "@id": "schema:breadcrumb"}, - "breastfeedingWarning": { "@id": "schema:breastfeedingWarning"}, - "broadcastAffiliateOf": { "@id": "schema:broadcastAffiliateOf"}, - "broadcastChannelId": { "@id": "schema:broadcastChannelId"}, - "broadcastDisplayName": { "@id": "schema:broadcastDisplayName"}, - "broadcastFrequency": { "@id": "schema:broadcastFrequency"}, - "broadcastFrequencyValue": { "@id": "schema:broadcastFrequencyValue"}, - "broadcastOfEvent": { "@id": "schema:broadcastOfEvent"}, - "broadcastServiceTier": { "@id": "schema:broadcastServiceTier"}, - "broadcastSignalModulation": { "@id": "schema:broadcastSignalModulation"}, - "broadcastSubChannel": { "@id": "schema:broadcastSubChannel"}, - "broadcastTimezone": { "@id": "schema:broadcastTimezone"}, - "broadcaster": { "@id": "schema:broadcaster"}, - "broker": { "@id": "schema:broker"}, - "browserRequirements": { "@id": "schema:browserRequirements"}, - "busName": { "@id": "schema:busName"}, - "busNumber": { "@id": "schema:busNumber"}, - "businessDays": { "@id": "schema:businessDays"}, - "businessFunction": { "@id": "schema:businessFunction"}, - "buyer": { "@id": "schema:buyer"}, - "byArtist": { "@id": "schema:byArtist"}, - "byDay": { "@id": "schema:byDay"}, - "byMonth": { "@id": "schema:byMonth"}, - "byMonthDay": { "@id": "schema:byMonthDay"}, - "byMonthWeek": { "@id": "schema:byMonthWeek"}, - "callSign": { "@id": "schema:callSign"}, - "calories": { "@id": "schema:calories"}, - "candidate": { "@id": "schema:candidate"}, - "caption": { "@id": "schema:caption"}, - "carbohydrateContent": { "@id": "schema:carbohydrateContent"}, - "cargoVolume": { "@id": "schema:cargoVolume"}, - "carrier": { "@id": "schema:carrier"}, - "carrierRequirements": { "@id": "schema:carrierRequirements"}, - "cashBack": { "@id": "schema:cashBack"}, - "catalog": { "@id": "schema:catalog"}, - "catalogNumber": { "@id": "schema:catalogNumber"}, - "category": { "@id": "schema:category"}, - "causeOf": { "@id": "schema:causeOf"}, - "ccRecipient": { "@id": "schema:ccRecipient"}, - "character": { "@id": "schema:character"}, - "characterAttribute": { "@id": "schema:characterAttribute"}, - "characterName": { "@id": "schema:characterName"}, - "cheatCode": { "@id": "schema:cheatCode"}, - "checkinTime": { "@id": "schema:checkinTime"}, - "checkoutTime": { "@id": "schema:checkoutTime"}, - "childMaxAge": { "@id": "schema:childMaxAge"}, - "childMinAge": { "@id": "schema:childMinAge"}, - "children": { "@id": "schema:children"}, - "cholesterolContent": { "@id": "schema:cholesterolContent"}, - "circle": { "@id": "schema:circle"}, - "citation": { "@id": "schema:citation"}, - "claimReviewed": { "@id": "schema:claimReviewed"}, - "clincalPharmacology": { "@id": "schema:clincalPharmacology"}, - "clinicalPharmacology": { "@id": "schema:clinicalPharmacology"}, - "clipNumber": { "@id": "schema:clipNumber"}, - "closes": { "@id": "schema:closes"}, - "coach": { "@id": "schema:coach"}, - "code": { "@id": "schema:code"}, - "codeRepository": { "@id": "schema:codeRepository", "@type": "@id"}, - "codeSampleType": { "@id": "schema:codeSampleType"}, - "codeValue": { "@id": "schema:codeValue"}, - "codingSystem": { "@id": "schema:codingSystem"}, - "colleague": { "@id": "schema:colleague", "@type": "@id"}, - "colleagues": { "@id": "schema:colleagues"}, - "collection": { "@id": "schema:collection"}, - "collectionSize": { "@id": "schema:collectionSize"}, - "color": { "@id": "schema:color"}, - "colorist": { "@id": "schema:colorist"}, - "comment": { "@id": "schema:comment"}, - "commentCount": { "@id": "schema:commentCount"}, - "commentText": { "@id": "schema:commentText"}, - "commentTime": { "@id": "schema:commentTime", "@type": "Date"}, - "competencyRequired": { "@id": "schema:competencyRequired"}, - "competitor": { "@id": "schema:competitor"}, - "composer": { "@id": "schema:composer"}, - "comprisedOf": { "@id": "schema:comprisedOf"}, - "conditionsOfAccess": { "@id": "schema:conditionsOfAccess"}, - "confirmationNumber": { "@id": "schema:confirmationNumber"}, - "connectedTo": { "@id": "schema:connectedTo"}, - "constrainingProperty": { "@id": "schema:constrainingProperty"}, - "contactOption": { "@id": "schema:contactOption"}, - "contactPoint": { "@id": "schema:contactPoint"}, - "contactPoints": { "@id": "schema:contactPoints"}, - "contactType": { "@id": "schema:contactType"}, - "contactlessPayment": { "@id": "schema:contactlessPayment"}, - "containedIn": { "@id": "schema:containedIn"}, - "containedInPlace": { "@id": "schema:containedInPlace"}, - "containsPlace": { "@id": "schema:containsPlace"}, - "containsSeason": { "@id": "schema:containsSeason"}, - "contentLocation": { "@id": "schema:contentLocation"}, - "contentRating": { "@id": "schema:contentRating"}, - "contentReferenceTime": { "@id": "schema:contentReferenceTime"}, - "contentSize": { "@id": "schema:contentSize"}, - "contentType": { "@id": "schema:contentType"}, - "contentUrl": { "@id": "schema:contentUrl", "@type": "@id"}, - "contraindication": { "@id": "schema:contraindication"}, - "contributor": { "@id": "schema:contributor"}, - "cookTime": { "@id": "schema:cookTime"}, - "cookingMethod": { "@id": "schema:cookingMethod"}, - "copyrightHolder": { "@id": "schema:copyrightHolder"}, - "copyrightNotice": { "@id": "schema:copyrightNotice"}, - "copyrightYear": { "@id": "schema:copyrightYear"}, - "correction": { "@id": "schema:correction"}, - "correctionsPolicy": { "@id": "schema:correctionsPolicy", "@type": "@id"}, - "costCategory": { "@id": "schema:costCategory"}, - "costCurrency": { "@id": "schema:costCurrency"}, - "costOrigin": { "@id": "schema:costOrigin"}, - "costPerUnit": { "@id": "schema:costPerUnit"}, - "countriesNotSupported": { "@id": "schema:countriesNotSupported"}, - "countriesSupported": { "@id": "schema:countriesSupported"}, - "countryOfOrigin": { "@id": "schema:countryOfOrigin"}, - "course": { "@id": "schema:course"}, - "courseCode": { "@id": "schema:courseCode"}, - "courseMode": { "@id": "schema:courseMode"}, - "coursePrerequisites": { "@id": "schema:coursePrerequisites"}, - "courseWorkload": { "@id": "schema:courseWorkload"}, - "coverageEndTime": { "@id": "schema:coverageEndTime"}, - "coverageStartTime": { "@id": "schema:coverageStartTime"}, - "creativeWorkStatus": { "@id": "schema:creativeWorkStatus"}, - "creator": { "@id": "schema:creator"}, - "credentialCategory": { "@id": "schema:credentialCategory"}, - "creditText": { "@id": "schema:creditText"}, - "creditedTo": { "@id": "schema:creditedTo"}, - "cssSelector": { "@id": "schema:cssSelector"}, - "currenciesAccepted": { "@id": "schema:currenciesAccepted"}, - "currency": { "@id": "schema:currency"}, - "currentExchangeRate": { "@id": "schema:currentExchangeRate"}, - "customer": { "@id": "schema:customer"}, - "cutoffTime": { "@id": "schema:cutoffTime"}, - "cvdCollectionDate": { "@id": "schema:cvdCollectionDate"}, - "cvdFacilityCounty": { "@id": "schema:cvdFacilityCounty"}, - "cvdFacilityId": { "@id": "schema:cvdFacilityId"}, - "cvdNumBeds": { "@id": "schema:cvdNumBeds"}, - "cvdNumBedsOcc": { "@id": "schema:cvdNumBedsOcc"}, - "cvdNumC19Died": { "@id": "schema:cvdNumC19Died"}, - "cvdNumC19HOPats": { "@id": "schema:cvdNumC19HOPats"}, - "cvdNumC19HospPats": { "@id": "schema:cvdNumC19HospPats"}, - "cvdNumC19MechVentPats": { "@id": "schema:cvdNumC19MechVentPats"}, - "cvdNumC19OFMechVentPats": { "@id": "schema:cvdNumC19OFMechVentPats"}, - "cvdNumC19OverflowPats": { "@id": "schema:cvdNumC19OverflowPats"}, - "cvdNumICUBeds": { "@id": "schema:cvdNumICUBeds"}, - "cvdNumICUBedsOcc": { "@id": "schema:cvdNumICUBedsOcc"}, - "cvdNumTotBeds": { "@id": "schema:cvdNumTotBeds"}, - "cvdNumVent": { "@id": "schema:cvdNumVent"}, - "cvdNumVentUse": { "@id": "schema:cvdNumVentUse"}, - "dataFeedElement": { "@id": "schema:dataFeedElement"}, - "dataset": { "@id": "schema:dataset"}, - "datasetTimeInterval": { "@id": "schema:datasetTimeInterval"}, - "dateCreated": { "@id": "schema:dateCreated", "@type": "Date"}, - "dateDeleted": { "@id": "schema:dateDeleted", "@type": "Date"}, - "dateIssued": { "@id": "schema:dateIssued", "@type": "Date"}, - "dateModified": { "@id": "schema:dateModified", "@type": "Date"}, - "datePosted": { "@id": "schema:datePosted", "@type": "Date"}, - "datePublished": { "@id": "schema:datePublished", "@type": "Date"}, - "dateRead": { "@id": "schema:dateRead", "@type": "Date"}, - "dateReceived": { "@id": "schema:dateReceived"}, - "dateSent": { "@id": "schema:dateSent"}, - "dateVehicleFirstRegistered": { "@id": "schema:dateVehicleFirstRegistered", "@type": "Date"}, - "dateline": { "@id": "schema:dateline"}, - "dayOfWeek": { "@id": "schema:dayOfWeek"}, - "deathDate": { "@id": "schema:deathDate", "@type": "Date"}, - "deathPlace": { "@id": "schema:deathPlace"}, - "defaultValue": { "@id": "schema:defaultValue"}, - "deliveryAddress": { "@id": "schema:deliveryAddress"}, - "deliveryLeadTime": { "@id": "schema:deliveryLeadTime"}, - "deliveryMethod": { "@id": "schema:deliveryMethod"}, - "deliveryStatus": { "@id": "schema:deliveryStatus"}, - "deliveryTime": { "@id": "schema:deliveryTime"}, - "department": { "@id": "schema:department"}, - "departureAirport": { "@id": "schema:departureAirport"}, - "departureBoatTerminal": { "@id": "schema:departureBoatTerminal"}, - "departureBusStop": { "@id": "schema:departureBusStop"}, - "departureGate": { "@id": "schema:departureGate"}, - "departurePlatform": { "@id": "schema:departurePlatform"}, - "departureStation": { "@id": "schema:departureStation"}, - "departureTerminal": { "@id": "schema:departureTerminal"}, - "departureTime": { "@id": "schema:departureTime"}, - "dependencies": { "@id": "schema:dependencies"}, - "depth": { "@id": "schema:depth"}, - "description": { "@id": "schema:description"}, - "device": { "@id": "schema:device"}, - "diagnosis": { "@id": "schema:diagnosis"}, - "diagram": { "@id": "schema:diagram"}, - "diet": { "@id": "schema:diet"}, - "dietFeatures": { "@id": "schema:dietFeatures"}, - "differentialDiagnosis": { "@id": "schema:differentialDiagnosis"}, - "director": { "@id": "schema:director"}, - "directors": { "@id": "schema:directors"}, - "disambiguatingDescription": { "@id": "schema:disambiguatingDescription"}, - "discount": { "@id": "schema:discount"}, - "discountCode": { "@id": "schema:discountCode"}, - "discountCurrency": { "@id": "schema:discountCurrency"}, - "discusses": { "@id": "schema:discusses"}, - "discussionUrl": { "@id": "schema:discussionUrl", "@type": "@id"}, - "diseasePreventionInfo": { "@id": "schema:diseasePreventionInfo", "@type": "@id"}, - "diseaseSpreadStatistics": { "@id": "schema:diseaseSpreadStatistics", "@type": "@id"}, - "dissolutionDate": { "@id": "schema:dissolutionDate", "@type": "Date"}, - "distance": { "@id": "schema:distance"}, - "distinguishingSign": { "@id": "schema:distinguishingSign"}, - "distribution": { "@id": "schema:distribution"}, - "diversityPolicy": { "@id": "schema:diversityPolicy", "@type": "@id"}, - "diversityStaffingReport": { "@id": "schema:diversityStaffingReport", "@type": "@id"}, - "documentation": { "@id": "schema:documentation", "@type": "@id"}, - "doesNotShip": { "@id": "schema:doesNotShip"}, - "domainIncludes": { "@id": "schema:domainIncludes"}, - "domiciledMortgage": { "@id": "schema:domiciledMortgage"}, - "doorTime": { "@id": "schema:doorTime"}, - "dosageForm": { "@id": "schema:dosageForm"}, - "doseSchedule": { "@id": "schema:doseSchedule"}, - "doseUnit": { "@id": "schema:doseUnit"}, - "doseValue": { "@id": "schema:doseValue"}, - "downPayment": { "@id": "schema:downPayment"}, - "downloadUrl": { "@id": "schema:downloadUrl", "@type": "@id"}, - "downvoteCount": { "@id": "schema:downvoteCount"}, - "drainsTo": { "@id": "schema:drainsTo"}, - "driveWheelConfiguration": { "@id": "schema:driveWheelConfiguration"}, - "dropoffLocation": { "@id": "schema:dropoffLocation"}, - "dropoffTime": { "@id": "schema:dropoffTime"}, - "drug": { "@id": "schema:drug"}, - "drugClass": { "@id": "schema:drugClass"}, - "drugUnit": { "@id": "schema:drugUnit"}, - "duns": { "@id": "schema:duns"}, - "duplicateTherapy": { "@id": "schema:duplicateTherapy"}, - "duration": { "@id": "schema:duration"}, - "durationOfWarranty": { "@id": "schema:durationOfWarranty"}, - "duringMedia": { "@id": "schema:duringMedia", "@type": "@id"}, - "earlyPrepaymentPenalty": { "@id": "schema:earlyPrepaymentPenalty"}, - "editEIDR": { "@id": "schema:editEIDR"}, - "editor": { "@id": "schema:editor"}, - "eduQuestionType": { "@id": "schema:eduQuestionType"}, - "educationRequirements": { "@id": "schema:educationRequirements"}, - "educationalAlignment": { "@id": "schema:educationalAlignment"}, - "educationalCredentialAwarded": { "@id": "schema:educationalCredentialAwarded"}, - "educationalFramework": { "@id": "schema:educationalFramework"}, - "educationalLevel": { "@id": "schema:educationalLevel"}, - "educationalProgramMode": { "@id": "schema:educationalProgramMode"}, - "educationalRole": { "@id": "schema:educationalRole"}, - "educationalUse": { "@id": "schema:educationalUse"}, - "elevation": { "@id": "schema:elevation"}, - "eligibilityToWorkRequirement": { "@id": "schema:eligibilityToWorkRequirement"}, - "eligibleCustomerType": { "@id": "schema:eligibleCustomerType"}, - "eligibleDuration": { "@id": "schema:eligibleDuration"}, - "eligibleQuantity": { "@id": "schema:eligibleQuantity"}, - "eligibleRegion": { "@id": "schema:eligibleRegion"}, - "eligibleTransactionVolume": { "@id": "schema:eligibleTransactionVolume"}, - "email": { "@id": "schema:email"}, - "embedUrl": { "@id": "schema:embedUrl", "@type": "@id"}, - "emissionsCO2": { "@id": "schema:emissionsCO2"}, - "employee": { "@id": "schema:employee"}, - "employees": { "@id": "schema:employees"}, - "employerOverview": { "@id": "schema:employerOverview"}, - "employmentType": { "@id": "schema:employmentType"}, - "employmentUnit": { "@id": "schema:employmentUnit"}, - "encodesCreativeWork": { "@id": "schema:encodesCreativeWork"}, - "encoding": { "@id": "schema:encoding"}, - "encodingFormat": { "@id": "schema:encodingFormat"}, - "encodingType": { "@id": "schema:encodingType"}, - "encodings": { "@id": "schema:encodings"}, - "endDate": { "@id": "schema:endDate", "@type": "Date"}, - "endOffset": { "@id": "schema:endOffset"}, - "endTime": { "@id": "schema:endTime"}, - "endorsee": { "@id": "schema:endorsee"}, - "endorsers": { "@id": "schema:endorsers"}, - "energyEfficiencyScaleMax": { "@id": "schema:energyEfficiencyScaleMax"}, - "energyEfficiencyScaleMin": { "@id": "schema:energyEfficiencyScaleMin"}, - "engineDisplacement": { "@id": "schema:engineDisplacement"}, - "enginePower": { "@id": "schema:enginePower"}, - "engineType": { "@id": "schema:engineType"}, - "entertainmentBusiness": { "@id": "schema:entertainmentBusiness"}, - "epidemiology": { "@id": "schema:epidemiology"}, - "episode": { "@id": "schema:episode"}, - "episodeNumber": { "@id": "schema:episodeNumber"}, - "episodes": { "@id": "schema:episodes"}, - "equal": { "@id": "schema:equal"}, - "error": { "@id": "schema:error"}, - "estimatedCost": { "@id": "schema:estimatedCost"}, - "estimatedFlightDuration": { "@id": "schema:estimatedFlightDuration"}, - "estimatedSalary": { "@id": "schema:estimatedSalary"}, - "estimatesRiskOf": { "@id": "schema:estimatesRiskOf"}, - "ethicsPolicy": { "@id": "schema:ethicsPolicy", "@type": "@id"}, - "event": { "@id": "schema:event"}, - "eventAttendanceMode": { "@id": "schema:eventAttendanceMode"}, - "eventSchedule": { "@id": "schema:eventSchedule"}, - "eventStatus": { "@id": "schema:eventStatus"}, - "events": { "@id": "schema:events"}, - "evidenceLevel": { "@id": "schema:evidenceLevel"}, - "evidenceOrigin": { "@id": "schema:evidenceOrigin"}, - "exampleOfWork": { "@id": "schema:exampleOfWork"}, - "exceptDate": { "@id": "schema:exceptDate", "@type": "Date"}, - "exchangeRateSpread": { "@id": "schema:exchangeRateSpread"}, - "executableLibraryName": { "@id": "schema:executableLibraryName"}, - "exerciseCourse": { "@id": "schema:exerciseCourse"}, - "exercisePlan": { "@id": "schema:exercisePlan"}, - "exerciseRelatedDiet": { "@id": "schema:exerciseRelatedDiet"}, - "exerciseType": { "@id": "schema:exerciseType"}, - "exifData": { "@id": "schema:exifData"}, - "expectedArrivalFrom": { "@id": "schema:expectedArrivalFrom", "@type": "Date"}, - "expectedArrivalUntil": { "@id": "schema:expectedArrivalUntil", "@type": "Date"}, - "expectedPrognosis": { "@id": "schema:expectedPrognosis"}, - "expectsAcceptanceOf": { "@id": "schema:expectsAcceptanceOf"}, - "experienceRequirements": { "@id": "schema:experienceRequirements"}, - "expertConsiderations": { "@id": "schema:expertConsiderations"}, - "expires": { "@id": "schema:expires", "@type": "Date"}, - "familyName": { "@id": "schema:familyName"}, - "fatContent": { "@id": "schema:fatContent"}, - "faxNumber": { "@id": "schema:faxNumber"}, - "featureList": { "@id": "schema:featureList"}, - "feesAndCommissionsSpecification": { "@id": "schema:feesAndCommissionsSpecification"}, - "fiberContent": { "@id": "schema:fiberContent"}, - "fileFormat": { "@id": "schema:fileFormat"}, - "fileSize": { "@id": "schema:fileSize"}, - "financialAidEligible": { "@id": "schema:financialAidEligible"}, - "firstAppearance": { "@id": "schema:firstAppearance"}, - "firstPerformance": { "@id": "schema:firstPerformance"}, - "flightDistance": { "@id": "schema:flightDistance"}, - "flightNumber": { "@id": "schema:flightNumber"}, - "floorLevel": { "@id": "schema:floorLevel"}, - "floorLimit": { "@id": "schema:floorLimit"}, - "floorSize": { "@id": "schema:floorSize"}, - "followee": { "@id": "schema:followee"}, - "follows": { "@id": "schema:follows"}, - "followup": { "@id": "schema:followup"}, - "foodEstablishment": { "@id": "schema:foodEstablishment"}, - "foodEvent": { "@id": "schema:foodEvent"}, - "foodWarning": { "@id": "schema:foodWarning"}, - "founder": { "@id": "schema:founder"}, - "founders": { "@id": "schema:founders"}, - "foundingDate": { "@id": "schema:foundingDate", "@type": "Date"}, - "foundingLocation": { "@id": "schema:foundingLocation"}, - "free": { "@id": "schema:free"}, - "freeShippingThreshold": { "@id": "schema:freeShippingThreshold"}, - "frequency": { "@id": "schema:frequency"}, - "fromLocation": { "@id": "schema:fromLocation"}, - "fuelCapacity": { "@id": "schema:fuelCapacity"}, - "fuelConsumption": { "@id": "schema:fuelConsumption"}, - "fuelEfficiency": { "@id": "schema:fuelEfficiency"}, - "fuelType": { "@id": "schema:fuelType"}, - "functionalClass": { "@id": "schema:functionalClass"}, - "fundedItem": { "@id": "schema:fundedItem"}, - "funder": { "@id": "schema:funder"}, - "game": { "@id": "schema:game"}, - "gameItem": { "@id": "schema:gameItem"}, - "gameLocation": { "@id": "schema:gameLocation", "@type": "@id"}, - "gamePlatform": { "@id": "schema:gamePlatform"}, - "gameServer": { "@id": "schema:gameServer"}, - "gameTip": { "@id": "schema:gameTip"}, - "gender": { "@id": "schema:gender"}, - "genre": { "@id": "schema:genre"}, - "geo": { "@id": "schema:geo"}, - "geoContains": { "@id": "schema:geoContains"}, - "geoCoveredBy": { "@id": "schema:geoCoveredBy"}, - "geoCovers": { "@id": "schema:geoCovers"}, - "geoCrosses": { "@id": "schema:geoCrosses"}, - "geoDisjoint": { "@id": "schema:geoDisjoint"}, - "geoEquals": { "@id": "schema:geoEquals"}, - "geoIntersects": { "@id": "schema:geoIntersects"}, - "geoMidpoint": { "@id": "schema:geoMidpoint"}, - "geoOverlaps": { "@id": "schema:geoOverlaps"}, - "geoRadius": { "@id": "schema:geoRadius"}, - "geoTouches": { "@id": "schema:geoTouches"}, - "geoWithin": { "@id": "schema:geoWithin"}, - "geographicArea": { "@id": "schema:geographicArea"}, - "gettingTestedInfo": { "@id": "schema:gettingTestedInfo", "@type": "@id"}, - "givenName": { "@id": "schema:givenName"}, - "globalLocationNumber": { "@id": "schema:globalLocationNumber"}, - "governmentBenefitsInfo": { "@id": "schema:governmentBenefitsInfo"}, - "gracePeriod": { "@id": "schema:gracePeriod"}, - "grantee": { "@id": "schema:grantee"}, - "greater": { "@id": "schema:greater"}, - "greaterOrEqual": { "@id": "schema:greaterOrEqual"}, - "gtin": { "@id": "schema:gtin"}, - "gtin12": { "@id": "schema:gtin12"}, - "gtin13": { "@id": "schema:gtin13"}, - "gtin14": { "@id": "schema:gtin14"}, - "gtin8": { "@id": "schema:gtin8"}, - "guideline": { "@id": "schema:guideline"}, - "guidelineDate": { "@id": "schema:guidelineDate", "@type": "Date"}, - "guidelineSubject": { "@id": "schema:guidelineSubject"}, - "handlingTime": { "@id": "schema:handlingTime"}, - "hasBroadcastChannel": { "@id": "schema:hasBroadcastChannel"}, - "hasCategoryCode": { "@id": "schema:hasCategoryCode"}, - "hasCourse": { "@id": "schema:hasCourse"}, - "hasCourseInstance": { "@id": "schema:hasCourseInstance"}, - "hasCredential": { "@id": "schema:hasCredential"}, - "hasDefinedTerm": { "@id": "schema:hasDefinedTerm"}, - "hasDeliveryMethod": { "@id": "schema:hasDeliveryMethod"}, - "hasDigitalDocumentPermission": { "@id": "schema:hasDigitalDocumentPermission"}, - "hasDriveThroughService": { "@id": "schema:hasDriveThroughService"}, - "hasEnergyConsumptionDetails": { "@id": "schema:hasEnergyConsumptionDetails"}, - "hasEnergyEfficiencyCategory": { "@id": "schema:hasEnergyEfficiencyCategory"}, - "hasHealthAspect": { "@id": "schema:hasHealthAspect"}, - "hasMap": { "@id": "schema:hasMap", "@type": "@id"}, - "hasMenu": { "@id": "schema:hasMenu"}, - "hasMenuItem": { "@id": "schema:hasMenuItem"}, - "hasMenuSection": { "@id": "schema:hasMenuSection"}, - "hasMerchantReturnPolicy": { "@id": "schema:hasMerchantReturnPolicy"}, - "hasOccupation": { "@id": "schema:hasOccupation"}, - "hasOfferCatalog": { "@id": "schema:hasOfferCatalog"}, - "hasPOS": { "@id": "schema:hasPOS"}, - "hasPart": { "@id": "schema:hasPart"}, - "hasProductReturnPolicy": { "@id": "schema:hasProductReturnPolicy"}, - "hasVariant": { "@id": "schema:hasVariant"}, - "headline": { "@id": "schema:headline"}, - "healthCondition": { "@id": "schema:healthCondition"}, - "healthPlanCoinsuranceOption": { "@id": "schema:healthPlanCoinsuranceOption"}, - "healthPlanCoinsuranceRate": { "@id": "schema:healthPlanCoinsuranceRate"}, - "healthPlanCopay": { "@id": "schema:healthPlanCopay"}, - "healthPlanCopayOption": { "@id": "schema:healthPlanCopayOption"}, - "healthPlanCostSharing": { "@id": "schema:healthPlanCostSharing"}, - "healthPlanDrugOption": { "@id": "schema:healthPlanDrugOption"}, - "healthPlanDrugTier": { "@id": "schema:healthPlanDrugTier"}, - "healthPlanId": { "@id": "schema:healthPlanId"}, - "healthPlanMarketingUrl": { "@id": "schema:healthPlanMarketingUrl", "@type": "@id"}, - "healthPlanNetworkId": { "@id": "schema:healthPlanNetworkId"}, - "healthPlanNetworkTier": { "@id": "schema:healthPlanNetworkTier"}, - "healthPlanPharmacyCategory": { "@id": "schema:healthPlanPharmacyCategory"}, - "healthcareReportingData": { "@id": "schema:healthcareReportingData"}, - "height": { "@id": "schema:height"}, - "highPrice": { "@id": "schema:highPrice"}, - "hiringOrganization": { "@id": "schema:hiringOrganization"}, - "holdingArchive": { "@id": "schema:holdingArchive"}, - "homeLocation": { "@id": "schema:homeLocation"}, - "homeTeam": { "@id": "schema:homeTeam"}, - "honorificPrefix": { "@id": "schema:honorificPrefix"}, - "honorificSuffix": { "@id": "schema:honorificSuffix"}, - "hospitalAffiliation": { "@id": "schema:hospitalAffiliation"}, - "hostingOrganization": { "@id": "schema:hostingOrganization"}, - "hoursAvailable": { "@id": "schema:hoursAvailable"}, - "howPerformed": { "@id": "schema:howPerformed"}, - "httpMethod": { "@id": "schema:httpMethod"}, - "iataCode": { "@id": "schema:iataCode"}, - "icaoCode": { "@id": "schema:icaoCode"}, - "identifier": { "@id": "schema:identifier"}, - "identifyingExam": { "@id": "schema:identifyingExam"}, - "identifyingTest": { "@id": "schema:identifyingTest"}, - "illustrator": { "@id": "schema:illustrator"}, - "image": { "@id": "schema:image", "@type": "@id"}, - "imagingTechnique": { "@id": "schema:imagingTechnique"}, - "inAlbum": { "@id": "schema:inAlbum"}, - "inBroadcastLineup": { "@id": "schema:inBroadcastLineup"}, - "inCodeSet": { "@id": "schema:inCodeSet", "@type": "@id"}, - "inDefinedTermSet": { "@id": "schema:inDefinedTermSet", "@type": "@id"}, - "inLanguage": { "@id": "schema:inLanguage"}, - "inPlaylist": { "@id": "schema:inPlaylist"}, - "inProductGroupWithID": { "@id": "schema:inProductGroupWithID"}, - "inStoreReturnsOffered": { "@id": "schema:inStoreReturnsOffered"}, - "inSupportOf": { "@id": "schema:inSupportOf"}, - "incentiveCompensation": { "@id": "schema:incentiveCompensation"}, - "incentives": { "@id": "schema:incentives"}, - "includedComposition": { "@id": "schema:includedComposition"}, - "includedDataCatalog": { "@id": "schema:includedDataCatalog"}, - "includedInDataCatalog": { "@id": "schema:includedInDataCatalog"}, - "includedInHealthInsurancePlan": { "@id": "schema:includedInHealthInsurancePlan"}, - "includedRiskFactor": { "@id": "schema:includedRiskFactor"}, - "includesAttraction": { "@id": "schema:includesAttraction"}, - "includesHealthPlanFormulary": { "@id": "schema:includesHealthPlanFormulary"}, - "includesHealthPlanNetwork": { "@id": "schema:includesHealthPlanNetwork"}, - "includesObject": { "@id": "schema:includesObject"}, - "increasesRiskOf": { "@id": "schema:increasesRiskOf"}, - "industry": { "@id": "schema:industry"}, - "ineligibleRegion": { "@id": "schema:ineligibleRegion"}, - "infectiousAgent": { "@id": "schema:infectiousAgent"}, - "infectiousAgentClass": { "@id": "schema:infectiousAgentClass"}, - "ingredients": { "@id": "schema:ingredients"}, - "inker": { "@id": "schema:inker"}, - "insertion": { "@id": "schema:insertion"}, - "installUrl": { "@id": "schema:installUrl", "@type": "@id"}, - "instructor": { "@id": "schema:instructor"}, - "instrument": { "@id": "schema:instrument"}, - "intensity": { "@id": "schema:intensity"}, - "interactingDrug": { "@id": "schema:interactingDrug"}, - "interactionCount": { "@id": "schema:interactionCount"}, - "interactionService": { "@id": "schema:interactionService"}, - "interactionStatistic": { "@id": "schema:interactionStatistic"}, - "interactionType": { "@id": "schema:interactionType"}, - "interactivityType": { "@id": "schema:interactivityType"}, - "interestRate": { "@id": "schema:interestRate"}, - "inventoryLevel": { "@id": "schema:inventoryLevel"}, - "inverseOf": { "@id": "schema:inverseOf"}, - "isAcceptingNewPatients": { "@id": "schema:isAcceptingNewPatients"}, - "isAccessibleForFree": { "@id": "schema:isAccessibleForFree"}, - "isAccessoryOrSparePartFor": { "@id": "schema:isAccessoryOrSparePartFor"}, - "isAvailableGenerically": { "@id": "schema:isAvailableGenerically"}, - "isBasedOn": { "@id": "schema:isBasedOn", "@type": "@id"}, - "isBasedOnUrl": { "@id": "schema:isBasedOnUrl", "@type": "@id"}, - "isConsumableFor": { "@id": "schema:isConsumableFor"}, - "isFamilyFriendly": { "@id": "schema:isFamilyFriendly"}, - "isGift": { "@id": "schema:isGift"}, - "isLiveBroadcast": { "@id": "schema:isLiveBroadcast"}, - "isPartOf": { "@id": "schema:isPartOf", "@type": "@id"}, - "isPlanForApartment": { "@id": "schema:isPlanForApartment"}, - "isProprietary": { "@id": "schema:isProprietary"}, - "isRelatedTo": { "@id": "schema:isRelatedTo"}, - "isResizable": { "@id": "schema:isResizable"}, - "isSimilarTo": { "@id": "schema:isSimilarTo"}, - "isUnlabelledFallback": { "@id": "schema:isUnlabelledFallback"}, - "isVariantOf": { "@id": "schema:isVariantOf"}, - "isbn": { "@id": "schema:isbn"}, - "isicV4": { "@id": "schema:isicV4"}, - "isrcCode": { "@id": "schema:isrcCode"}, - "issn": { "@id": "schema:issn"}, - "issueNumber": { "@id": "schema:issueNumber"}, - "issuedBy": { "@id": "schema:issuedBy"}, - "issuedThrough": { "@id": "schema:issuedThrough"}, - "iswcCode": { "@id": "schema:iswcCode"}, - "item": { "@id": "schema:item"}, - "itemCondition": { "@id": "schema:itemCondition"}, - "itemListElement": { "@id": "schema:itemListElement"}, - "itemListOrder": { "@id": "schema:itemListOrder"}, - "itemLocation": { "@id": "schema:itemLocation"}, - "itemOffered": { "@id": "schema:itemOffered"}, - "itemReviewed": { "@id": "schema:itemReviewed"}, - "itemShipped": { "@id": "schema:itemShipped"}, - "itinerary": { "@id": "schema:itinerary"}, - "jobBenefits": { "@id": "schema:jobBenefits"}, - "jobImmediateStart": { "@id": "schema:jobImmediateStart"}, - "jobLocation": { "@id": "schema:jobLocation"}, - "jobLocationType": { "@id": "schema:jobLocationType"}, - "jobStartDate": { "@id": "schema:jobStartDate"}, - "jobTitle": { "@id": "schema:jobTitle"}, - "jurisdiction": { "@id": "schema:jurisdiction"}, - "keywords": { "@id": "schema:keywords"}, - "knownVehicleDamages": { "@id": "schema:knownVehicleDamages"}, - "knows": { "@id": "schema:knows"}, - "knowsAbout": { "@id": "schema:knowsAbout"}, - "knowsLanguage": { "@id": "schema:knowsLanguage"}, - "labelDetails": { "@id": "schema:labelDetails", "@type": "@id"}, - "landlord": { "@id": "schema:landlord"}, - "language": { "@id": "schema:language"}, - "lastReviewed": { "@id": "schema:lastReviewed", "@type": "Date"}, - "latitude": { "@id": "schema:latitude"}, - "layoutImage": { "@id": "schema:layoutImage", "@type": "@id"}, - "learningResourceType": { "@id": "schema:learningResourceType"}, - "leaseLength": { "@id": "schema:leaseLength"}, - "legalName": { "@id": "schema:legalName"}, - "legalStatus": { "@id": "schema:legalStatus"}, - "legislationApplies": { "@id": "schema:legislationApplies"}, - "legislationChanges": { "@id": "schema:legislationChanges"}, - "legislationConsolidates": { "@id": "schema:legislationConsolidates"}, - "legislationDate": { "@id": "schema:legislationDate", "@type": "Date"}, - "legislationDateVersion": { "@id": "schema:legislationDateVersion", "@type": "Date"}, - "legislationIdentifier": { "@id": "schema:legislationIdentifier"}, - "legislationJurisdiction": { "@id": "schema:legislationJurisdiction"}, - "legislationLegalForce": { "@id": "schema:legislationLegalForce"}, - "legislationLegalValue": { "@id": "schema:legislationLegalValue"}, - "legislationPassedBy": { "@id": "schema:legislationPassedBy"}, - "legislationResponsible": { "@id": "schema:legislationResponsible"}, - "legislationTransposes": { "@id": "schema:legislationTransposes"}, - "legislationType": { "@id": "schema:legislationType"}, - "leiCode": { "@id": "schema:leiCode"}, - "lender": { "@id": "schema:lender"}, - "lesser": { "@id": "schema:lesser"}, - "lesserOrEqual": { "@id": "schema:lesserOrEqual"}, - "letterer": { "@id": "schema:letterer"}, - "license": { "@id": "schema:license", "@type": "@id"}, - "line": { "@id": "schema:line"}, - "linkRelationship": { "@id": "schema:linkRelationship"}, - "liveBlogUpdate": { "@id": "schema:liveBlogUpdate"}, - "loanMortgageMandateAmount": { "@id": "schema:loanMortgageMandateAmount"}, - "loanPaymentAmount": { "@id": "schema:loanPaymentAmount"}, - "loanPaymentFrequency": { "@id": "schema:loanPaymentFrequency"}, - "loanRepaymentForm": { "@id": "schema:loanRepaymentForm"}, - "loanTerm": { "@id": "schema:loanTerm"}, - "loanType": { "@id": "schema:loanType"}, - "location": { "@id": "schema:location"}, - "locationCreated": { "@id": "schema:locationCreated"}, - "lodgingUnitDescription": { "@id": "schema:lodgingUnitDescription"}, - "lodgingUnitType": { "@id": "schema:lodgingUnitType"}, - "logo": { "@id": "schema:logo", "@type": "@id"}, - "longitude": { "@id": "schema:longitude"}, - "loser": { "@id": "schema:loser"}, - "lowPrice": { "@id": "schema:lowPrice"}, - "lyricist": { "@id": "schema:lyricist"}, - "lyrics": { "@id": "schema:lyrics"}, - "mainContentOfPage": { "@id": "schema:mainContentOfPage"}, - "mainEntity": { "@id": "schema:mainEntity"}, - "mainEntityOfPage": { "@id": "schema:mainEntityOfPage", "@type": "@id"}, - "maintainer": { "@id": "schema:maintainer"}, - "makesOffer": { "@id": "schema:makesOffer"}, - "manufacturer": { "@id": "schema:manufacturer"}, - "map": { "@id": "schema:map", "@type": "@id"}, - "mapType": { "@id": "schema:mapType"}, - "maps": { "@id": "schema:maps", "@type": "@id"}, - "marginOfError": { "@id": "schema:marginOfError"}, - "masthead": { "@id": "schema:masthead", "@type": "@id"}, - "material": { "@id": "schema:material"}, - "materialExtent": { "@id": "schema:materialExtent"}, - "mathExpression": { "@id": "schema:mathExpression"}, - "maxPrice": { "@id": "schema:maxPrice"}, - "maxValue": { "@id": "schema:maxValue"}, - "maximumAttendeeCapacity": { "@id": "schema:maximumAttendeeCapacity"}, - "maximumEnrollment": { "@id": "schema:maximumEnrollment"}, - "maximumIntake": { "@id": "schema:maximumIntake"}, - "maximumPhysicalAttendeeCapacity": { "@id": "schema:maximumPhysicalAttendeeCapacity"}, - "maximumVirtualAttendeeCapacity": { "@id": "schema:maximumVirtualAttendeeCapacity"}, - "mealService": { "@id": "schema:mealService"}, - "measuredProperty": { "@id": "schema:measuredProperty"}, - "measuredValue": { "@id": "schema:measuredValue"}, - "measurementTechnique": { "@id": "schema:measurementTechnique"}, - "mechanismOfAction": { "@id": "schema:mechanismOfAction"}, - "mediaAuthenticityCategory": { "@id": "schema:mediaAuthenticityCategory"}, - "median": { "@id": "schema:median"}, - "medicalAudience": { "@id": "schema:medicalAudience"}, - "medicalSpecialty": { "@id": "schema:medicalSpecialty"}, - "medicineSystem": { "@id": "schema:medicineSystem"}, - "meetsEmissionStandard": { "@id": "schema:meetsEmissionStandard"}, - "member": { "@id": "schema:member"}, - "memberOf": { "@id": "schema:memberOf"}, - "members": { "@id": "schema:members"}, - "membershipNumber": { "@id": "schema:membershipNumber"}, - "membershipPointsEarned": { "@id": "schema:membershipPointsEarned"}, - "memoryRequirements": { "@id": "schema:memoryRequirements"}, - "mentions": { "@id": "schema:mentions"}, - "menu": { "@id": "schema:menu"}, - "menuAddOn": { "@id": "schema:menuAddOn"}, - "merchant": { "@id": "schema:merchant"}, - "merchantReturnDays": { "@id": "schema:merchantReturnDays"}, - "merchantReturnLink": { "@id": "schema:merchantReturnLink", "@type": "@id"}, - "messageAttachment": { "@id": "schema:messageAttachment"}, - "mileageFromOdometer": { "@id": "schema:mileageFromOdometer"}, - "minPrice": { "@id": "schema:minPrice"}, - "minValue": { "@id": "schema:minValue"}, - "minimumPaymentDue": { "@id": "schema:minimumPaymentDue"}, - "missionCoveragePrioritiesPolicy": { "@id": "schema:missionCoveragePrioritiesPolicy", "@type": "@id"}, - "model": { "@id": "schema:model"}, - "modelDate": { "@id": "schema:modelDate", "@type": "Date"}, - "modifiedTime": { "@id": "schema:modifiedTime"}, - "monthlyMinimumRepaymentAmount": { "@id": "schema:monthlyMinimumRepaymentAmount"}, - "mpn": { "@id": "schema:mpn"}, - "multipleValues": { "@id": "schema:multipleValues"}, - "muscleAction": { "@id": "schema:muscleAction"}, - "musicArrangement": { "@id": "schema:musicArrangement"}, - "musicBy": { "@id": "schema:musicBy"}, - "musicCompositionForm": { "@id": "schema:musicCompositionForm"}, - "musicGroupMember": { "@id": "schema:musicGroupMember"}, - "musicReleaseFormat": { "@id": "schema:musicReleaseFormat"}, - "musicalKey": { "@id": "schema:musicalKey"}, - "naics": { "@id": "schema:naics"}, - "name": { "@id": "schema:name"}, - "namedPosition": { "@id": "schema:namedPosition"}, - "nationality": { "@id": "schema:nationality"}, - "naturalProgression": { "@id": "schema:naturalProgression"}, - "nerve": { "@id": "schema:nerve"}, - "nerveMotor": { "@id": "schema:nerveMotor"}, - "netWorth": { "@id": "schema:netWorth"}, - "newsUpdatesAndGuidelines": { "@id": "schema:newsUpdatesAndGuidelines", "@type": "@id"}, - "nextItem": { "@id": "schema:nextItem"}, - "noBylinesPolicy": { "@id": "schema:noBylinesPolicy", "@type": "@id"}, - "nonEqual": { "@id": "schema:nonEqual"}, - "nonProprietaryName": { "@id": "schema:nonProprietaryName"}, - "nonprofitStatus": { "@id": "schema:nonprofitStatus"}, - "normalRange": { "@id": "schema:normalRange"}, - "nsn": { "@id": "schema:nsn"}, - "numAdults": { "@id": "schema:numAdults"}, - "numChildren": { "@id": "schema:numChildren"}, - "numConstraints": { "@id": "schema:numConstraints"}, - "numTracks": { "@id": "schema:numTracks"}, - "numberOfAccommodationUnits": { "@id": "schema:numberOfAccommodationUnits"}, - "numberOfAirbags": { "@id": "schema:numberOfAirbags"}, - "numberOfAvailableAccommodationUnits": { "@id": "schema:numberOfAvailableAccommodationUnits"}, - "numberOfAxles": { "@id": "schema:numberOfAxles"}, - "numberOfBathroomsTotal": { "@id": "schema:numberOfBathroomsTotal"}, - "numberOfBedrooms": { "@id": "schema:numberOfBedrooms"}, - "numberOfBeds": { "@id": "schema:numberOfBeds"}, - "numberOfCredits": { "@id": "schema:numberOfCredits"}, - "numberOfDoors": { "@id": "schema:numberOfDoors"}, - "numberOfEmployees": { "@id": "schema:numberOfEmployees"}, - "numberOfEpisodes": { "@id": "schema:numberOfEpisodes"}, - "numberOfForwardGears": { "@id": "schema:numberOfForwardGears"}, - "numberOfFullBathrooms": { "@id": "schema:numberOfFullBathrooms"}, - "numberOfItems": { "@id": "schema:numberOfItems"}, - "numberOfLoanPayments": { "@id": "schema:numberOfLoanPayments"}, - "numberOfPages": { "@id": "schema:numberOfPages"}, - "numberOfPartialBathrooms": { "@id": "schema:numberOfPartialBathrooms"}, - "numberOfPlayers": { "@id": "schema:numberOfPlayers"}, - "numberOfPreviousOwners": { "@id": "schema:numberOfPreviousOwners"}, - "numberOfRooms": { "@id": "schema:numberOfRooms"}, - "numberOfSeasons": { "@id": "schema:numberOfSeasons"}, - "numberedPosition": { "@id": "schema:numberedPosition"}, - "nutrition": { "@id": "schema:nutrition"}, - "object": { "@id": "schema:object"}, - "observationDate": { "@id": "schema:observationDate"}, - "observedNode": { "@id": "schema:observedNode"}, - "occupancy": { "@id": "schema:occupancy"}, - "occupationLocation": { "@id": "schema:occupationLocation"}, - "occupationalCategory": { "@id": "schema:occupationalCategory"}, - "occupationalCredentialAwarded": { "@id": "schema:occupationalCredentialAwarded"}, - "offerCount": { "@id": "schema:offerCount"}, - "offeredBy": { "@id": "schema:offeredBy"}, - "offers": { "@id": "schema:offers"}, - "offersPrescriptionByMail": { "@id": "schema:offersPrescriptionByMail"}, - "openingHours": { "@id": "schema:openingHours"}, - "openingHoursSpecification": { "@id": "schema:openingHoursSpecification"}, - "opens": { "@id": "schema:opens"}, - "operatingSystem": { "@id": "schema:operatingSystem"}, - "opponent": { "@id": "schema:opponent"}, - "option": { "@id": "schema:option"}, - "orderDate": { "@id": "schema:orderDate", "@type": "Date"}, - "orderDelivery": { "@id": "schema:orderDelivery"}, - "orderItemNumber": { "@id": "schema:orderItemNumber"}, - "orderItemStatus": { "@id": "schema:orderItemStatus"}, - "orderNumber": { "@id": "schema:orderNumber"}, - "orderQuantity": { "@id": "schema:orderQuantity"}, - "orderStatus": { "@id": "schema:orderStatus"}, - "orderedItem": { "@id": "schema:orderedItem"}, - "organizer": { "@id": "schema:organizer"}, - "originAddress": { "@id": "schema:originAddress"}, - "originatesFrom": { "@id": "schema:originatesFrom"}, - "overdosage": { "@id": "schema:overdosage"}, - "ownedFrom": { "@id": "schema:ownedFrom"}, - "ownedThrough": { "@id": "schema:ownedThrough"}, - "ownershipFundingInfo": { "@id": "schema:ownershipFundingInfo"}, - "owns": { "@id": "schema:owns"}, - "pageEnd": { "@id": "schema:pageEnd"}, - "pageStart": { "@id": "schema:pageStart"}, - "pagination": { "@id": "schema:pagination"}, - "parent": { "@id": "schema:parent"}, - "parentItem": { "@id": "schema:parentItem"}, - "parentOrganization": { "@id": "schema:parentOrganization"}, - "parentService": { "@id": "schema:parentService"}, - "parents": { "@id": "schema:parents"}, - "partOfEpisode": { "@id": "schema:partOfEpisode"}, - "partOfInvoice": { "@id": "schema:partOfInvoice"}, - "partOfOrder": { "@id": "schema:partOfOrder"}, - "partOfSeason": { "@id": "schema:partOfSeason"}, - "partOfSeries": { "@id": "schema:partOfSeries"}, - "partOfSystem": { "@id": "schema:partOfSystem"}, - "partOfTVSeries": { "@id": "schema:partOfTVSeries"}, - "partOfTrip": { "@id": "schema:partOfTrip"}, - "participant": { "@id": "schema:participant"}, - "partySize": { "@id": "schema:partySize"}, - "passengerPriorityStatus": { "@id": "schema:passengerPriorityStatus"}, - "passengerSequenceNumber": { "@id": "schema:passengerSequenceNumber"}, - "pathophysiology": { "@id": "schema:pathophysiology"}, - "pattern": { "@id": "schema:pattern"}, - "payload": { "@id": "schema:payload"}, - "paymentAccepted": { "@id": "schema:paymentAccepted"}, - "paymentDue": { "@id": "schema:paymentDue"}, - "paymentDueDate": { "@id": "schema:paymentDueDate", "@type": "Date"}, - "paymentMethod": { "@id": "schema:paymentMethod"}, - "paymentMethodId": { "@id": "schema:paymentMethodId"}, - "paymentStatus": { "@id": "schema:paymentStatus"}, - "paymentUrl": { "@id": "schema:paymentUrl", "@type": "@id"}, - "penciler": { "@id": "schema:penciler"}, - "percentile10": { "@id": "schema:percentile10"}, - "percentile25": { "@id": "schema:percentile25"}, - "percentile75": { "@id": "schema:percentile75"}, - "percentile90": { "@id": "schema:percentile90"}, - "performTime": { "@id": "schema:performTime"}, - "performer": { "@id": "schema:performer"}, - "performerIn": { "@id": "schema:performerIn"}, - "performers": { "@id": "schema:performers"}, - "permissionType": { "@id": "schema:permissionType"}, - "permissions": { "@id": "schema:permissions"}, - "permitAudience": { "@id": "schema:permitAudience"}, - "permittedUsage": { "@id": "schema:permittedUsage"}, - "petsAllowed": { "@id": "schema:petsAllowed"}, - "phoneticText": { "@id": "schema:phoneticText"}, - "photo": { "@id": "schema:photo"}, - "photos": { "@id": "schema:photos"}, - "physicalRequirement": { "@id": "schema:physicalRequirement"}, - "physiologicalBenefits": { "@id": "schema:physiologicalBenefits"}, - "pickupLocation": { "@id": "schema:pickupLocation"}, - "pickupTime": { "@id": "schema:pickupTime"}, - "playMode": { "@id": "schema:playMode"}, - "playerType": { "@id": "schema:playerType"}, - "playersOnline": { "@id": "schema:playersOnline"}, - "polygon": { "@id": "schema:polygon"}, - "populationType": { "@id": "schema:populationType"}, - "position": { "@id": "schema:position"}, - "possibleComplication": { "@id": "schema:possibleComplication"}, - "possibleTreatment": { "@id": "schema:possibleTreatment"}, - "postOfficeBoxNumber": { "@id": "schema:postOfficeBoxNumber"}, - "postOp": { "@id": "schema:postOp"}, - "postalCode": { "@id": "schema:postalCode"}, - "postalCodeBegin": { "@id": "schema:postalCodeBegin"}, - "postalCodeEnd": { "@id": "schema:postalCodeEnd"}, - "postalCodePrefix": { "@id": "schema:postalCodePrefix"}, - "postalCodeRange": { "@id": "schema:postalCodeRange"}, - "potentialAction": { "@id": "schema:potentialAction"}, - "preOp": { "@id": "schema:preOp"}, - "predecessorOf": { "@id": "schema:predecessorOf"}, - "pregnancyCategory": { "@id": "schema:pregnancyCategory"}, - "pregnancyWarning": { "@id": "schema:pregnancyWarning"}, - "prepTime": { "@id": "schema:prepTime"}, - "preparation": { "@id": "schema:preparation"}, - "prescribingInfo": { "@id": "schema:prescribingInfo", "@type": "@id"}, - "prescriptionStatus": { "@id": "schema:prescriptionStatus"}, - "previousItem": { "@id": "schema:previousItem"}, - "previousStartDate": { "@id": "schema:previousStartDate", "@type": "Date"}, - "price": { "@id": "schema:price"}, - "priceComponent": { "@id": "schema:priceComponent"}, - "priceComponentType": { "@id": "schema:priceComponentType"}, - "priceCurrency": { "@id": "schema:priceCurrency"}, - "priceRange": { "@id": "schema:priceRange"}, - "priceSpecification": { "@id": "schema:priceSpecification"}, - "priceType": { "@id": "schema:priceType"}, - "priceValidUntil": { "@id": "schema:priceValidUntil", "@type": "Date"}, - "primaryImageOfPage": { "@id": "schema:primaryImageOfPage"}, - "primaryPrevention": { "@id": "schema:primaryPrevention"}, - "printColumn": { "@id": "schema:printColumn"}, - "printEdition": { "@id": "schema:printEdition"}, - "printPage": { "@id": "schema:printPage"}, - "printSection": { "@id": "schema:printSection"}, - "procedure": { "@id": "schema:procedure"}, - "procedureType": { "@id": "schema:procedureType"}, - "processingTime": { "@id": "schema:processingTime"}, - "processorRequirements": { "@id": "schema:processorRequirements"}, - "producer": { "@id": "schema:producer"}, - "produces": { "@id": "schema:produces"}, - "productGroupID": { "@id": "schema:productGroupID"}, - "productID": { "@id": "schema:productID"}, - "productReturnDays": { "@id": "schema:productReturnDays"}, - "productReturnLink": { "@id": "schema:productReturnLink", "@type": "@id"}, - "productSupported": { "@id": "schema:productSupported"}, - "productionCompany": { "@id": "schema:productionCompany"}, - "productionDate": { "@id": "schema:productionDate", "@type": "Date"}, - "proficiencyLevel": { "@id": "schema:proficiencyLevel"}, - "programMembershipUsed": { "@id": "schema:programMembershipUsed"}, - "programName": { "@id": "schema:programName"}, - "programPrerequisites": { "@id": "schema:programPrerequisites"}, - "programType": { "@id": "schema:programType"}, - "programmingLanguage": { "@id": "schema:programmingLanguage"}, - "programmingModel": { "@id": "schema:programmingModel"}, - "propertyID": { "@id": "schema:propertyID"}, - "proprietaryName": { "@id": "schema:proprietaryName"}, - "proteinContent": { "@id": "schema:proteinContent"}, - "provider": { "@id": "schema:provider"}, - "providerMobility": { "@id": "schema:providerMobility"}, - "providesBroadcastService": { "@id": "schema:providesBroadcastService"}, - "providesService": { "@id": "schema:providesService"}, - "publicAccess": { "@id": "schema:publicAccess"}, - "publicTransportClosuresInfo": { "@id": "schema:publicTransportClosuresInfo", "@type": "@id"}, - "publication": { "@id": "schema:publication"}, - "publicationType": { "@id": "schema:publicationType"}, - "publishedBy": { "@id": "schema:publishedBy"}, - "publishedOn": { "@id": "schema:publishedOn"}, - "publisher": { "@id": "schema:publisher"}, - "publisherImprint": { "@id": "schema:publisherImprint"}, - "publishingPrinciples": { "@id": "schema:publishingPrinciples", "@type": "@id"}, - "purchaseDate": { "@id": "schema:purchaseDate", "@type": "Date"}, - "qualifications": { "@id": "schema:qualifications"}, - "quarantineGuidelines": { "@id": "schema:quarantineGuidelines", "@type": "@id"}, - "query": { "@id": "schema:query"}, - "quest": { "@id": "schema:quest"}, - "question": { "@id": "schema:question"}, - "rangeIncludes": { "@id": "schema:rangeIncludes"}, - "ratingCount": { "@id": "schema:ratingCount"}, - "ratingExplanation": { "@id": "schema:ratingExplanation"}, - "ratingValue": { "@id": "schema:ratingValue"}, - "readBy": { "@id": "schema:readBy"}, - "readonlyValue": { "@id": "schema:readonlyValue"}, - "realEstateAgent": { "@id": "schema:realEstateAgent"}, - "recipe": { "@id": "schema:recipe"}, - "recipeCategory": { "@id": "schema:recipeCategory"}, - "recipeCuisine": { "@id": "schema:recipeCuisine"}, - "recipeIngredient": { "@id": "schema:recipeIngredient"}, - "recipeInstructions": { "@id": "schema:recipeInstructions"}, - "recipeYield": { "@id": "schema:recipeYield"}, - "recipient": { "@id": "schema:recipient"}, - "recognizedBy": { "@id": "schema:recognizedBy"}, - "recognizingAuthority": { "@id": "schema:recognizingAuthority"}, - "recommendationStrength": { "@id": "schema:recommendationStrength"}, - "recommendedIntake": { "@id": "schema:recommendedIntake"}, - "recordLabel": { "@id": "schema:recordLabel"}, - "recordedAs": { "@id": "schema:recordedAs"}, - "recordedAt": { "@id": "schema:recordedAt"}, - "recordedIn": { "@id": "schema:recordedIn"}, - "recordingOf": { "@id": "schema:recordingOf"}, - "recourseLoan": { "@id": "schema:recourseLoan"}, - "referenceQuantity": { "@id": "schema:referenceQuantity"}, - "referencesOrder": { "@id": "schema:referencesOrder"}, - "refundType": { "@id": "schema:refundType"}, - "regionDrained": { "@id": "schema:regionDrained"}, - "regionsAllowed": { "@id": "schema:regionsAllowed"}, - "relatedAnatomy": { "@id": "schema:relatedAnatomy"}, - "relatedCondition": { "@id": "schema:relatedCondition"}, - "relatedDrug": { "@id": "schema:relatedDrug"}, - "relatedLink": { "@id": "schema:relatedLink", "@type": "@id"}, - "relatedStructure": { "@id": "schema:relatedStructure"}, - "relatedTherapy": { "@id": "schema:relatedTherapy"}, - "relatedTo": { "@id": "schema:relatedTo"}, - "releaseDate": { "@id": "schema:releaseDate", "@type": "Date"}, - "releaseNotes": { "@id": "schema:releaseNotes"}, - "releaseOf": { "@id": "schema:releaseOf"}, - "releasedEvent": { "@id": "schema:releasedEvent"}, - "relevantOccupation": { "@id": "schema:relevantOccupation"}, - "relevantSpecialty": { "@id": "schema:relevantSpecialty"}, - "remainingAttendeeCapacity": { "@id": "schema:remainingAttendeeCapacity"}, - "renegotiableLoan": { "@id": "schema:renegotiableLoan"}, - "repeatCount": { "@id": "schema:repeatCount"}, - "repeatFrequency": { "@id": "schema:repeatFrequency"}, - "repetitions": { "@id": "schema:repetitions"}, - "replacee": { "@id": "schema:replacee"}, - "replacer": { "@id": "schema:replacer"}, - "replyToUrl": { "@id": "schema:replyToUrl", "@type": "@id"}, - "reportNumber": { "@id": "schema:reportNumber"}, - "representativeOfPage": { "@id": "schema:representativeOfPage"}, - "requiredCollateral": { "@id": "schema:requiredCollateral"}, - "requiredGender": { "@id": "schema:requiredGender"}, - "requiredMaxAge": { "@id": "schema:requiredMaxAge"}, - "requiredMinAge": { "@id": "schema:requiredMinAge"}, - "requiredQuantity": { "@id": "schema:requiredQuantity"}, - "requirements": { "@id": "schema:requirements"}, - "requiresSubscription": { "@id": "schema:requiresSubscription"}, - "reservationFor": { "@id": "schema:reservationFor"}, - "reservationId": { "@id": "schema:reservationId"}, - "reservationStatus": { "@id": "schema:reservationStatus"}, - "reservedTicket": { "@id": "schema:reservedTicket"}, - "responsibilities": { "@id": "schema:responsibilities"}, - "restPeriods": { "@id": "schema:restPeriods"}, - "result": { "@id": "schema:result"}, - "resultComment": { "@id": "schema:resultComment"}, - "resultReview": { "@id": "schema:resultReview"}, - "returnFees": { "@id": "schema:returnFees"}, - "returnPolicyCategory": { "@id": "schema:returnPolicyCategory"}, - "review": { "@id": "schema:review"}, - "reviewAspect": { "@id": "schema:reviewAspect"}, - "reviewBody": { "@id": "schema:reviewBody"}, - "reviewCount": { "@id": "schema:reviewCount"}, - "reviewRating": { "@id": "schema:reviewRating"}, - "reviewedBy": { "@id": "schema:reviewedBy"}, - "reviews": { "@id": "schema:reviews"}, - "riskFactor": { "@id": "schema:riskFactor"}, - "risks": { "@id": "schema:risks"}, - "roleName": { "@id": "schema:roleName"}, - "roofLoad": { "@id": "schema:roofLoad"}, - "rsvpResponse": { "@id": "schema:rsvpResponse"}, - "runsTo": { "@id": "schema:runsTo"}, - "runtime": { "@id": "schema:runtime"}, - "runtimePlatform": { "@id": "schema:runtimePlatform"}, - "rxcui": { "@id": "schema:rxcui"}, - "safetyConsideration": { "@id": "schema:safetyConsideration"}, - "salaryCurrency": { "@id": "schema:salaryCurrency"}, - "salaryUponCompletion": { "@id": "schema:salaryUponCompletion"}, - "sameAs": { "@id": "schema:sameAs", "@type": "@id"}, - "sampleType": { "@id": "schema:sampleType"}, - "saturatedFatContent": { "@id": "schema:saturatedFatContent"}, - "scheduleTimezone": { "@id": "schema:scheduleTimezone"}, - "scheduledPaymentDate": { "@id": "schema:scheduledPaymentDate", "@type": "Date"}, - "scheduledTime": { "@id": "schema:scheduledTime"}, - "schemaVersion": { "@id": "schema:schemaVersion"}, - "schoolClosuresInfo": { "@id": "schema:schoolClosuresInfo", "@type": "@id"}, - "screenCount": { "@id": "schema:screenCount"}, - "screenshot": { "@id": "schema:screenshot", "@type": "@id"}, - "sdDatePublished": { "@id": "schema:sdDatePublished", "@type": "Date"}, - "sdLicense": { "@id": "schema:sdLicense", "@type": "@id"}, - "sdPublisher": { "@id": "schema:sdPublisher"}, - "season": { "@id": "schema:season", "@type": "@id"}, - "seasonNumber": { "@id": "schema:seasonNumber"}, - "seasons": { "@id": "schema:seasons"}, - "seatNumber": { "@id": "schema:seatNumber"}, - "seatRow": { "@id": "schema:seatRow"}, - "seatSection": { "@id": "schema:seatSection"}, - "seatingCapacity": { "@id": "schema:seatingCapacity"}, - "seatingType": { "@id": "schema:seatingType"}, - "secondaryPrevention": { "@id": "schema:secondaryPrevention"}, - "securityClearanceRequirement": { "@id": "schema:securityClearanceRequirement"}, - "securityScreening": { "@id": "schema:securityScreening"}, - "seeks": { "@id": "schema:seeks"}, - "seller": { "@id": "schema:seller"}, - "sender": { "@id": "schema:sender"}, - "sensoryRequirement": { "@id": "schema:sensoryRequirement"}, - "sensoryUnit": { "@id": "schema:sensoryUnit"}, - "serialNumber": { "@id": "schema:serialNumber"}, - "seriousAdverseOutcome": { "@id": "schema:seriousAdverseOutcome"}, - "serverStatus": { "@id": "schema:serverStatus"}, - "servesCuisine": { "@id": "schema:servesCuisine"}, - "serviceArea": { "@id": "schema:serviceArea"}, - "serviceAudience": { "@id": "schema:serviceAudience"}, - "serviceLocation": { "@id": "schema:serviceLocation"}, - "serviceOperator": { "@id": "schema:serviceOperator"}, - "serviceOutput": { "@id": "schema:serviceOutput"}, - "servicePhone": { "@id": "schema:servicePhone"}, - "servicePostalAddress": { "@id": "schema:servicePostalAddress"}, - "serviceSmsNumber": { "@id": "schema:serviceSmsNumber"}, - "serviceType": { "@id": "schema:serviceType"}, - "serviceUrl": { "@id": "schema:serviceUrl", "@type": "@id"}, - "servingSize": { "@id": "schema:servingSize"}, - "sharedContent": { "@id": "schema:sharedContent"}, - "shippingDestination": { "@id": "schema:shippingDestination"}, - "shippingDetails": { "@id": "schema:shippingDetails"}, - "shippingLabel": { "@id": "schema:shippingLabel"}, - "shippingRate": { "@id": "schema:shippingRate"}, - "shippingSettingsLink": { "@id": "schema:shippingSettingsLink", "@type": "@id"}, - "sibling": { "@id": "schema:sibling"}, - "siblings": { "@id": "schema:siblings"}, - "signDetected": { "@id": "schema:signDetected"}, - "signOrSymptom": { "@id": "schema:signOrSymptom"}, - "significance": { "@id": "schema:significance"}, - "significantLink": { "@id": "schema:significantLink", "@type": "@id"}, - "significantLinks": { "@id": "schema:significantLinks", "@type": "@id"}, - "size": { "@id": "schema:size"}, - "skills": { "@id": "schema:skills"}, - "sku": { "@id": "schema:sku"}, - "slogan": { "@id": "schema:slogan"}, - "smokingAllowed": { "@id": "schema:smokingAllowed"}, - "sodiumContent": { "@id": "schema:sodiumContent"}, - "softwareAddOn": { "@id": "schema:softwareAddOn"}, - "softwareHelp": { "@id": "schema:softwareHelp"}, - "softwareRequirements": { "@id": "schema:softwareRequirements"}, - "softwareVersion": { "@id": "schema:softwareVersion"}, - "sourceOrganization": { "@id": "schema:sourceOrganization"}, - "sourcedFrom": { "@id": "schema:sourcedFrom"}, - "spatial": { "@id": "schema:spatial"}, - "spatialCoverage": { "@id": "schema:spatialCoverage"}, - "speakable": { "@id": "schema:speakable", "@type": "@id"}, - "specialCommitments": { "@id": "schema:specialCommitments"}, - "specialOpeningHoursSpecification": { "@id": "schema:specialOpeningHoursSpecification"}, - "specialty": { "@id": "schema:specialty"}, - "speechToTextMarkup": { "@id": "schema:speechToTextMarkup"}, - "speed": { "@id": "schema:speed"}, - "spokenByCharacter": { "@id": "schema:spokenByCharacter"}, - "sponsor": { "@id": "schema:sponsor"}, - "sport": { "@id": "schema:sport"}, - "sportsActivityLocation": { "@id": "schema:sportsActivityLocation"}, - "sportsEvent": { "@id": "schema:sportsEvent"}, - "sportsTeam": { "@id": "schema:sportsTeam"}, - "spouse": { "@id": "schema:spouse"}, - "stage": { "@id": "schema:stage"}, - "stageAsNumber": { "@id": "schema:stageAsNumber"}, - "starRating": { "@id": "schema:starRating"}, - "startDate": { "@id": "schema:startDate", "@type": "Date"}, - "startOffset": { "@id": "schema:startOffset"}, - "startTime": { "@id": "schema:startTime"}, - "status": { "@id": "schema:status"}, - "steeringPosition": { "@id": "schema:steeringPosition"}, - "step": { "@id": "schema:step"}, - "stepValue": { "@id": "schema:stepValue"}, - "steps": { "@id": "schema:steps"}, - "storageRequirements": { "@id": "schema:storageRequirements"}, - "streetAddress": { "@id": "schema:streetAddress"}, - "strengthUnit": { "@id": "schema:strengthUnit"}, - "strengthValue": { "@id": "schema:strengthValue"}, - "structuralClass": { "@id": "schema:structuralClass"}, - "study": { "@id": "schema:study"}, - "studyDesign": { "@id": "schema:studyDesign"}, - "studyLocation": { "@id": "schema:studyLocation"}, - "studySubject": { "@id": "schema:studySubject"}, - "stupidProperty": { "@id": "schema:stupidProperty"}, - "subEvent": { "@id": "schema:subEvent"}, - "subEvents": { "@id": "schema:subEvents"}, - "subOrganization": { "@id": "schema:subOrganization"}, - "subReservation": { "@id": "schema:subReservation"}, - "subStageSuffix": { "@id": "schema:subStageSuffix"}, - "subStructure": { "@id": "schema:subStructure"}, - "subTest": { "@id": "schema:subTest"}, - "subTrip": { "@id": "schema:subTrip"}, - "subjectOf": { "@id": "schema:subjectOf"}, - "subtitleLanguage": { "@id": "schema:subtitleLanguage"}, - "successorOf": { "@id": "schema:successorOf"}, - "sugarContent": { "@id": "schema:sugarContent"}, - "suggestedAnswer": { "@id": "schema:suggestedAnswer"}, - "suggestedGender": { "@id": "schema:suggestedGender"}, - "suggestedMaxAge": { "@id": "schema:suggestedMaxAge"}, - "suggestedMinAge": { "@id": "schema:suggestedMinAge"}, - "suitableForDiet": { "@id": "schema:suitableForDiet"}, - "superEvent": { "@id": "schema:superEvent"}, - "supersededBy": { "@id": "schema:supersededBy"}, - "supply": { "@id": "schema:supply"}, - "supplyTo": { "@id": "schema:supplyTo"}, - "supportingData": { "@id": "schema:supportingData"}, - "surface": { "@id": "schema:surface"}, - "target": { "@id": "schema:target"}, - "targetCollection": { "@id": "schema:targetCollection"}, - "targetDescription": { "@id": "schema:targetDescription"}, - "targetName": { "@id": "schema:targetName"}, - "targetPlatform": { "@id": "schema:targetPlatform"}, - "targetPopulation": { "@id": "schema:targetPopulation"}, - "targetProduct": { "@id": "schema:targetProduct"}, - "targetUrl": { "@id": "schema:targetUrl", "@type": "@id"}, - "taxID": { "@id": "schema:taxID"}, - "teaches": { "@id": "schema:teaches"}, - "telephone": { "@id": "schema:telephone"}, - "temporal": { "@id": "schema:temporal"}, - "temporalCoverage": { "@id": "schema:temporalCoverage"}, - "termCode": { "@id": "schema:termCode"}, - "termDuration": { "@id": "schema:termDuration"}, - "termsOfService": { "@id": "schema:termsOfService"}, - "termsPerYear": { "@id": "schema:termsPerYear"}, - "text": { "@id": "schema:text"}, - "textValue": { "@id": "schema:textValue"}, - "thumbnail": { "@id": "schema:thumbnail"}, - "thumbnailUrl": { "@id": "schema:thumbnailUrl", "@type": "@id"}, - "tickerSymbol": { "@id": "schema:tickerSymbol"}, - "ticketNumber": { "@id": "schema:ticketNumber"}, - "ticketToken": { "@id": "schema:ticketToken"}, - "ticketedSeat": { "@id": "schema:ticketedSeat"}, - "timeOfDay": { "@id": "schema:timeOfDay"}, - "timeRequired": { "@id": "schema:timeRequired"}, - "timeToComplete": { "@id": "schema:timeToComplete"}, - "tissueSample": { "@id": "schema:tissueSample"}, - "title": { "@id": "schema:title"}, - "titleEIDR": { "@id": "schema:titleEIDR"}, - "toLocation": { "@id": "schema:toLocation"}, - "toRecipient": { "@id": "schema:toRecipient"}, - "tocContinuation": { "@id": "schema:tocContinuation"}, - "tocEntry": { "@id": "schema:tocEntry"}, - "tongueWeight": { "@id": "schema:tongueWeight"}, - "tool": { "@id": "schema:tool"}, - "torque": { "@id": "schema:torque"}, - "totalJobOpenings": { "@id": "schema:totalJobOpenings"}, - "totalPaymentDue": { "@id": "schema:totalPaymentDue"}, - "totalPrice": { "@id": "schema:totalPrice"}, - "totalTime": { "@id": "schema:totalTime"}, - "tourBookingPage": { "@id": "schema:tourBookingPage", "@type": "@id"}, - "touristType": { "@id": "schema:touristType"}, - "track": { "@id": "schema:track"}, - "trackingNumber": { "@id": "schema:trackingNumber"}, - "trackingUrl": { "@id": "schema:trackingUrl", "@type": "@id"}, - "tracks": { "@id": "schema:tracks"}, - "trailer": { "@id": "schema:trailer"}, - "trailerWeight": { "@id": "schema:trailerWeight"}, - "trainName": { "@id": "schema:trainName"}, - "trainNumber": { "@id": "schema:trainNumber"}, - "trainingSalary": { "@id": "schema:trainingSalary"}, - "transFatContent": { "@id": "schema:transFatContent"}, - "transcript": { "@id": "schema:transcript"}, - "transitTime": { "@id": "schema:transitTime"}, - "transitTimeLabel": { "@id": "schema:transitTimeLabel"}, - "translationOfWork": { "@id": "schema:translationOfWork"}, - "translator": { "@id": "schema:translator"}, - "transmissionMethod": { "@id": "schema:transmissionMethod"}, - "travelBans": { "@id": "schema:travelBans", "@type": "@id"}, - "trialDesign": { "@id": "schema:trialDesign"}, - "tributary": { "@id": "schema:tributary"}, - "typeOfBed": { "@id": "schema:typeOfBed"}, - "typeOfGood": { "@id": "schema:typeOfGood"}, - "typicalAgeRange": { "@id": "schema:typicalAgeRange"}, - "typicalCreditsPerTerm": { "@id": "schema:typicalCreditsPerTerm"}, - "typicalTest": { "@id": "schema:typicalTest"}, - "underName": { "@id": "schema:underName"}, - "unitCode": { "@id": "schema:unitCode"}, - "unitText": { "@id": "schema:unitText"}, - "unnamedSourcesPolicy": { "@id": "schema:unnamedSourcesPolicy", "@type": "@id"}, - "unsaturatedFatContent": { "@id": "schema:unsaturatedFatContent"}, - "uploadDate": { "@id": "schema:uploadDate", "@type": "Date"}, - "upvoteCount": { "@id": "schema:upvoteCount"}, - "url": { "@id": "schema:url", "@type": "@id"}, - "urlTemplate": { "@id": "schema:urlTemplate"}, - "usageInfo": { "@id": "schema:usageInfo", "@type": "@id"}, - "usedToDiagnose": { "@id": "schema:usedToDiagnose"}, - "userInteractionCount": { "@id": "schema:userInteractionCount"}, - "usesDevice": { "@id": "schema:usesDevice"}, - "usesHealthPlanIdStandard": { "@id": "schema:usesHealthPlanIdStandard"}, - "utterances": { "@id": "schema:utterances"}, - "validFor": { "@id": "schema:validFor"}, - "validFrom": { "@id": "schema:validFrom", "@type": "Date"}, - "validIn": { "@id": "schema:validIn"}, - "validThrough": { "@id": "schema:validThrough", "@type": "Date"}, - "validUntil": { "@id": "schema:validUntil", "@type": "Date"}, - "value": { "@id": "schema:value"}, - "valueAddedTaxIncluded": { "@id": "schema:valueAddedTaxIncluded"}, - "valueMaxLength": { "@id": "schema:valueMaxLength"}, - "valueMinLength": { "@id": "schema:valueMinLength"}, - "valueName": { "@id": "schema:valueName"}, - "valuePattern": { "@id": "schema:valuePattern"}, - "valueReference": { "@id": "schema:valueReference"}, - "valueRequired": { "@id": "schema:valueRequired"}, - "variableMeasured": { "@id": "schema:variableMeasured"}, - "variablesMeasured": { "@id": "schema:variablesMeasured"}, - "variantCover": { "@id": "schema:variantCover"}, - "variesBy": { "@id": "schema:variesBy"}, - "vatID": { "@id": "schema:vatID"}, - "vehicleConfiguration": { "@id": "schema:vehicleConfiguration"}, - "vehicleEngine": { "@id": "schema:vehicleEngine"}, - "vehicleIdentificationNumber": { "@id": "schema:vehicleIdentificationNumber"}, - "vehicleInteriorColor": { "@id": "schema:vehicleInteriorColor"}, - "vehicleInteriorType": { "@id": "schema:vehicleInteriorType"}, - "vehicleModelDate": { "@id": "schema:vehicleModelDate", "@type": "Date"}, - "vehicleSeatingCapacity": { "@id": "schema:vehicleSeatingCapacity"}, - "vehicleSpecialUsage": { "@id": "schema:vehicleSpecialUsage"}, - "vehicleTransmission": { "@id": "schema:vehicleTransmission"}, - "vendor": { "@id": "schema:vendor"}, - "verificationFactCheckingPolicy": { "@id": "schema:verificationFactCheckingPolicy", "@type": "@id"}, - "version": { "@id": "schema:version"}, - "video": { "@id": "schema:video"}, - "videoFormat": { "@id": "schema:videoFormat"}, - "videoFrameSize": { "@id": "schema:videoFrameSize"}, - "videoQuality": { "@id": "schema:videoQuality"}, - "volumeNumber": { "@id": "schema:volumeNumber"}, - "warning": { "@id": "schema:warning"}, - "warranty": { "@id": "schema:warranty"}, - "warrantyPromise": { "@id": "schema:warrantyPromise"}, - "warrantyScope": { "@id": "schema:warrantyScope"}, - "webCheckinTime": { "@id": "schema:webCheckinTime"}, - "webFeed": { "@id": "schema:webFeed", "@type": "@id"}, - "weight": { "@id": "schema:weight"}, - "weightTotal": { "@id": "schema:weightTotal"}, - "wheelbase": { "@id": "schema:wheelbase"}, - "width": { "@id": "schema:width"}, - "winner": { "@id": "schema:winner"}, - "wordCount": { "@id": "schema:wordCount"}, - "workExample": { "@id": "schema:workExample"}, - "workFeatured": { "@id": "schema:workFeatured"}, - "workHours": { "@id": "schema:workHours"}, - "workLocation": { "@id": "schema:workLocation"}, - "workPerformed": { "@id": "schema:workPerformed"}, - "workPresented": { "@id": "schema:workPresented"}, - "workTranslation": { "@id": "schema:workTranslation"}, - "workload": { "@id": "schema:workload"}, - "worksFor": { "@id": "schema:worksFor"}, - "worstRating": { "@id": "schema:worstRating"}, - "xpath": { "@id": "schema:xpath"}, - "yearBuilt": { "@id": "schema:yearBuilt"}, - "yearlyRevenue": { "@id": "schema:yearlyRevenue"}, - "yearsInOperation": { "@id": "schema:yearsInOperation"}, - "yield": { "@id": "schema:yield"} - } -} diff --git a/tools/dev_nanoprov/main.go b/tools/dev_nanoprov/main.go deleted file mode 100644 index 0ec73c5a..00000000 --- a/tools/dev_nanoprov/main.go +++ /dev/null @@ -1,85 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "log" - - "github.com/gleanerio/gleaner/internal/common" - "github.com/gleanerio/gleaner/internal/summoner/acquire" - "github.com/spf13/viper" -) - -var viperVal string -var setupVal bool - -func init() { - log.SetFlags(log.Lshortfile) - // log.SetOutput(ioutil.Discard) // turn off all logging - - flag.BoolVar(&setupVal, "setup", false, "Run Gleaner configuration check and exit") - flag.StringVar(&viperVal, "cfg", "config", "Configuration file") -} - -// Simple test of the nanoprov function -func main() { - flag.Parse() // parse any command line flags... - - var v1 *viper.Viper - var err error - - // Load the config file and set some defaults (config overrides) - if isFlagPassed("cfg") { - v1, err = readConfig(viperVal, map[string]interface{}{ - "sqlfile": "", - "bucket": "", - "minio": map[string]string{ - "address": "localhost", - "port": "9000", - "accesskey": "", - "secretkey": "", - }, - }) - if err != nil { - panic(fmt.Errorf("error when reading config: %v", err)) - } - } - - // Set up the minio connector - mc := common.MinioConnection(v1) - - // func StoreProv(k, sha, urlloc string, mc *minio.Client) error { - - k := "lipdverse" - sha := "03834c00834c7d10506a14ee67ed3205b093b029" - urlloc := "https://example.com/id/datasetX" - - err = acquire.StoreProv(v1, mc, k, sha, urlloc) - if err != nil { - log.Println("Store prov failed") - log.Println(err) - } - -} - -func readConfig(filename string, defaults map[string]interface{}) (*viper.Viper, error) { - v := viper.New() - for key, value := range defaults { - v.SetDefault(key, value) - } - v.SetConfigName(filename) - v.AddConfigPath(".") - v.AutomaticEnv() - err := v.ReadInConfig() - return v, err -} - -func isFlagPassed(name string) bool { - found := false - flag.Visit(func(f *flag.Flag) { - if f.Name == name { - found = true - } - }) - return found -} diff --git a/tools/dev_nanoprov/test.json b/tools/dev_nanoprov/test.json deleted file mode 100644 index 71895eff..00000000 --- a/tools/dev_nanoprov/test.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "@context": { - "gleaner": "https://voc.gleaner.io/id/", - "np": "http://www.nanopub.org/nschema#", - "prov": "http://www.w3.org/ns/prov#", - "xsd": "http://www.w3.org/2001/XMLSchema#" - }, - "@set": [ - { - "@id": "gleaner:nanopub/resid", - "@type": "np:NanoPublication", - "np:hasAssertion": { - "@id": "gleaner:nanopub/XID#assertion" - }, - "np:hasProvenance": { - "@id": "gleaner:nanopub/XID#provenance" - }, - "np:hasPublicationInfo": { - "@id": "gleaner:nanopub/XID#pubInfo" - } - }, - { - "@id": "gleaner:nanopub/XID#assertion", - "@graph": { - "@id": "gleaner:n???", - "@type": "schema:Dataset", - "identifier": [ - { - "@type": "schema:PropertyValue", - "name": "GraphSHA", - "description": "A SHA256 sha stamp on the harvested data graph from a URL", - "value": "sha256" - }, - { - "@type": "schema:PropertyValue", - "name": "ProviderID", - "description": "The id provided with the data graph by the provider", - "value": "re3" - }, - { - "@type": "schema:PropertyValue", - "name": "URL", - "description": "The URL harvested by gleaner", - "value": "source of the data" - } - ] - } - }, - { - "@id": "gleaner:nanopub/XID#provenance", - "@graph": { - "@id": "gleaner:nanopub/XID#assertion", - "prov:wasGeneratedAtTime": { - "@value": "the date is ISO 396", - "@type": "xsd:dateTime" - }, - "prov:wasDerivedFrom": { - "@id": "ResourceIDorSomething" - }, - "prov:wasAttributedTo": { - "@id": "SomeURI" - } - } - }, - { - "@id": "gleaner:nanopub/XID#pubInfo", - "@graph": { - "@id": "gleaner:nanopub/XID#nanopub", - "prov:wasAttributedTo": { - "@id": "gleaner:tool/gleaner" - }, - "prov:generatedAtTime": { - "@value": "2019-10-23T14:38:00Z", - "@type": "xsd:dateTime" - } - } - } - ] -} From b8990baf0fd4c548f7b15e644bb23da863c2e70a Mon Sep 17 00:00:00 2001 From: Douglas Fils Date: Thu, 20 Apr 2023 20:41:24 -0500 Subject: [PATCH 03/33] small edits to push up --- internal/summoner/acquire/prov.go | 259 ++---------------------------- 1 file changed, 11 insertions(+), 248 deletions(-) diff --git a/internal/summoner/acquire/prov.go b/internal/summoner/acquire/prov.go index e8219dcd..3b61f171 100644 --- a/internal/summoner/acquire/prov.go +++ b/internal/summoner/acquire/prov.go @@ -3,14 +3,13 @@ package acquire import ( "bytes" "context" - "errors" "fmt" - configTypes "github.com/gleanerio/gleaner/internal/config" - log "github.com/sirupsen/logrus" - "strings" "text/template" "time" + configTypes "github.com/gleanerio/gleaner/internal/config" + log "github.com/sirupsen/logrus" + "github.com/gleanerio/gleaner/internal/common" "github.com/gleanerio/gleaner/internal/objects" "github.com/minio/minio-go/v7" @@ -30,67 +29,9 @@ type ProvData struct { DOMAIN string } -// StoreProv creates and stores a prov record for each JSON-LD data graph -// k is the domain / provider -// sha is the sha of the JSON-LD file summoned -// urlloc is the URL for the resource (source URL) -func StoreProv(v1 *viper.Viper, mc *minio.Client, k, sha, urlloc string) error { - // read config file - //miniocfg := v1.GetStringMapString("minio") - //bucketName := miniocfg["bucket"] // get the top level bucket for all of gleaner operations from config file - bucketName, err := configTypes.GetBucketName(v1) - //var ( - // buf bytes.Buffer - // logger = log.New(&buf, "logger: ", log.Lshortfile) - //) - - p, err := provOGraph(v1, k, sha, urlloc, "milled") // TODO default to milled till I update the rest of the code and remove this version of the function - - // NOTE - // Setting the value of the prov reference is a connection to how Nabu and the queries related to prov work. When Nabu loads from summoned, the - // graph value is set and this needs to match what is here. Else, we load from milled and the same connection has to take place. Loading from - // milled is hard when we are dealing with large sitegraphs. ?? - - if err != nil { - return err - } - - // Moved to the normalized sha value since normalized sha only valid for JSON-LD - provsha := common.GetSHA(p) - // provsha, err := common.GetNormSHA(p, v1) // Moved to the normalized sha value - // if err != nil { - // log.Printf("ERROR: URL: %s Action: Getting normalized sha Error: %s\n", urlloc, err) - // return err - // } - - b := bytes.NewBufferString(p) - - objectName := fmt.Sprintf("prov/%s/%s.jsonld", k, provsha) // k is the name of the provider from config - usermeta := make(map[string]string) // what do I want to know? - usermeta["url"] = urlloc - usermeta["sha1"] = sha // recall this is the sha of the about object, not the prov graph itself - - contentType := JSONContentType - - // Upload the file with FPutObject - _, err = mc.PutObject(context.Background(), bucketName, objectName, b, int64(b.Len()), minio.PutObjectOptions{ContentType: contentType, UserMetadata: usermeta}) - if err != nil { - log.Fatal(objectName, err) - // Fatal? seriously? I guess this is the object write, so the run is likely a bust at this point, but this seems a bit much still. - } - - return err -} - func StoreProvNG(v1 *viper.Viper, mc *minio.Client, k, sha, urlloc, objprefix string) error { // read config file - //miniocfg := v1.GetStringMapString("minio") - //bucketName := miniocfg["bucket"] // get the top level bucket for all of gleaner operations from config file bucketName, err := configTypes.GetBucketName(v1) - //var ( - // buf bytes.Buffer - // logger = log.New(&buf, "logger: ", log.Lshortfile) - //) p, err := provOGraph(v1, k, sha, urlloc, objprefix) if err != nil { @@ -110,14 +51,14 @@ func StoreProvNG(v1 *viper.Viper, mc *minio.Client, k, sha, urlloc, objprefix st objectName := fmt.Sprintf("prov/%s/%s.jsonld", k, provsha) // k is the name of the provider from config usermeta := make(map[string]string) // what do I want to know? usermeta["url"] = urlloc - usermeta["sha1"] = sha // recall this is the sha of the about object, not the prov graph itself + usermeta["sha1"] = sha // recall this is the sha of the data graph the prov is about, not the prov graph itself - contentType := JSONContentType + contentType := "application/ld+json" // Upload the file with FPutObject _, err = mc.PutObject(context.Background(), bucketName, objectName, b, int64(b.Len()), minio.PutObjectOptions{ContentType: contentType, UserMetadata: usermeta}) if err != nil { - log.Fatal(objectName, err) + log.Errorf("%s: %s", objectName, err) // Fatal? seriously? I guess this is the object write, so the run is likely a bust at this point, but this seems a bit much still. } @@ -125,8 +66,7 @@ func StoreProvNG(v1 *viper.Viper, mc *minio.Client, k, sha, urlloc, objprefix st } // provOGraph is a simpler provo prov function -// Against better judgment rather than build triples, I'll just -// template build them like with the nanoprov function +// I'll just build from a template for now, but using a real RDF lib to build these triples would be better func provOGraph(v1 *viper.Viper, k, sha, urlloc, objprefix string) (string, error) { // read config file miniocfg := v1.GetStringMapString("minio") @@ -150,21 +90,11 @@ func provOGraph(v1 *viper.Viper, k, sha, urlloc, objprefix string) (string, erro } } - // TODO make an extracted function to share with nabu - // make the URN string - - var objectURN string + // TODO: There is danger here if this and the URN for the graph from Nabu do not match. + // We need to modify this to help prevent that from happening. + // Shouuld align with: https://github.com/gleanerio/nabu/blob/dev/decisions/0001-URN-decision.md + gp := fmt.Sprintf("urn:%s:%s:%s", bucketName, k, sha) - if strings.Contains(objprefix, "summoned") { - objectURN = fmt.Sprintf("summoned:%s:%s", k, sha) - } else if strings.Contains(objprefix, "milled") { - objectURN = fmt.Sprintf("milled:%s:%s", k, sha) - } else { - return "", errors.New("no valid prov object prefix") - } - - // build the struct to pass to the template parser - gp := fmt.Sprintf("urn:%s:%s", bucketName, objectURN) td := ProvData{RESID: urlloc, SHA256: sha, PID: pid, SOURCE: k, DATE: currentTime.Format("2006-01-02"), RUNID: mcfg["runid"], @@ -176,12 +106,10 @@ func provOGraph(v1 *viper.Viper, k, sha, urlloc, objprefix string) (string, erro t, err := template.New("prov").Parse(provTemplate()) if err != nil { log.Error("Prov Failure: Cannot parse or read template") - //panic(err) // don't stop processing for a bad prov return "", err } err = t.Execute(&doc, td) if err != nil { - //panic(err) // don't stop processing for a bad prov log.Error("Prov Failure") return "", err } @@ -242,169 +170,4 @@ func provTemplate() string { }` return t - } - -// // NanoProvGraph generates a JSON-LD based nanopub prov graph for -// // a resource collected. -// func NanoProvGraph(k, sha, urlloc string) (string, error) { -// tmpl := nanoprov() - -// currentTime := time.Now() -// date := fmt.Sprintf("%s", currentTime.Format("2006-01-02")) - -// td := ProvData{RESID: urlloc, SHA256: sha, PID: "re3", -// SOURCE: k, DATE: date, RUNID: "testrunid"} - -// var doc bytes.Buffer - -// t, err := template.New("prov").Parse(tmpl) -// if err != nil { -// panic(err) -// } -// err = t.Execute(&doc, td) -// if err != nil { -// panic(err) -// } - -// // fmt.Print(doc.String()) - -// return doc.String(), nil -// } - -// func nanoprov() string { - -// t := `{ -// "@context": { -// "gleaner": "https://voc.gleaner.io/id/", -// "np": "http://www.nanopub.org/nschema#", -// "prov": "http://www.w3.org/ns/prov#", -// "xsd": "http://www.w3.org/2001/XMLSchema#" -// }, -// "@set": [ -// { -// "@id": "gleaner:nanopub/{{.SHA256}}", -// "@type": "np:NanoPublication", -// "np:hasAssertion": { -// "@id": "gleaner:nanopub/{{.SHA256}}#assertion" -// }, -// "np:hasProvenance": { -// "@id": "gleaner:nanopub/{{.SHA256}}#provenance" -// }, -// "np:hasPublicationInfo": { -// "@id": "gleaner:nanopub/{{.SHA256}}#pubInfo" -// } -// }, -// { -// "@id": "gleaner:nanopub/{{.SHA256}}#assertion", -// "@graph": { -// "@id": "gleaner:{{.SHA256}}", -// "@type": "schema:Dataset", -// "identifier": [ -// { -// "@type": "schema:PropertyValue", -// "name": "GraphSHA", -// "description": "A SHA256 sha stamp on the harvested data graph from a URL", -// "value": "{{.SHA256}}" -// }, -// { -// "@type": "schema:PropertyValue", -// "name": "ProviderID", -// "description": "The id provided with the data graph by the provider", -// "value": "{{.PID}}" -// }, -// { -// "@type": "schema:PropertyValue", -// "name": "URL", -// "description": "The URL harvested by gleaner", -// "value": "{{.RESID}}" -// } -// ] -// } -// }, -// { -// "@id": "gleaner:nanopub/{{.SHA256}}#provenance", -// "@graph": { -// "@id": "gleaner:nanopub/{{.SHA256}}#assertion", -// "prov:wasGeneratedAtTime": { -// "@value": "{{.DATE}}", -// "@type": "xsd:dateTime" -// }, -// "prov:wasDerivedFrom": { -// "@id": "URL of the resources and/or @id from resource" -// }, -// "prov:wasAttributedTo": { -// "@id": "Can I put the Institution base URl or ID here" -// } -// } -// }, -// { -// "@id": "gleaner:nanopub/{{.SHA256}}#pubInfo", -// "@graph": { -// "@id": "gleaner:nanopub/{{.SHA256}}#nanopub", -// "prov:wasAttributedTo": { -// "@id": "gleaner:tool/gleaner" -// }, -// "prov:generatedAtTime": { -// "@value": "2019-10-23T14:38:00Z", -// "@type": "xsd:dateTime" -// } -// } -// } -// ] -// } -// ` -// return t - -// } - -// StoreProv creates and stores a prov record for each JSON-LD data graph -// k is the domain / provider -// sha is the sha of the JSON-LD file summoned -// urlloc is the URL for the resource (source URL) -// func StoreProv(v1 *viper.Viper, mc *minio.Client, k, sha, urlloc string) error { -// // read config file -// miniocfg := v1.GetStringMapString("minio") -// bucketName := miniocfg["bucket"] // get the top level bucket for all of gleaner operations from config file - -// var ( -// buf bytes.Buffer -// logger = log.New(&buf, "logger: ", log.Lshortfile) -// ) - -// p, err := provOGraph(v1, k, sha, urlloc, "milled") // TODO default to milled till I update the rest of the code and remove this version of the function -// if err != nil { -// return err -// } - -// // NOTE -// // Setting the value of the prov reference is a connection to how Nabu and the queries related to prov work. When Nabu loads from summoned, the -// // graph value is set and this needs to match what is here. Else, we load from milled and the same connection has to take place. Loading from -// // milled is hard when we are dealing with large sitegraphs. ?? - -// // Moved to the normalized sha value since normalized sha only valid for JSON-LD -// provsha := common.GetSHA(p) -// // provsha, err := common.GetNormSHA(p, v1) // Moved to the normalized sha value -// // if err != nil { -// // log.Printf("ERROR: URL: %s Action: Getting normalized sha Error: %s\n", urlloc, err) -// // return err -// // } - -// b := bytes.NewBufferString(p) - -// objectName := fmt.Sprintf("prov/%s/%s.jsonld", k, provsha) // k is the name of the provider from config -// usermeta := make(map[string]string) // what do I want to know? -// usermeta["url"] = urlloc -// usermeta["sha1"] = sha // recall this is the sha of the about object, not the prov graph itself - -// contentType := JSONContentType - -// // Upload the file with FPutObject -// _, err = mc.PutObject(context.Background(), bucketName, objectName, b, int64(b.Len()), minio.PutObjectOptions{ContentType: contentType, UserMetadata: usermeta}) -// if err != nil { -// log.Printf("%s", objectName) -// logger.Fatalln(err) // Fatal? seriously? I guess this is the object write, so the run is likely a bust at this point, but this seems a bit much still. -// } - -// return err -// } From bfe4140c546565cb7973187a197fb3ea32d3336d Mon Sep 17 00:00:00 2001 From: Douglas Fils Date: Fri, 21 Apr 2023 15:43:26 -0500 Subject: [PATCH 04/33] first pass at stac indexing from the radiantearth schema.org version --- internal/summoner/acquire/prov.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/summoner/acquire/prov.go b/internal/summoner/acquire/prov.go index 3b61f171..73f1201f 100644 --- a/internal/summoner/acquire/prov.go +++ b/internal/summoner/acquire/prov.go @@ -38,7 +38,7 @@ func StoreProvNG(v1 *viper.Viper, mc *minio.Client, k, sha, urlloc, objprefix st return err } - // Moved to the normalized sha value since normalized sha only valid for JSON-LD + // Moved to the simple sha value since normalized sha only valid for JSON-LD provsha := common.GetSHA(p) // provsha, err := common.GetNormSHA(p, v1) // Moved to the normalized sha value // if err != nil { From b979c4904192e186384607a753f6e49b432cea13 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 02:06:16 +0000 Subject: [PATCH 05/33] added build target for linux(GOOS) on m2 (arm64) --- Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 96369e47..acbceb7a 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,11 @@ gleaner.m2: GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 env go build -ldflags "-X main.VERSION=$(MAINVERSION)" -o $(BINARY)_m2;\ cp $(BINARY)_m2 ../../ +gleaner.m2.linux: + cd cmd/$(BINARY) ; \ + GOOS=linux GOARCH=arm64 CGO_ENABLED=0 env go build -ldflags "-X main.VERSION=$(MAINVERSION)" -o $(BINARY)_m2_linux;\ + cp $(BINARY)_m2_linux ../../ + glcon: cd cmd/$(BINARYIO) ; \ GOOS=linux GOARCH=amd64 CGO_ENABLED=0 env go build -ldflags "-X main.VERSION=$(MAINVERSION)" -o $(BINARYIO);\ @@ -45,7 +50,7 @@ glcon.m2: GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 env go build -ldflags "-X main.VERSION=$(MAINVERSION)" -o $(BINARYIO)_m2;\ cp $(BINARYIO)_m2 ../../ -releases: gleaner gleaner.exe gleaner.darwin gleaner.m2 glcon glcon.exe glcon.darwin glcon.m2 +releases: gleaner gleaner.exe gleaner.darwin gleaner.m2 glcon glcon.exe glcon.darwin glcon.m2 gleaner.m2.linux docker: podman build --tag="nsfearthcube/gleaner:$(VERSION)" --file=./build/Dockerfile . From 8afee9fb23dcc58b3a601887d5d3dcd00ed76679 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 02:47:41 +0000 Subject: [PATCH 06/33] create basic github workflow skeleton (test_geoconnex_dev_sitemap.yml) --- .github/workflows/test_geoconnex_dev_sitemap.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/test_geoconnex_dev_sitemap.yml diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml new file mode 100644 index 00000000..6a24ccaa --- /dev/null +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -0,0 +1,13 @@ +name: Test Gleaner against pids.geoconnex.dev Sitemap + +on: + [ pull_request ] +jobs: + test: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: '1.20' + - run: go version From c309b577b9d02a439ca9dbffe1b2db63cc9f7bb1 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 03:05:21 +0000 Subject: [PATCH 07/33] added workflow_dispatch to workflow to trigger manually for testing --- .github/workflows/test_geoconnex_dev_sitemap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 6a24ccaa..54d8da37 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -1,7 +1,7 @@ name: Test Gleaner against pids.geoconnex.dev Sitemap on: - [ pull_request ] + [ pull_request, workflow_dispatch ] jobs: test: runs-on: ubuntu-22.04 From b2b27dc532e3ff5f751a94c834e883062a140b5d Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 03:28:50 +0000 Subject: [PATCH 08/33] more gh action stuff --- .github/workflows/test_geoconnex_dev_sitemap.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 54d8da37..3f770338 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -1,7 +1,7 @@ name: Test Gleaner against pids.geoconnex.dev Sitemap on: - [ pull_request, workflow_dispatch ] + [ workflow_dispatch ] jobs: test: runs-on: ubuntu-22.04 @@ -10,4 +10,7 @@ jobs: - uses: actions/setup-go@v5 with: go-version: '1.20' - - run: go version + - run: sudo apt-get install make + - run: sudo apt-get install git + - run: docker run hello-world + From c6889249a57da4fa9158cd007b732467965e074c Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 03:57:25 +0000 Subject: [PATCH 09/33] more gh actions ... --- .github/workflows/test_geoconnex_dev_sitemap.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 3f770338..1ff6b71c 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -3,7 +3,7 @@ name: Test Gleaner against pids.geoconnex.dev Sitemap on: [ workflow_dispatch ] jobs: - test: + main: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 @@ -12,5 +12,14 @@ jobs: go-version: '1.20' - run: sudo apt-get install make - run: sudo apt-get install git - - run: docker run hello-world - + - run: mkdir -p $HOME/bin + - run: ! + curl https://dl.min.io/client/mc/release/linux-amd64/mc -o $HOME/bin/mc + chmod +x $HOME/bin/mc + $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey + - run: | + scripts/iow/start-headless-chrome.sh + scripts/iow/start-minio.sh + - run: sleep 3 && mc mb myminio/iow + - run: make + - run: scripts/iow/start-gleaner.sh From ed59832a4c009abdc3debc4c7ef2ea65004a6ed4 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 04:04:15 +0000 Subject: [PATCH 10/33] more gh actions #2 --- .github/workflows/test_geoconnex_dev_sitemap.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 1ff6b71c..06d09a98 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -13,10 +13,10 @@ jobs: - run: sudo apt-get install make - run: sudo apt-get install git - run: mkdir -p $HOME/bin - - run: ! + - run: ! curl https://dl.min.io/client/mc/release/linux-amd64/mc -o $HOME/bin/mc chmod +x $HOME/bin/mc - $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey + $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey - run: | scripts/iow/start-headless-chrome.sh scripts/iow/start-minio.sh From 1012ddcfc0792baaf56e24b598213c085c37b3dc Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 04:09:33 +0000 Subject: [PATCH 11/33] more gh action #3 --- .github/workflows/test_geoconnex_dev_sitemap.yml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 06d09a98..05623b4e 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -13,13 +13,11 @@ jobs: - run: sudo apt-get install make - run: sudo apt-get install git - run: mkdir -p $HOME/bin - - run: ! - curl https://dl.min.io/client/mc/release/linux-amd64/mc -o $HOME/bin/mc - chmod +x $HOME/bin/mc - $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey - - run: | - scripts/iow/start-headless-chrome.sh - scripts/iow/start-minio.sh + - run: curl https://dl.min.io/client/mc/release/linux-amd64/mc -o $HOME/bin/mc && chmod +x $HOME/bin/mc + - run: $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey + - run: + - run: scripts/iow/start-headless-chrome.sh + - run: scripts/iow/start-minio.sh - run: sleep 3 && mc mb myminio/iow - run: make - run: scripts/iow/start-gleaner.sh From 404965d7b2f056b4cacd5caa289869e85752440e Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 04:12:44 +0000 Subject: [PATCH 12/33] more gh action #4 --- .github/workflows/test_geoconnex_dev_sitemap.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 05623b4e..3fb228b5 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -15,7 +15,6 @@ jobs: - run: mkdir -p $HOME/bin - run: curl https://dl.min.io/client/mc/release/linux-amd64/mc -o $HOME/bin/mc && chmod +x $HOME/bin/mc - run: $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey - - run: - run: scripts/iow/start-headless-chrome.sh - run: scripts/iow/start-minio.sh - run: sleep 3 && mc mb myminio/iow From 7dbea7666e76713cd10fff2b1c7e12a3141948b2 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 04:17:53 +0000 Subject: [PATCH 13/33] gh actions #5 --- .github/workflows/test_geoconnex_dev_sitemap.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 3fb228b5..35314983 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -14,9 +14,9 @@ jobs: - run: sudo apt-get install git - run: mkdir -p $HOME/bin - run: curl https://dl.min.io/client/mc/release/linux-amd64/mc -o $HOME/bin/mc && chmod +x $HOME/bin/mc - - run: $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey - run: scripts/iow/start-headless-chrome.sh - - run: scripts/iow/start-minio.sh - - run: sleep 3 && mc mb myminio/iow + - run: scripts/iow/start-minio.sh && sleep 3 + - run: $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey + - run: mc mb myminio/iow - run: make - run: scripts/iow/start-gleaner.sh From 9d972e0ff11cce62d40a45f1502d57fc54ef0ad6 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 04:24:04 +0000 Subject: [PATCH 14/33] gh actions #6 --- .../workflows/test_geoconnex_dev_sitemap.yml | 6 ++--- scripts/iow/start-gleaner.sh | 22 +++++++++++++++++++ scripts/iow/start-headless-chrome.sh | 9 ++++++++ scripts/iow/start-minio.sh | 14 ++++++++++++ scripts/iow/stop-headless-chrome.sh | 7 ++++++ scripts/iow/stop-minio.sh | 6 +++++ 6 files changed, 61 insertions(+), 3 deletions(-) create mode 100755 scripts/iow/start-gleaner.sh create mode 100755 scripts/iow/start-headless-chrome.sh create mode 100755 scripts/iow/start-minio.sh create mode 100755 scripts/iow/stop-headless-chrome.sh create mode 100755 scripts/iow/stop-minio.sh diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 35314983..3b597c24 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -14,9 +14,9 @@ jobs: - run: sudo apt-get install git - run: mkdir -p $HOME/bin - run: curl https://dl.min.io/client/mc/release/linux-amd64/mc -o $HOME/bin/mc && chmod +x $HOME/bin/mc - - run: scripts/iow/start-headless-chrome.sh - - run: scripts/iow/start-minio.sh && sleep 3 + - run: sh scripts/iow/start-headless-chrome.sh + - run: sh scripts/iow/start-minio.sh && sleep 3 - run: $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey - run: mc mb myminio/iow - run: make - - run: scripts/iow/start-gleaner.sh + - run: sh scripts/iow/start-gleaner.sh diff --git a/scripts/iow/start-gleaner.sh b/scripts/iow/start-gleaner.sh new file mode 100755 index 00000000..69d3bcfc --- /dev/null +++ b/scripts/iow/start-gleaner.sh @@ -0,0 +1,22 @@ +#!/bin/sh + + + + +TS=`date +%Y-%m-%dT%H.%M.%S` +LOGDIR="$HOME/logs/$TS" +mkdir -p $LOGDIR || exit 1 +cd $LOGDIR || exit 1 + +for src in `cat ~/conf/gleanerconfig.yaml | grep '\Wname:'|awk '{print $2}'` +do + +OUTFILE="$LOGDIR/gleaner-$src.out" +ERRFILE="$LOGDIR/gleaner-$src.err" + +echo "harvesting source '$src'..." +#strace -f -o $LOGDIR/strace-$src.out gleaner -cfg $HOME/conf/gleanerconfig.yaml -source $src -rude > $OUTFILE 2>$ERRFILE +gleaner -log debug -cfg $HOME/conf/gleanerconfig.yaml -source $src -rude > $OUTFILE 2>$ERRFILE +done +echo "complete!" + diff --git a/scripts/iow/start-headless-chrome.sh b/scripts/iow/start-headless-chrome.sh new file mode 100755 index 00000000..7c119e9c --- /dev/null +++ b/scripts/iow/start-headless-chrome.sh @@ -0,0 +1,9 @@ +#!/bin/sh + + +docker run -d \ + --rm \ + -p 9222:9222 \ + --name hc \ + chromedp/headless-shell + diff --git a/scripts/iow/start-minio.sh b/scripts/iow/start-minio.sh new file mode 100755 index 00000000..ef958730 --- /dev/null +++ b/scripts/iow/start-minio.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +# --rm +# --memory +docker run -d \ + --rm \ + -p 9000:9000 \ + -p 9001:9001 \ + --name minio \ + -e "MINIO_ROOT_USER=amazingaccesskey" \ + -e "MINIO_ROOT_PASSWORD=amazingsecretkey" \ + quay.io/minio/minio server /data --console-address ":9001" + + diff --git a/scripts/iow/stop-headless-chrome.sh b/scripts/iow/stop-headless-chrome.sh new file mode 100755 index 00000000..3ea587e6 --- /dev/null +++ b/scripts/iow/stop-headless-chrome.sh @@ -0,0 +1,7 @@ +#!/bin/sh + + +docker stop hc +docker rm hc > /dev/null 2>&1 + + diff --git a/scripts/iow/stop-minio.sh b/scripts/iow/stop-minio.sh new file mode 100755 index 00000000..c6621a60 --- /dev/null +++ b/scripts/iow/stop-minio.sh @@ -0,0 +1,6 @@ +#!/bin/sh + + +docker stop minio +docker rm minio >/dev/null 2>&1 + From 85a0208782f82000747e708a38e8e3d337e5650f Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 04:26:41 +0000 Subject: [PATCH 15/33] gh actions #7 --- .github/workflows/test_geoconnex_dev_sitemap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 3b597c24..7af05b49 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -17,6 +17,6 @@ jobs: - run: sh scripts/iow/start-headless-chrome.sh - run: sh scripts/iow/start-minio.sh && sleep 3 - run: $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey - - run: mc mb myminio/iow + - run: $HOME/bin/mc mb myminio/iow - run: make - run: sh scripts/iow/start-gleaner.sh From a24c9b9728d3cf8c1cccfbb181d7f971fc283dc9 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 04:42:02 +0000 Subject: [PATCH 16/33] gh actions #8 --- .../iow/pids-geoconnex-dev-gleanerconfig.yaml | 68 +++++++++++++++++++ scripts/iow/start-gleaner.sh | 11 +-- 2 files changed, 70 insertions(+), 9 deletions(-) create mode 100644 configs/iow/pids-geoconnex-dev-gleanerconfig.yaml diff --git a/configs/iow/pids-geoconnex-dev-gleanerconfig.yaml b/configs/iow/pids-geoconnex-dev-gleanerconfig.yaml new file mode 100644 index 00000000..6cde1bff --- /dev/null +++ b/configs/iow/pids-geoconnex-dev-gleanerconfig.yaml @@ -0,0 +1,68 @@ +minio: + address: localhost + port: 9000 + accessKey: amazingaccesskey + secretKey: amazingsecretkey + ssl: false + bucket: iow +gleaner: + runid: iow # this will be the bucket the output is placed in... + summon: true # do we want to visit the web sites and pull down the files + mill: false +context: + cache: true +contextmaps: +- prefix: "https://schema.org/" + file: "configs/jsonldcontext.jsonld" # wget http://schema.org/docs/jsonldcontext.jsonld +- prefix: "http://schema.org/" + file: "configs/jsonldcontext.jsonld" # wget http://schema.org/docs/jsonldcontext.jsonld +summoner: + after: "" # "21 May 20 10:00 UTC" + mode: full # full || diff: If diff compare what we have currently in gleaner to sitemap, get only new, delete missing + threads: 5 + delay: # milliseconds (1000 = 1 second) to delay between calls (will FORCE threads to 1) + headless: http://localhost:9222 # URL for headless see docs/headless +millers: + graph: true +sources: +- active: 'true' + domain: https://pids.geoconnex.dev + headless: 'false' + name: refgages0 + pid: https://gleaner.io/genid/geoconnex + propername: refgages0 + sourcetype: sitemap + url: https://pids.geoconnex.dev/sitemap/ref/gages/gages__0.xml +- active: 'true' + domain: https://pids.geoconnex.dev + headless: 'false' + name: refmainstems + pid: https://gleaner.io/genid/geoconnex + propername: refmainstems + sourcetype: sitemap + url: https://pids.geoconnex.dev/sitemap/ref/mainstems/mainstems__0.xml +- active: 'true' + domain: https://pids.geoconnex.dev + headless: 'false' + name: dams0 + pid: https://gleaner.io/genid/geoconnex + propername: dams0 + sourcetype: sitemap + url: https://pids.geoconnex.dev/sitemap/ref/dams/dams__0.xml +- active: 'true' + domain: https://pids.geoconnex.dev + headless: 'false' + name: cdss0 + pid: https://gleaner.io/genid/geoconnex + propername: cdss0 + sourcetype: sitemap + url: https://pids.geoconnex.dev/sitemap/cdss/co_gages__0.xml +- active: 'true' + domain: https://pids.geoconnex.dev + headless: 'false' + name: nmwdist0 + pid: https://gleaner.io/genid/geoconnex + propername: nmwdist0 + sourcetype: sitemap + url: https://pids.geoconnex.dev/sitemap/nmwdi/st/nmwdi-st__0.xml + diff --git a/scripts/iow/start-gleaner.sh b/scripts/iow/start-gleaner.sh index 69d3bcfc..1df45e07 100755 --- a/scripts/iow/start-gleaner.sh +++ b/scripts/iow/start-gleaner.sh @@ -3,20 +3,13 @@ -TS=`date +%Y-%m-%dT%H.%M.%S` -LOGDIR="$HOME/logs/$TS" -mkdir -p $LOGDIR || exit 1 -cd $LOGDIR || exit 1 -for src in `cat ~/conf/gleanerconfig.yaml | grep '\Wname:'|awk '{print $2}'` +for src in `cat configs/iow/pids-geoconnex-dev-gleanerconfig.yaml | grep '\Wname:'|awk '{print $2}'` do -OUTFILE="$LOGDIR/gleaner-$src.out" -ERRFILE="$LOGDIR/gleaner-$src.err" echo "harvesting source '$src'..." -#strace -f -o $LOGDIR/strace-$src.out gleaner -cfg $HOME/conf/gleanerconfig.yaml -source $src -rude > $OUTFILE 2>$ERRFILE -gleaner -log debug -cfg $HOME/conf/gleanerconfig.yaml -source $src -rude > $OUTFILE 2>$ERRFILE +gleaner -log debug -cfg config/gleanerconfig.yaml -source $src -rude done echo "complete!" From 7d1ac0287e1b2346ea40e328eea54a14d96b8dbf Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 04:48:48 +0000 Subject: [PATCH 17/33] upd gleaner binary path in start-gleaner script' --- scripts/iow/start-gleaner.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/iow/start-gleaner.sh b/scripts/iow/start-gleaner.sh index 1df45e07..4f65844c 100755 --- a/scripts/iow/start-gleaner.sh +++ b/scripts/iow/start-gleaner.sh @@ -9,7 +9,7 @@ do echo "harvesting source '$src'..." -gleaner -log debug -cfg config/gleanerconfig.yaml -source $src -rude +./gleaner -log debug -cfg config/gleanerconfig.yaml -source $src -rude done echo "complete!" From c1640439b2f6255dfd2f45a23534fdd498754e60 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 04:53:58 +0000 Subject: [PATCH 18/33] updated start-gleaner.sh to use correct test cfg path --- scripts/iow/start-gleaner.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/iow/start-gleaner.sh b/scripts/iow/start-gleaner.sh index 4f65844c..8b7846fb 100755 --- a/scripts/iow/start-gleaner.sh +++ b/scripts/iow/start-gleaner.sh @@ -3,13 +3,14 @@ +CFGPATH="configs/iow/pids-geoconnex-dev-gleanerconfig.yaml" -for src in `cat configs/iow/pids-geoconnex-dev-gleanerconfig.yaml | grep '\Wname:'|awk '{print $2}'` +for src in `cat $CFGPATH | grep '\Wname:'|awk '{print $2}'` do echo "harvesting source '$src'..." -./gleaner -log debug -cfg config/gleanerconfig.yaml -source $src -rude +./gleaner -log debug -cfg $CFGPATH -source $src -rude done echo "complete!" From 06d840be521e6f924013b8c5f21058d0f1112b58 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 05:16:30 +0000 Subject: [PATCH 19/33] added gleaner s3 dir cnt tests --- .../workflows/test_geoconnex_dev_sitemap.yml | 12 ++++++++++++ scripts/iow/assert-s3-dir-cnt.sh | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100755 scripts/iow/assert-s3-dir-cnt.sh diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 7af05b49..eb17dca8 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -20,3 +20,15 @@ jobs: - run: $HOME/bin/mc mb myminio/iow - run: make - run: sh scripts/iow/start-gleaner.sh + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/orgs 5 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/cdss0 30 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/dams0 45 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/nmwdist0 266 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/refgages0 330 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/refmainstems 66 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/cdss0 30 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/dams0 45 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/nmwdist0 265 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refgages0 330 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refmainstems 66 + diff --git a/scripts/iow/assert-s3-dir-cnt.sh b/scripts/iow/assert-s3-dir-cnt.sh new file mode 100755 index 00000000..25020ef5 --- /dev/null +++ b/scripts/iow/assert-s3-dir-cnt.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +MC="$1" +DIR="$2" +DESIRED_COUNT="$3" + +if [ "$#" -ne 3 ] +then + echo "Usage: $0 MC_CMD_PATH DIR DESIRED_COUNT" && exit 1 +fi + + +ACTUAL_COUNT=`$MC ls $DIR| wc -l` + +if [ "$DESIRED_COUNT" -ne "$ACTUAL_COUNT" ] +then + echo "$DIR: wanted $DESIRED_COUNT directory entries, found $ACTUAL_COUNT" +fi + From f20af579444db5722ce64f3c5461d2d6d8e57084 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 05:21:25 +0000 Subject: [PATCH 20/33] introduced assert error into test to verify fail --- .github/workflows/test_geoconnex_dev_sitemap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index eb17dca8..d7d20ba0 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -28,7 +28,7 @@ jobs: - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/refmainstems 66 - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/cdss0 30 - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/dams0 45 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/nmwdist0 265 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/nmwdist0 2650 - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refgages0 330 - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refmainstems 66 From ab05142faa16056c7619cd586c397d8e37b8ad41 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 05:25:06 +0000 Subject: [PATCH 21/33] added non-zero exit code on assert script fail --- scripts/iow/assert-s3-dir-cnt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/iow/assert-s3-dir-cnt.sh b/scripts/iow/assert-s3-dir-cnt.sh index 25020ef5..4be55372 100755 --- a/scripts/iow/assert-s3-dir-cnt.sh +++ b/scripts/iow/assert-s3-dir-cnt.sh @@ -14,6 +14,6 @@ ACTUAL_COUNT=`$MC ls $DIR| wc -l` if [ "$DESIRED_COUNT" -ne "$ACTUAL_COUNT" ] then - echo "$DIR: wanted $DESIRED_COUNT directory entries, found $ACTUAL_COUNT" + echo "$DIR: wanted $DESIRED_COUNT directory entries, found $ACTUAL_COUNT" && exit 1 fi From 11243f49d20ab92f59d42e0dfdcf4c1047a3d968 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 05:28:34 +0000 Subject: [PATCH 22/33] fixed purposeful assert error in gh action --- .github/workflows/test_geoconnex_dev_sitemap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index d7d20ba0..d998ba39 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -28,7 +28,7 @@ jobs: - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/refmainstems 66 - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/cdss0 30 - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/dams0 45 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/nmwdist0 2650 + - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/nmwdist0 265 - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refgages0 330 - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refmainstems 66 From 2032e63c76076e3d2ab8f471659f00df05baca80 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 15:36:58 +0000 Subject: [PATCH 23/33] update test scripts to exit on cmd error (i.e. set -e) and add initial grouping of cmds to gleaner verification gh action --- .github/workflows/test_geoconnex_dev_sitemap.yml | 16 ++++++++-------- scripts/iow/assert-s3-dir-cnt.sh | 2 ++ scripts/iow/start-gleaner.sh | 7 ++++--- scripts/iow/start-headless-chrome.sh | 1 + scripts/iow/start-minio.sh | 5 +++++ 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index d998ba39..62db28d7 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -10,14 +10,14 @@ jobs: - uses: actions/setup-go@v5 with: go-version: '1.20' - - run: sudo apt-get install make - - run: sudo apt-get install git - - run: mkdir -p $HOME/bin - - run: curl https://dl.min.io/client/mc/release/linux-amd64/mc -o $HOME/bin/mc && chmod +x $HOME/bin/mc - - run: sh scripts/iow/start-headless-chrome.sh - - run: sh scripts/iow/start-minio.sh && sleep 3 - - run: $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey - - run: $HOME/bin/mc mb myminio/iow + - name: Install and Run Gleaner Runtime Dependencies, Test Utils, and Setup Env. + run: | + mkdir -p $HOME/bin + curl https://dl.min.io/client/mc/release/linux-amd64/mc -o $HOME/bin/mc && chmod +x $HOME/bin/mc + sh scripts/iow/start-headless-chrome.sh + sh scripts/iow/start-minio.sh && sleep 3 + $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey + $HOME/bin/mc mb myminio/iow - run: make - run: sh scripts/iow/start-gleaner.sh - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/orgs 5 diff --git a/scripts/iow/assert-s3-dir-cnt.sh b/scripts/iow/assert-s3-dir-cnt.sh index 4be55372..6a667ede 100755 --- a/scripts/iow/assert-s3-dir-cnt.sh +++ b/scripts/iow/assert-s3-dir-cnt.sh @@ -1,5 +1,7 @@ #!/bin/sh +set -e #exit on error + MC="$1" DIR="$2" DESIRED_COUNT="$3" diff --git a/scripts/iow/start-gleaner.sh b/scripts/iow/start-gleaner.sh index 8b7846fb..3669873d 100755 --- a/scripts/iow/start-gleaner.sh +++ b/scripts/iow/start-gleaner.sh @@ -1,8 +1,9 @@ #!/bin/sh +# exit on error +set -e - - +# set relative path of gleaner config from root of this repository CFGPATH="configs/iow/pids-geoconnex-dev-gleanerconfig.yaml" for src in `cat $CFGPATH | grep '\Wname:'|awk '{print $2}'` @@ -10,7 +11,7 @@ do echo "harvesting source '$src'..." -./gleaner -log debug -cfg $CFGPATH -source $src -rude +./gleaner -log info -cfg $CFGPATH -source $src -rude done echo "complete!" diff --git a/scripts/iow/start-headless-chrome.sh b/scripts/iow/start-headless-chrome.sh index 7c119e9c..6b3197e1 100755 --- a/scripts/iow/start-headless-chrome.sh +++ b/scripts/iow/start-headless-chrome.sh @@ -1,5 +1,6 @@ #!/bin/sh +set -e # exit on error docker run -d \ --rm \ diff --git a/scripts/iow/start-minio.sh b/scripts/iow/start-minio.sh index ef958730..72b4d169 100755 --- a/scripts/iow/start-minio.sh +++ b/scripts/iow/start-minio.sh @@ -1,7 +1,12 @@ #!/bin/sh + +set -e # exit on error + # --rm # --memory + + docker run -d \ --rm \ -p 9000:9000 \ From 9b8fba54f8f593d2d22b80ab8a08ce15dbb3ac0e Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 15:55:29 +0000 Subject: [PATCH 24/33] grouped all commands in gleaner harvest verification gh action --- .../workflows/test_geoconnex_dev_sitemap.yml | 40 +++++++++++++------ 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 62db28d7..cd2aafa3 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -12,23 +12,37 @@ jobs: go-version: '1.20' - name: Install and Run Gleaner Runtime Dependencies, Test Utils, and Setup Env. run: | + echo "::group::Install/Run Gleaner Runtime Dependencies" mkdir -p $HOME/bin curl https://dl.min.io/client/mc/release/linux-amd64/mc -o $HOME/bin/mc && chmod +x $HOME/bin/mc sh scripts/iow/start-headless-chrome.sh sh scripts/iow/start-minio.sh && sleep 3 + echo "::endgroup::" + - name: Setup Environment + run: | + echo "::group::Setup Environment" $HOME/bin/mc alias set myminio http://localhost:9000 amazingaccesskey amazingsecretkey $HOME/bin/mc mb myminio/iow - - run: make - - run: sh scripts/iow/start-gleaner.sh - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/orgs 5 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/cdss0 30 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/dams0 45 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/nmwdist0 266 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/refgages0 330 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/refmainstems 66 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/cdss0 30 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/dams0 45 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/nmwdist0 265 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refgages0 330 - - run: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refmainstems 66 + echo "::endgroup::" + - name: Build and Run Gleaner Harvest + run: | + echo "::group::Build and Run Gleaner Harvest" + make + sh scripts/iow/start-gleaner.sh + echo "::endgroup::" + - name: Verify Harvest Counts on First Harvest (Pristine S3) + run: | + echo "::group::Verify Harvest Counts on First Harvest (Pristine S3)" + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/orgs 5 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/cdss0 30 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/dams0 45 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/nmwdist0 266 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/refgages0 330 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/refmainstems 66 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/cdss0 30 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/dams0 45 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/nmwdist0 265 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refgages0 330 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refmainstems 66 + echo "::endgroup::" From 5983952dd81abb2c9b6bdfb6dc23d98d02accf33 Mon Sep 17 00:00:00 2001 From: Benjamin Webb <40066515+webb-ben@users.noreply.github.com> Date: Wed, 29 May 2024 09:27:53 -0600 Subject: [PATCH 25/33] Update docker image build contexts --- .github/workflows/docker-dev.yml | 2 +- .github/workflows/docker_glcon.yml | 2 +- .github/workflows/docker_gleaner.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker-dev.yml b/.github/workflows/docker-dev.yml index a0ec32ef..7bbdb244 100644 --- a/.github/workflows/docker-dev.yml +++ b/.github/workflows/docker-dev.yml @@ -70,7 +70,7 @@ jobs: id: meta uses: docker/metadata-action@v3 with: - images: nsfearthcube/gleaner + images: internetofwater/gleaner flavor: | latest=true suffix=-${{ env.VERSION }} diff --git a/.github/workflows/docker_glcon.yml b/.github/workflows/docker_glcon.yml index 35ff50c7..fa11e133 100644 --- a/.github/workflows/docker_glcon.yml +++ b/.github/workflows/docker_glcon.yml @@ -15,7 +15,7 @@ on: # https://github.com/marketplace/actions/publish-docker # https://github.com/docker/build-push-action env: - REGISTRY_IMAGE: nsfearthcube/glcon + REGISTRY_IMAGE: internetofwater/glcon jobs: build: name: Docker glcon diff --git a/.github/workflows/docker_gleaner.yml b/.github/workflows/docker_gleaner.yml index a12e6378..80fa7dc3 100644 --- a/.github/workflows/docker_gleaner.yml +++ b/.github/workflows/docker_gleaner.yml @@ -15,7 +15,7 @@ on: # https://github.com/marketplace/actions/publish-docker # https://github.com/docker/build-push-action env: - REGISTRY_IMAGE: nsfearthcube/gleaner + REGISTRY_IMAGE: internetofwater/gleaner jobs: build: From 04ee57905161c18d69a6f3b4afe52a56ffc7d5ca Mon Sep 17 00:00:00 2001 From: Benjamin Webb <40066515+webb-ben@users.noreply.github.com> Date: Wed, 29 May 2024 09:37:09 -0600 Subject: [PATCH 26/33] Update test_geoconnex_dev_sitemap.yml --- .github/workflows/test_geoconnex_dev_sitemap.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index cd2aafa3..f3afed62 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -1,7 +1,13 @@ name: Test Gleaner against pids.geoconnex.dev Sitemap on: - [ workflow_dispatch ] + push: + branches: + - master + pull_request: + branches: + - master + workflow_dispatch: jobs: main: runs-on: ubuntu-22.04 From c58eaa8d39f6cb06f9c41f1496dde5f84820a46f Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 17:16:34 +0000 Subject: [PATCH 27/33] added second harvest to gleaner gh action to verify idempotency. Warning current test may fail if test starts on a given day but finishes next day as prov json-ld documents will increase due to embedded datestamp causes creation of new json-ld file due to content-addressing scheme --- .../workflows/test_geoconnex_dev_sitemap.yml | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index cd2aafa3..58bf2949 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -45,4 +45,26 @@ jobs: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refgages0 330 sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refmainstems 66 echo "::endgroup::" - + - name: Build and Run Gleaner Harvest #2 + run: | + echo "::group::Build and Run Gleaner Harvest" + make + sh scripts/iow/start-gleaner.sh + echo "::endgroup::" + - name: Verify Harvest Counts on #2 Harvest (Verify Idempotency) + run: | + echo "::group::Verify Harvest Counts on First Harvest (Pristine S3)" + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/orgs 5 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/cdss0 30 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/dams0 45 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/nmwdist0 266 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/refgages0 330 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/refmainstems 66 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/cdss0 30 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/dams0 45 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/nmwdist0 265 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refgages0 330 + sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refmainstems 66 + echo "::endgroup::" + + From f50fd4796fefb44b07e5f736f7938741bf829105 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 17:19:19 +0000 Subject: [PATCH 28/33] added pull_request trigger to test_geoconnex_dev_sitemap.yml --- .github/workflows/test_geoconnex_dev_sitemap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 58bf2949..cd712ad5 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -1,7 +1,7 @@ name: Test Gleaner against pids.geoconnex.dev Sitemap on: - [ workflow_dispatch ] + [ workflow_dispatch, pull_request ] jobs: main: runs-on: ubuntu-22.04 From 9789f8c3b8d3a3880f08257403b99d78bffe4465 Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 17:22:30 +0000 Subject: [PATCH 29/33] updated gh action grouping labels --- .github/workflows/test_geoconnex_dev_sitemap.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index cd712ad5..8337095d 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -47,13 +47,13 @@ jobs: echo "::endgroup::" - name: Build and Run Gleaner Harvest #2 run: | - echo "::group::Build and Run Gleaner Harvest" + echo "::group::Build and Run Gleaner Harvest Again" make sh scripts/iow/start-gleaner.sh echo "::endgroup::" - name: Verify Harvest Counts on #2 Harvest (Verify Idempotency) run: | - echo "::group::Verify Harvest Counts on First Harvest (Pristine S3)" + echo "::group::Verify Harvest Counts on Second Harvest (Verify Idempotency)" sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/orgs 5 sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/cdss0 30 sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/prov/dams0 45 From a8e16a1d1e90ad3bf2ad8ac2d3a46df77e65742b Mon Sep 17 00:00:00 2001 From: adplincinst Date: Wed, 29 May 2024 17:26:40 +0000 Subject: [PATCH 30/33] remove hash charcters because it causes truncation in labels during gh action --- .github/workflows/test_geoconnex_dev_sitemap.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test_geoconnex_dev_sitemap.yml b/.github/workflows/test_geoconnex_dev_sitemap.yml index 8337095d..283a8557 100644 --- a/.github/workflows/test_geoconnex_dev_sitemap.yml +++ b/.github/workflows/test_geoconnex_dev_sitemap.yml @@ -45,13 +45,12 @@ jobs: sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refgages0 330 sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/summoned/refmainstems 66 echo "::endgroup::" - - name: Build and Run Gleaner Harvest #2 + - name: Run Gleaner Harvest Again run: | - echo "::group::Build and Run Gleaner Harvest Again" - make + echo "::group:: Run Gleaner Harvest Again" sh scripts/iow/start-gleaner.sh echo "::endgroup::" - - name: Verify Harvest Counts on #2 Harvest (Verify Idempotency) + - name: Verify Harvest Counts on Second Harvest (Verify Idempotency) run: | echo "::group::Verify Harvest Counts on Second Harvest (Verify Idempotency)" sh scripts/iow/assert-s3-dir-cnt.sh $HOME/bin/mc myminio/iow/orgs 5 From 413564260c3c8d3942290083eea3abc01c71da81 Mon Sep 17 00:00:00 2001 From: Benjamin Webb <40066515+webb-ben@users.noreply.github.com> Date: Thu, 30 May 2024 14:55:03 -0600 Subject: [PATCH 31/33] Update per https://github.com/cgs-earth/template --- .github/ISSUE_TEMPLATE/bug_report.md | 29 +++++++++++++++++++ .github/ISSUE_TEMPLATE/documentation_issue.md | 23 +++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 21 ++++++++++++++ .github/pull_request_template.md | 11 +++++++ 4 files changed, 84 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/documentation_issue.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/pull_request_template.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..3671b977 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,29 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: bug +assignees: '' + +--- + + +**Description** +A clear and concise description of what the bug is. + +**Steps to Reproduce** +Steps to reproduce the behavior: + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots/Tracebacks** +If applicable, add screenshots to help explain your problem. + +**Environment** + - OS: + - Python version: + - Python env/venv: + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/documentation_issue.md b/.github/ISSUE_TEMPLATE/documentation_issue.md new file mode 100644 index 00000000..109cbf0d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation_issue.md @@ -0,0 +1,23 @@ +--- +name: Documentation issue +about: Create a report to improve documenation +title: '' +labels: documentation +assignees: '' + +--- + +**Description** +A clear and concise description of the documentation issue or improvement + +**Current Documentation** +Links or description of the current documentation. + +**Suggested Improvement** +Describe the suggested improvement or fix. + +**Steps to Reproduce (if applicable)** +If relevant, steps to reproduce the issue with the current documentation. + +**Additional Context** +Any additional context, screenshots, or code examples. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..229493e3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,21 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' + +--- + + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..99272ccb --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,11 @@ +# Description + + +# Changes Made + + +# Related Issues + + +# Additional Notes + From 3775ee04565d03928442c708c8f33472eebbf149 Mon Sep 17 00:00:00 2001 From: Benjamin Webb <40066515+webb-ben@users.noreply.github.com> Date: Sat, 7 Sep 2024 14:48:02 -0400 Subject: [PATCH 32/33] Fix typo --- internal/common/stats.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/common/stats.go b/internal/common/stats.go index bc237417..9197c829 100644 --- a/internal/common/stats.go +++ b/internal/common/stats.go @@ -95,7 +95,7 @@ func (c *RunStats) Output() string { out := fmt.Sprintln("RunStats:") out += fmt.Sprintf(" Start: %s\n", c.Date) out += fmt.Sprintf(" Reason: %s\n", c.StopReason) - out += fmt.Sprintf(" Soruce:\n") + out += fmt.Sprintf(" Source:\n") for name, repo := range c.RepoStats { out += fmt.Sprintf(" - name: %s\n", name) @@ -113,7 +113,7 @@ func (c *RepoStats) Output() string { out := fmt.Sprintln("SourceStats:") out += fmt.Sprintf(" Start: %s\n", c.Start) out += fmt.Sprintf(" End: %s\n", c.End) - out += fmt.Sprintf(" Soruce:\n") + out += fmt.Sprintf(" Source:\n") out += fmt.Sprintf(" - name: %s\n", c.Name) for r, count := range c.counts { From b9460643cf8b778256d218f9892159beeb1bd5ea Mon Sep 17 00:00:00 2001 From: Benjamin Webb <40066515+webb-ben@users.noreply.github.com> Date: Wed, 2 Oct 2024 11:54:03 -0400 Subject: [PATCH 33/33] Update minio.go --- internal/common/minio.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/common/minio.go b/internal/common/minio.go index 34324db9..2b4ccf36 100644 --- a/internal/common/minio.go +++ b/internal/common/minio.go @@ -22,7 +22,7 @@ func MinioConnection(v1 *viper.Viper) *minio.Client { var endpoint, accessKeyID, secretAccessKey string var useSSL bool - if mcfg.Port == 0 { + if mcfg.Port == 0 || mcfg.Address == "storage.googleapis.com" { endpoint = fmt.Sprintf("%s", mcfg.Address) accessKeyID = mcfg.Accesskey secretAccessKey = mcfg.Secretkey