SEO. JSONLD. Canal
(SEO v0.3.0-rc.0)
View Source
A canal, like the Panama Canal.
Helper for building a Schema.org Canal JSON-LD structure.
Summary
Types
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "Canal", plus any camelCased
field keys the caller provided (see build/1). "@context" is added
at render time by SEO.JSONLD.meta/1 on the top-level node only.
Functions
Build a Canal JSON-LD map.
Types
@type attrs() :: %{ optional(:additional_property) => SEO.JSONLD.PropertyValue.t() | map(), optional(:address) => String.t() | SEO.JSONLD.PostalAddress.t() | map(), optional(:aggregate_rating) => SEO.JSONLD.AggregateRating.t() | map(), optional(:amenity_feature) => SEO.JSONLD.LocationFeatureSpecification.t() | map(), optional(:branch_code) => String.t(), optional(:contained_in) => SEO.JSONLD.Place.t() | map(), optional(:contained_in_place) => SEO.JSONLD.Place.t() | map(), optional(:contains_place) => SEO.JSONLD.Place.t() | map(), optional(:event) => SEO.JSONLD.Event.t() | map(), optional(:events) => SEO.JSONLD.Event.t() | map(), optional(:fax_number) => String.t(), optional(:geo) => SEO.JSONLD.GeoShape.t() | map() | SEO.JSONLD.GeoCoordinates.t(), optional(:geo_contains) => SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), optional(:geo_covered_by) => SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), optional(:geo_covers) => SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), optional(:geo_crosses) => SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), optional(:geo_disjoint) => SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), optional(:geo_equals) => SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), optional(:geo_intersects) => SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), optional(:geo_overlaps) => SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), optional(:geo_touches) => SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), optional(:geo_within) => SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), optional(:global_location_number) => String.t(), optional(:has_certification) => SEO.JSONLD.Certification.t() | map(), optional(:has_drive_through_service) => boolean(), optional(:has_gs1_digital_link) => URI.t() | String.t(), optional(:has_map) => URI.t() | String.t() | SEO.JSONLD.Map.t() | map(), optional(:is_accessible_for_free) => boolean(), optional(:isic_v4) => String.t(), optional(:keywords) => SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(), optional(:latitude) => String.t() | number(), optional(:logo) => URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), optional(:longitude) => String.t() | number(), optional(:map) => URI.t() | String.t(), optional(:maps) => URI.t() | String.t(), optional(:maximum_attendee_capacity) => integer(), optional(:opening_hours_specification) => SEO.JSONLD.OpeningHoursSpecification.t() | map(), optional(:photo) => SEO.JSONLD.Photograph.t() | map() | SEO.JSONLD.ImageObject.t(), optional(:photos) => SEO.JSONLD.Photograph.t() | map() | SEO.JSONLD.ImageObject.t(), optional(:public_access) => boolean(), optional(:review) => SEO.JSONLD.Review.t() | map(), optional(:reviews) => SEO.JSONLD.Review.t() | map(), optional(:slogan) => String.t(), optional(:smoking_allowed) => boolean(), optional(:special_opening_hours_specification) => SEO.JSONLD.OpeningHoursSpecification.t() | map(), optional(:telephone) => String.t(), optional(:tour_booking_page) => URI.t() | String.t(), optional(:additional_type) => String.t() | URI.t(), optional(:alternate_name) => String.t(), optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(), optional(:disambiguating_description) => String.t(), optional(:identifier) => String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(), optional(:image) => URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), optional(:main_entity_of_page) => SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), optional(:name) => String.t(), optional(:owner) => SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), optional(:potential_action) => SEO.JSONLD.Action.t() | map(), optional(:same_as) => URI.t() | String.t(), optional(:subject_of) => SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(), optional(:url) => URI.t() | String.t() } | [ additional_property: SEO.JSONLD.PropertyValue.t() | map(), address: String.t() | SEO.JSONLD.PostalAddress.t() | map(), aggregate_rating: SEO.JSONLD.AggregateRating.t() | map(), amenity_feature: SEO.JSONLD.LocationFeatureSpecification.t() | map(), branch_code: String.t(), contained_in: SEO.JSONLD.Place.t() | map(), contained_in_place: SEO.JSONLD.Place.t() | map(), contains_place: SEO.JSONLD.Place.t() | map(), event: SEO.JSONLD.Event.t() | map(), events: SEO.JSONLD.Event.t() | map(), fax_number: String.t(), geo: SEO.JSONLD.GeoShape.t() | map() | SEO.JSONLD.GeoCoordinates.t(), geo_contains: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), geo_covered_by: SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), geo_covers: SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), geo_crosses: SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), geo_disjoint: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), geo_equals: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), geo_intersects: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), geo_overlaps: SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), geo_touches: SEO.JSONLD.Place.t() | map() | SEO.JSONLD.GeospatialGeometry.t(), geo_within: SEO.JSONLD.GeospatialGeometry.t() | map() | SEO.JSONLD.Place.t(), global_location_number: String.t(), has_certification: SEO.JSONLD.Certification.t() | map(), has_drive_through_service: boolean(), has_gs1_digital_link: URI.t() | String.t(), has_map: URI.t() | String.t() | SEO.JSONLD.Map.t() | map(), is_accessible_for_free: boolean(), isic_v4: String.t(), keywords: SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(), latitude: String.t() | number(), logo: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), longitude: String.t() | number(), map: URI.t() | String.t(), maps: URI.t() | String.t(), maximum_attendee_capacity: integer(), opening_hours_specification: SEO.JSONLD.OpeningHoursSpecification.t() | map(), photo: SEO.JSONLD.Photograph.t() | map() | SEO.JSONLD.ImageObject.t(), photos: SEO.JSONLD.Photograph.t() | map() | SEO.JSONLD.ImageObject.t(), public_access: boolean(), review: SEO.JSONLD.Review.t() | map(), reviews: SEO.JSONLD.Review.t() | map(), slogan: String.t(), smoking_allowed: boolean(), special_opening_hours_specification: SEO.JSONLD.OpeningHoursSpecification.t() | map(), telephone: String.t(), tour_booking_page: URI.t() | String.t(), additional_type: String.t() | URI.t(), alternate_name: String.t(), description: SEO.JSONLD.TextObject.t() | map() | String.t(), disambiguating_description: String.t(), identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(), image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(), main_entity_of_page: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(), name: String.t(), owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(), potential_action: SEO.JSONLD.Action.t() | map(), same_as: URI.t() | String.t(), subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(), url: URI.t() | String.t() ]
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "Canal", plus any camelCased
field keys the caller provided (see build/1). "@context" is added
at render time by SEO.JSONLD.meta/1 on the top-level node only.