curl \ --request POST --url 'http://localhost:8080/otp/gtfs/v1' \ --header 'Content-Type: application/json' \ --header 'OTPTimeout: 180000' \ --data '{"query":"query IntrospectionQuery { __schema { queryType { name } mutationType { name } subscriptionType { name } types { ...FullType } directives { name description locations args { ...InputValue } } } } fragment FullType on __Type { kind name description fields(includeDeprecated: true) { name description args { ...InputValue } type { ...TypeRef } isDeprecated deprecationReason } inputFields { ...InputValue } interfaces { ...TypeRef } enumValues(includeDeprecated: true) { name description isDeprecated deprecationReason } possibleTypes { ...TypeRef } } fragment InputValue on __InputValue { name description type { ...TypeRef } defaultValue } fragment TypeRef on __Type { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name ofType { kind name } } } } } } } } "}' #### use GraphQL::Schema; my $FH; open($FH, '<:utf8', 'schema.sdl') or die "failed to open SDL file, $!"; my $SDLcontent; { local $/ = undef; $SDLcontent = <$FH>; } close $FH; my $schema = GraphQL::Schema->from_doc($SDLcontent); if( ! defined $schema ){ die "failed to parse SDL schema." } #### Reference {"groupSimilarityKeepOne" => {"default_value" => "0.85","des...} did not pass type constraint "CodeLike|FieldMapInput" (in $self->{"fields"}) at MooX/ Thunking.pm line 43 "CodeLike|FieldMapInput" requires that the value pass "CodeLike" or "FieldMapInput" Reference {"groupSimilarityKeepOne" => {"default_value" => "0.85","des...} did not pass type constraint "CodeLike" Reference {"groupSimilarityKeepOne" => {"default_value" => "0.85","des...} did not pass type constraint "CodeLike" "CodeLike" is defined as: do { package Type::Tiny; ref($_) eq q[CODE] or Scalar::Util::blessed($_) && (sub { require overload; overload::Overloaded(ref $_[0] or $_[0]) and overload::Method((ref $_[0] or $_[0]), $_[1]) })->($_, q[&{}]) } Reference {"groupSimilarityKeepOne" => {"default_value" => "0.85","des...} did not pass type constraint "FieldMapInput" "FieldMapInput" is a subtype of "Map[StrNameValid,Dict[default_value=>Optional[Any],description=>Optional[Str],directives=>Optional[ArrayRef[HashRef]],type=>ConsumerOf["GraphQL::Role::Input"]]]&__ANON__" "Map[StrNameValid,Dict[default_value=>Optional[Any],description=>Optional[Str],directives=>Optional[ArrayRef[HashRef]],type=>ConsumerOf["GraphQL::Role::Input"]]]&__ANON__" requires that the value pass "Map[StrNameValid,Dict[default_value=>Optional[Any],description=>Optional[Str],directives=>Optional[ArrayRef[HashRef]],type=>ConsumerOf["GraphQL::Role::Input"]]]" and "__ANON__" Reference {"groupSimilarityKeepOne" => {"default_value" => "0.85","des...} did not pass type constraint "__ANON__" is defined as: ((do { package Type::Tiny; (ref($_) eq 'HASH') and do { my $ok = 1; for my $i (values %{$_}) { ($ok = 0, last) unless do { package Type::Tiny; (ref($i) eq 'HASH') and exists($i->{"type"}) and (do { use Scalar::Util (); Scalar::Util::blessed($i->{"type"}) and do { my $method = $i->{"type"}->can('DOES')||$i->{"type"}->can('isa'); $i->{"type"}->$method(q[GraphQL::Role::Input]) } }) } }; $ok } }) && do { package Type::Tiny; !grep { $_->{default_value} and !$_->{type}->is_valid($_->{default_value}) } values %{$_} }) #### """ Settings that control the behavior of itinerary filtering. **These are advanced settings and should not be set by a user through user preferences.** """ input PlanItineraryFilterInput { """ Pick one itinerary from each group after putting itineraries that are `85%` similar together, if the given value is `0.85`, for example. Itineraries are grouped together based on relative the distance of transit travel that is identical between the itineraries (access, egress and transfers are ignored). The value must be at least `0.5`. """ groupSimilarityKeepOne: Ratio = 0.85 """ Pick three itineraries from each group after putting itineraries that are `68%` similar together, if the given value is `0.68`, for example. Itineraries are grouped together based on relative the distance of transit travel that is identical between the itineraries (access, egress and transfers are ignored). The value must be at least `0.5`. """ groupSimilarityKeepThree: Ratio = 0.68 """ Of the itineraries grouped to maximum of three itineraries, how much worse can the non-grouped legs be compared to the lowest cost. `2.0` means that they can be double the cost, and any itineraries having a higher cost will be filtered away. Use a value lower than `1.0` to turn the grouping off. """ groupedOtherThanSameLegsMaxCostMultiplier: Float = 2 """ Itinerary filter debug profile used to control the behaviour of itinerary filters. """ itineraryFilterDebugProfile: ItineraryFilterDebugProfile = OFF }