Swirrl / cubiql

CubiQL: A GraphQL service for querying multidimensional Linked Data Cubes
Eclipse Public License 1.0
41 stars 2 forks source link

Exception during schema creation at our server #61

Closed zeginis closed 6 years ago

zeginis commented 7 years ago

I try to run CubiQL using our SPARQL endpoint (http://195.251.218.39:8890/sparql) and get the following exception:

:dataset_arbeidsmarkt_swse {:type :dataset_arbeidsmarkt_swse, :resolve #object[graphql_qb.core$get_schema$fn__5843$fn__5844 0x500e4f "graphql_qb.core$get_schema$fn__5843$fn__5844@500e4f"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1c7152e "clojure.spec.alpha$spec_impl$reify__2910@1c7152e"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1d289c7 "clojure.spec.alpha$spec_impl$reify__2910@1d289c7"]}, :ref_area {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x104df84 "clojure.spec.alpha$spec_impl$reify__2910@104df84"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x12682c "clojure.spec.alpha$spec_impl$reify__2910@12682c"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1bb71e5 "clojure.spec.alpha$spec_impl$reify__2910@1bb71e5"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0xa056e4 "clojure.spec.alpha$spec_impl$reify__2910@a056e4"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1994b0b "clojure.spec.alpha$spec_impl$reify__2910@1994b0b"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0xcd129c "clojure.spec.alpha$spec_impl$reify__2910@cd129c"]}}}), :clojure.spec.alpha/failure :instrument, :clojure.spec.test.alpha/caller {:file "core.clj", :line 364, :var-scope graphql-qb.core/build-schema-context}}
        at clojure.core$ex_info.invokeStatic(core.clj:4617)
        at clojure.core$ex_info.invoke(core.clj:4617)
        at clojure.spec.test.alpha$spec_checking_fn$conform_BANG___3676.invoke(alpha.clj:132)
        at clojure.spec.test.alpha$spec_checking_fn$fn__3681.doInvoke(alpha.clj:140)
        at clojure.lang.RestFn.invoke(RestFn.java:408)
        at graphql_qb.core$build_schema_context.invokeStatic(core.clj:364)
        at graphql_qb.core$build_schema_context.invoke(core.clj:361)
        at graphql_qb.server$create_server.invokeStatic(server.clj:11)
        at graphql_qb.server$create_server.invoke(server.clj:8)
        at graphql_qb.server$start_server.invokeStatic(server.clj:19)
        at graphql_qb.server$start_server.invoke(server.clj:18)
        at graphql_qb.main$_main.invokeStatic(main.clj:45)
        at graphql_qb.main$_main.doInvoke(main.clj:36)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at graphql_qb.main.main(Unknown Source)
RickMoynihan commented 7 years ago

This looks to me to be only a part of the error message you're getting, can you double check and supply the whole thing?

zeginis commented 7 years ago

You are right. This is the whole exception:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" clojure.lang.ExceptionInfo: Call to #'com.walmartlabs.lacinia.schema/compile did not conform to spec:
In: [0 :objects :dataset_vehicles_cube 1 :description] val: #grafter.rdf.protocols.LangString{:string "Vehicles Cube", :lang :en} fails spec: :com.walmartlabs.lacinia.schema/description at: [:args :schema :objects 1 :description] predicate: string?
In: [0 :enums :dataset_vehicles_cube_vehicle_type_type 1 :values] val: [] fails spec: :com.walmartlabs.lacinia.schema/values at: [:args :schema :enums 1 :values] predicate: seq
In: [0 :enums :dataset_vehicles_cube_fuel_type_type 1 :values] val: [] fails spec: :com.walmartlabs.lacinia.schema/values at: [:args :schema :enums 1 :values] predicate: seq
In: [0 :enums :dataset_vehicles_cube_registration_date_type 1 :values] val: [] fails spec: :com.walmartlabs.lacinia.schema/values at: [:args :schema :enums 1 :values] predicate: seq
In: [0 :enums :dataset_vehicles_cube_vehicle_brand_type 1 :values] val: [] fails spec: :com.walmartlabs.lacinia.schema/values at: [:args :schema :enums 1 :values] predicate: seq
In: [0 :enums :dataset_vehicles_cube_area_type 1 :values] val: [] fails spec: :com.walmartlabs.lacinia.schema/values at: [:args :schema :enums 1 :values] predicate: seq
In: [0 :enums :dataset_vehicles_cube_aggregation_measure_types_type 1 :values] val: [] fails spec: :com.walmartlabs.lacinia.schema/values at: [:args :schema :enums 1 :values] predicate: seq
:clojure.spec.alpha/spec  #object[clojure.spec.alpha$regex_spec_impl$reify__3261 0x1e00016 "clojure.spec.alpha$regex_spec_impl$reify__3261@1e00016"]
:clojure.spec.alpha/value  ({:objects {:dim_value {:fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :ref_period {:fields {:uri {:type :uri, :description "URI of the reference period"}, :label {:type String, :description "Label for the reference period"}, :start {:type :DateTime, :description "Start time for the period"}, :end {:type :DateTime, :description "End time for the period"}}}, :dim {:fields {:uri {:type :uri, :description "URI of the dimension"}, :values {:type (list :dim_value), :description "Code list of values for the dimension"}, :enum_name {:type String, :description "Name of the correspondign enum value"}}}, :dataset_vehicles_cube_observation_result_type {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations."}, :page {:type :dataset_vehicles_cube_observation_results_page_type, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.core$resolve_observations_page 0xb53860 "graphql_qb.core$resolve_observations_page@b53860"]}, :aggregations {:type :dataset_vehicles_cube_aggregations_type}, :total_matches {:type Int}}}, :measure {:fields {:uri {:type :uri, :description "URI of the measure"}, :label {:type String, :description "Label for the measure"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :dataset_vehicles_cube {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :observations {:type :dataset_vehicles_cube_observation_result_type, :args {:dimensions {:type :dataset_vehicles_cube_observation_dimensions_type}, :order {:type (list :dataset_vehicles_cube_observation_ordering_type)}, :order_spec {:type :dataset_vehicles_cube_field_ordering_type}}, :resolve #object[graphql_qb.core$resolve_observations 0x1b9389f "graphql_qb.core$resolve_observations@1b9389f"], :description "Observations matching the given criteria"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}, :description #grafter.rdf.protocols.LangString{:string "Vehicles Cube", :lang :en}}, :dataset_vehicles_cube_observation_type {:fields {:uri {:type :uri, :description "URI of the observation"}, :vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}, :count_of_vehicles {:type String}}}, :dataset_vehicles_cube_aggregations_type {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x9a3661 "clojure.core$partial$fn__4759@9a3661"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x7986ad "clojure.core$partial$fn__4759@7986ad"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0xa8a2 "clojure.core$partial$fn__4759@a8a2"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x125ef1c "clojure.core$partial$fn__4759@125ef1c"]}}}, :dataset {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.core$resolve_dataset_dimensions 0xc34db2 "graphql_qb.core$resolve_dataset_dimensions@c34db2"], :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :resolve #object[graphql_qb.core$resolve_dataset_measures 0x10ce0d1 "graphql_qb.core$resolve_dataset_measures@10ce0d1"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}, :dataset_vehicles_cube_observation_results_page_type {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :result {:type (list :dataset_vehicles_cube_observation_type), :description "List of observations on this page"}}}}, :interfaces {:dataset_meta {:description "Fields common to generic and specific dataset schemas", :fields {:uri {:type :uri, :description "Dataset URI"}, :title {:type String, :description "Dataset title"}, :description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :measures {:type (list :measure), :description "Measure types within the dataset"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}, :dataset_vehicles_cube_vehicle_type_type {:values []}, :dataset_vehicles_cube_fuel_type_type {:values []}, :dataset_vehicles_cube_registration_date_type {:values []}, :dataset_vehicles_cube_vehicle_brand_type {:values []}, :dataset_vehicles_cube_area_type {:values []}, :dataset_vehicles_cube_aggregation_measure_types_type {:values []}, :dataset_vehicles_cube_observation_ordering_type {:values [:VEHICLE_TYPE :FUEL_TYPE :REGISTRATION_DATE :VEHICLE_BRAND :AREA :COUNT_OF_VEHICLES]}}, :input-objects {:filter {:fields {:or {:type (list :uri), :description "List of URIs for which at least one must be contained within matching datasets."}, :and {:type (list :uri), :description "List of URIs which must all be contained within matching datasets."}}}, :ref_period_filter {:fields {:uri {:type :uri, :description "URI of the reference period"}, :starts_before {:type :DateTime, :description "Latest start time for the reference period"}, :starts_after {:type :DateTime, :description "Earliest start time for the reference period"}, :ends_before {:type :DateTime, :description "Latest end time for the reference period"}, :ends_after {:type :DateTime, :description "Earliest end time for the reference period"}}}, :page_selector {:fields {:first {:type Int, :description "Number of results to retrive."}, :after {:type :SparqlCursor, :description "Cursor to the start of the results page"}}}, :dataset_vehicles_cube_observation_dimensions_type {:fields {:vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}}}, :dataset_vehicles_cube_field_ordering_type {:fields {:vehicle_type {:type :sort_direction}, :fuel_type {:type :sort_direction}, :registration_date {:type :sort_direction}, :vehicle_brand {:type :sort_direction}, :area {:type :sort_direction}, :count_of_vehicles {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.core$resolve_datasets 0x91cd6c "graphql_qb.core$resolve_datasets@91cd6c"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_vehicles_cube {:type :dataset_vehicles_cube, :resolve #object[graphql_qb.core$get_schema$fn__5993$fn__5994 0xedf08d "graphql_qb.core$get_schema$fn__5993$fn__5994@edf08d"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x15d9f1e "clojure.spec.alpha$spec_impl$reify__2910@15d9f1e"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x10ff014 "clojure.spec.alpha$spec_impl$reify__2910@10ff014"]}, :ref_area {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1317a0 "clojure.spec.alpha$spec_impl$reify__2910@1317a0"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1866f50 "clojure.spec.alpha$spec_impl$reify__2910@1866f50"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x44a2d1 "clojure.spec.alpha$spec_impl$reify__2910@44a2d1"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1769d "clojure.spec.alpha$spec_impl$reify__2910@1769d"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0xf7dd6a "clojure.spec.alpha$spec_impl$reify__2910@f7dd6a"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x7d78b "clojure.spec.alpha$spec_impl$reify__2910@7d78b"]}}})
:clojure.spec.alpha/args  ({:objects {:dim_value {:fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :ref_period {:fields {:uri {:type :uri, :description "URI of the reference period"}, :label {:type String, :description "Label for the reference period"}, :start {:type :DateTime, :description "Start time for the period"}, :end {:type :DateTime, :description "End time for the period"}}}, :dim {:fields {:uri {:type :uri, :description "URI of the dimension"}, :values {:type (list :dim_value), :description "Code list of values for the dimension"}, :enum_name {:type String, :description "Name of the correspondign enum value"}}}, :dataset_vehicles_cube_observation_result_type {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations."}, :page {:type :dataset_vehicles_cube_observation_results_page_type, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.core$resolve_observations_page 0xb53860 "graphql_qb.core$resolve_observations_page@b53860"]}, :aggregations {:type :dataset_vehicles_cube_aggregations_type}, :total_matches {:type Int}}}, :measure {:fields {:uri {:type :uri, :description "URI of the measure"}, :label {:type String, :description "Label for the measure"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :dataset_vehicles_cube {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :observations {:type :dataset_vehicles_cube_observation_result_type, :args {:dimensions {:type :dataset_vehicles_cube_observation_dimensions_type}, :order {:type (list :dataset_vehicles_cube_observation_ordering_type)}, :order_spec {:type :dataset_vehicles_cube_field_ordering_type}}, :resolve #object[graphql_qb.core$resolve_observations 0x1b9389f "graphql_qb.core$resolve_observations@1b9389f"], :description "Observations matching the given criteria"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}, :description #grafter.rdf.protocols.LangString{:string "Vehicles Cube", :lang :en}}, :dataset_vehicles_cube_observation_type {:fields {:uri {:type :uri, :description "URI of the observation"}, :vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}, :count_of_vehicles {:type String}}}, :dataset_vehicles_cube_aggregations_type {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x9a3661 "clojure.core$partial$fn__4759@9a3661"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x7986ad "clojure.core$partial$fn__4759@7986ad"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0xa8a2 "clojure.core$partial$fn__4759@a8a2"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x125ef1c "clojure.core$partial$fn__4759@125ef1c"]}}}, :dataset {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.core$resolve_dataset_dimensions 0xc34db2 "graphql_qb.core$resolve_dataset_dimensions@c34db2"], :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :resolve #object[graphql_qb.core$resolve_dataset_measures 0x10ce0d1 "graphql_qb.core$resolve_dataset_measures@10ce0d1"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}, :dataset_vehicles_cube_observation_results_page_type {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :result {:type (list :dataset_vehicles_cube_observation_type), :description "List of observations on this page"}}}}, :interfaces {:dataset_meta {:description "Fields common to generic and specific dataset schemas", :fields {:uri {:type :uri, :description "Dataset URI"}, :title {:type String, :description "Dataset title"}, :description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :measures {:type (list :measure), :description "Measure types within the dataset"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}, :dataset_vehicles_cube_vehicle_type_type {:values []}, :dataset_vehicles_cube_fuel_type_type {:values []}, :dataset_vehicles_cube_registration_date_type {:values []}, :dataset_vehicles_cube_vehicle_brand_type {:values []}, :dataset_vehicles_cube_area_type {:values []}, :dataset_vehicles_cube_aggregation_measure_types_type {:values []}, :dataset_vehicles_cube_observation_ordering_type {:values [:VEHICLE_TYPE :FUEL_TYPE :REGISTRATION_DATE :VEHICLE_BRAND :AREA :COUNT_OF_VEHICLES]}}, :input-objects {:filter {:fields {:or {:type (list :uri), :description "List of URIs for which at least one must be contained within matching datasets."}, :and {:type (list :uri), :description "List of URIs which must all be contained within matching datasets."}}}, :ref_period_filter {:fields {:uri {:type :uri, :description "URI of the reference period"}, :starts_before {:type :DateTime, :description "Latest start time for the reference period"}, :starts_after {:type :DateTime, :description "Earliest start time for the reference period"}, :ends_before {:type :DateTime, :description "Latest end time for the reference period"}, :ends_after {:type :DateTime, :description "Earliest end time for the reference period"}}}, :page_selector {:fields {:first {:type Int, :description "Number of results to retrive."}, :after {:type :SparqlCursor, :description "Cursor to the start of the results page"}}}, :dataset_vehicles_cube_observation_dimensions_type {:fields {:vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}}}, :dataset_vehicles_cube_field_ordering_type {:fields {:vehicle_type {:type :sort_direction}, :fuel_type {:type :sort_direction}, :registration_date {:type :sort_direction}, :vehicle_brand {:type :sort_direction}, :area {:type :sort_direction}, :count_of_vehicles {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.core$resolve_datasets 0x91cd6c "graphql_qb.core$resolve_datasets@91cd6c"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_vehicles_cube {:type :dataset_vehicles_cube, :resolve #object[graphql_qb.core$get_schema$fn__5993$fn__5994 0xedf08d "graphql_qb.core$get_schema$fn__5993$fn__5994@edf08d"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x15d9f1e "clojure.spec.alpha$spec_impl$reify__2910@15d9f1e"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x10ff014 "clojure.spec.alpha$spec_impl$reify__2910@10ff014"]}, :ref_area {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1317a0 "clojure.spec.alpha$spec_impl$reify__2910@1317a0"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1866f50 "clojure.spec.alpha$spec_impl$reify__2910@1866f50"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x44a2d1 "clojure.spec.alpha$spec_impl$reify__2910@44a2d1"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1769d "clojure.spec.alpha$spec_impl$reify__2910@1769d"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0xf7dd6a "clojure.spec.alpha$spec_impl$reify__2910@f7dd6a"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x7d78b "clojure.spec.alpha$spec_impl$reify__2910@7d78b"]}}})
:clojure.spec.alpha/failure  :instrument
:clojure.spec.test.alpha/caller  {:file "core.clj", :line 348, :var-scope graphql-qb.core/build-schema-context}
 {:clojure.spec.alpha/problems ({:path [:args :schema :objects 1 :description], :pred clojure.core/string?, :val #grafter.rdf.protocols.LangString{:string "Vehicles Cube", :lang :en}, :via [:com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/objects :com.walmartlabs.lacinia.schema/object :com.walmartlabs.lacinia.schema/description], :in [0 :objects :dataset_vehicles_cube 1 :description]} {:path [:args :schema :enums 1 :values], :pred clojure.core/seq, :val [], :via [:com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/enums :com.walmartlabs.lacinia.schema/enum :com.walmartlabs.lacinia.schema/values], :in [0 :enums :dataset_vehicles_cube_vehicle_type_type 1 :values]} {:path [:args :schema :enums 1 :values], :pred clojure.core/seq, :val [], :via [:com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/enums :com.walmartlabs.lacinia.schema/enum :com.walmartlabs.lacinia.schema/values], :in [0 :enums :dataset_vehicles_cube_fuel_type_type 1 :values]} {:path [:args :schema :enums 1 :values], :pred clojure.core/seq, :val [], :via [:com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/enums :com.walmartlabs.lacinia.schema/enum :com.walmartlabs.lacinia.schema/values], :in [0 :enums :dataset_vehicles_cube_registration_date_type 1 :values]} {:path [:args :schema :enums 1 :values], :pred clojure.core/seq, :val [], :via [:com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/enums :com.walmartlabs.lacinia.schema/enum :com.walmartlabs.lacinia.schema/values], :in [0 :enums :dataset_vehicles_cube_vehicle_brand_type 1 :values]} {:path [:args :schema :enums 1 :values], :pred clojure.core/seq, :val [], :via [:com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/enums :com.walmartlabs.lacinia.schema/enum :com.walmartlabs.lacinia.schema/values], :in [0 :enums :dataset_vehicles_cube_area_type 1 :values]} {:path [:args :schema :enums 1 :values], :pred clojure.core/seq, :val [], :via [:com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/enums :com.walmartlabs.lacinia.schema/enum :com.walmartlabs.lacinia.schema/values], :in [0 :enums :dataset_vehicles_cube_aggregation_measure_types_type 1 :values]}), :clojure.spec.alpha/spec #object[clojure.spec.alpha$regex_spec_impl$reify__3261 0x1e00016 "clojure.spec.alpha$regex_spec_impl$reify__3261@1e00016"], :clojure.spec.alpha/value ({:objects {:dim_value {:fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :ref_period {:fields {:uri {:type :uri, :description "URI of the reference period"}, :label {:type String, :description "Label for the reference period"}, :start {:type :DateTime, :description "Start time for the period"}, :end {:type :DateTime, :description "End time for the period"}}}, :dim {:fields {:uri {:type :uri, :description "URI of the dimension"}, :values {:type (list :dim_value), :description "Code list of values for the dimension"}, :enum_name {:type String, :description "Name of the correspondign enum value"}}}, :dataset_vehicles_cube_observation_result_type {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations."}, :page {:type :dataset_vehicles_cube_observation_results_page_type, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.core$resolve_observations_page 0xb53860 "graphql_qb.core$resolve_observations_page@b53860"]}, :aggregations {:type :dataset_vehicles_cube_aggregations_type}, :total_matches {:type Int}}}, :measure {:fields {:uri {:type :uri, :description "URI of the measure"}, :label {:type String, :description "Label for the measure"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :dataset_vehicles_cube {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :observations {:type :dataset_vehicles_cube_observation_result_type, :args {:dimensions {:type :dataset_vehicles_cube_observation_dimensions_type}, :order {:type (list :dataset_vehicles_cube_observation_ordering_type)}, :order_spec {:type :dataset_vehicles_cube_field_ordering_type}}, :resolve #object[graphql_qb.core$resolve_observations 0x1b9389f "graphql_qb.core$resolve_observations@1b9389f"], :description "Observations matching the given criteria"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}, :description #grafter.rdf.protocols.LangString{:string "Vehicles Cube", :lang :en}}, :dataset_vehicles_cube_observation_type {:fields {:uri {:type :uri, :description "URI of the observation"}, :vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}, :count_of_vehicles {:type String}}}, :dataset_vehicles_cube_aggregations_type {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x9a3661 "clojure.core$partial$fn__4759@9a3661"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x7986ad "clojure.core$partial$fn__4759@7986ad"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0xa8a2 "clojure.core$partial$fn__4759@a8a2"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x125ef1c "clojure.core$partial$fn__4759@125ef1c"]}}}, :dataset {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.core$resolve_dataset_dimensions 0xc34db2 "graphql_qb.core$resolve_dataset_dimensions@c34db2"], :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :resolve #object[graphql_qb.core$resolve_dataset_measures 0x10ce0d1 "graphql_qb.core$resolve_dataset_measures@10ce0d1"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}, :dataset_vehicles_cube_observation_results_page_type {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :result {:type (list :dataset_vehicles_cube_observation_type), :description "List of observations on this page"}}}}, :interfaces {:dataset_meta {:description "Fields common to generic and specific dataset schemas", :fields {:uri {:type :uri, :description "Dataset URI"}, :title {:type String, :description "Dataset title"}, :description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :measures {:type (list :measure), :description "Measure types within the dataset"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}, :dataset_vehicles_cube_vehicle_type_type {:values []}, :dataset_vehicles_cube_fuel_type_type {:values []}, :dataset_vehicles_cube_registration_date_type {:values []}, :dataset_vehicles_cube_vehicle_brand_type {:values []}, :dataset_vehicles_cube_area_type {:values []}, :dataset_vehicles_cube_aggregation_measure_types_type {:values []}, :dataset_vehicles_cube_observation_ordering_type {:values [:VEHICLE_TYPE :FUEL_TYPE :REGISTRATION_DATE :VEHICLE_BRAND :AREA :COUNT_OF_VEHICLES]}}, :input-objects {:filter {:fields {:or {:type (list :uri), :description "List of URIs for which at least one must be contained within matching datasets."}, :and {:type (list :uri), :description "List of URIs which must all be contained within matching datasets."}}}, :ref_period_filter {:fields {:uri {:type :uri, :description "URI of the reference period"}, :starts_before {:type :DateTime, :description "Latest start time for the reference period"}, :starts_after {:type :DateTime, :description "Earliest start time for the reference period"}, :ends_before {:type :DateTime, :description "Latest end time for the reference period"}, :ends_after {:type :DateTime, :description "Earliest end time for the reference period"}}}, :page_selector {:fields {:first {:type Int, :description "Number of results to retrive."}, :after {:type :SparqlCursor, :description "Cursor to the start of the results page"}}}, :dataset_vehicles_cube_observation_dimensions_type {:fields {:vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}}}, :dataset_vehicles_cube_field_ordering_type {:fields {:vehicle_type {:type :sort_direction}, :fuel_type {:type :sort_direction}, :registration_date {:type :sort_direction}, :vehicle_brand {:type :sort_direction}, :area {:type :sort_direction}, :count_of_vehicles {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.core$resolve_datasets 0x91cd6c "graphql_qb.core$resolve_datasets@91cd6c"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_vehicles_cube {:type :dataset_vehicles_cube, :resolve #object[graphql_qb.core$get_schema$fn__5993$fn__5994 0xedf08d "graphql_qb.core$get_schema$fn__5993$fn__5994@edf08d"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x15d9f1e "clojure.spec.alpha$spec_impl$reify__2910@15d9f1e"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x10ff014 "clojure.spec.alpha$spec_impl$reify__2910@10ff014"]}, :ref_area {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1317a0 "clojure.spec.alpha$spec_impl$reify__2910@1317a0"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1866f50 "clojure.spec.alpha$spec_impl$reify__2910@1866f50"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x44a2d1 "clojure.spec.alpha$spec_impl$reify__2910@44a2d1"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1769d "clojure.spec.alpha$spec_impl$reify__2910@1769d"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0xf7dd6a "clojure.spec.alpha$spec_impl$reify__2910@f7dd6a"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x7d78b "clojure.spec.alpha$spec_impl$reify__2910@7d78b"]}}}), :clojure.spec.alpha/args ({:objects {:dim_value {:fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :ref_period {:fields {:uri {:type :uri, :description "URI of the reference period"}, :label {:type String, :description "Label for the reference period"}, :start {:type :DateTime, :description "Start time for the period"}, :end {:type :DateTime, :description "End time for the period"}}}, :dim {:fields {:uri {:type :uri, :description "URI of the dimension"}, :values {:type (list :dim_value), :description "Code list of values for the dimension"}, :enum_name {:type String, :description "Name of the correspondign enum value"}}}, :dataset_vehicles_cube_observation_result_type {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations."}, :page {:type :dataset_vehicles_cube_observation_results_page_type, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.core$resolve_observations_page 0xb53860 "graphql_qb.core$resolve_observations_page@b53860"]}, :aggregations {:type :dataset_vehicles_cube_aggregations_type}, :total_matches {:type Int}}}, :measure {:fields {:uri {:type :uri, :description "URI of the measure"}, :label {:type String, :description "Label for the measure"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :dataset_vehicles_cube {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :observations {:type :dataset_vehicles_cube_observation_result_type, :args {:dimensions {:type :dataset_vehicles_cube_observation_dimensions_type}, :order {:type (list :dataset_vehicles_cube_observation_ordering_type)}, :order_spec {:type :dataset_vehicles_cube_field_ordering_type}}, :resolve #object[graphql_qb.core$resolve_observations 0x1b9389f "graphql_qb.core$resolve_observations@1b9389f"], :description "Observations matching the given criteria"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}, :description #grafter.rdf.protocols.LangString{:string "Vehicles Cube", :lang :en}}, :dataset_vehicles_cube_observation_type {:fields {:uri {:type :uri, :description "URI of the observation"}, :vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}, :count_of_vehicles {:type String}}}, :dataset_vehicles_cube_aggregations_type {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x9a3661 "clojure.core$partial$fn__4759@9a3661"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x7986ad "clojure.core$partial$fn__4759@7986ad"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0xa8a2 "clojure.core$partial$fn__4759@a8a2"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x125ef1c "clojure.core$partial$fn__4759@125ef1c"]}}}, :dataset {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.core$resolve_dataset_dimensions 0xc34db2 "graphql_qb.core$resolve_dataset_dimensions@c34db2"], :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :resolve #object[graphql_qb.core$resolve_dataset_measures 0x10ce0d1 "graphql_qb.core$resolve_dataset_measures@10ce0d1"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}, :dataset_vehicles_cube_observation_results_page_type {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :result {:type (list :dataset_vehicles_cube_observation_type), :description "List of observations on this page"}}}}, :interfaces {:dataset_meta {:description "Fields common to generic and specific dataset schemas", :fields {:uri {:type :uri, :description "Dataset URI"}, :title {:type String, :description "Dataset title"}, :description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :measures {:type (list :measure), :description "Measure types within the dataset"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}, :dataset_vehicles_cube_vehicle_type_type {:values []}, :dataset_vehicles_cube_fuel_type_type {:values []}, :dataset_vehicles_cube_registration_date_type {:values []}, :dataset_vehicles_cube_vehicle_brand_type {:values []}, :dataset_vehicles_cube_area_type {:values []}, :dataset_vehicles_cube_aggregation_measure_types_type {:values []}, :dataset_vehicles_cube_observation_ordering_type {:values [:VEHICLE_TYPE :FUEL_TYPE :REGISTRATION_DATE :VEHICLE_BRAND :AREA :COUNT_OF_VEHICLES]}}, :input-objects {:filter {:fields {:or {:type (list :uri), :description "List of URIs for which at least one must be contained within matching datasets."}, :and {:type (list :uri), :description "List of URIs which must all be contained within matching datasets."}}}, :ref_period_filter {:fields {:uri {:type :uri, :description "URI of the reference period"}, :starts_before {:type :DateTime, :description "Latest start time for the reference period"}, :starts_after {:type :DateTime, :description "Earliest start time for the reference period"}, :ends_before {:type :DateTime, :description "Latest end time for the reference period"}, :ends_after {:type :DateTime, :description "Earliest end time for the reference period"}}}, :page_selector {:fields {:first {:type Int, :description "Number of results to retrive."}, :after {:type :SparqlCursor, :description "Cursor to the start of the results page"}}}, :dataset_vehicles_cube_observation_dimensions_type {:fields {:vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}}}, :dataset_vehicles_cube_field_ordering_type {:fields {:vehicle_type {:type :sort_direction}, :fuel_type {:type :sort_direction}, :registration_date {:type :sort_direction}, :vehicle_brand {:type :sort_direction}, :area {:type :sort_direction}, :count_of_vehicles {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.core$resolve_datasets 0x91cd6c "graphql_qb.core$resolve_datasets@91cd6c"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_vehicles_cube {:type :dataset_vehicles_cube, :resolve #object[graphql_qb.core$get_schema$fn__5993$fn__5994 0xedf08d "graphql_qb.core$get_schema$fn__5993$fn__5994@edf08d"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x15d9f1e "clojure.spec.alpha$spec_impl$reify__2910@15d9f1e"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x10ff014 "clojure.spec.alpha$spec_impl$reify__2910@10ff014"]}, :ref_area {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1317a0 "clojure.spec.alpha$spec_impl$reify__2910@1317a0"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1866f50 "clojure.spec.alpha$spec_impl$reify__2910@1866f50"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x44a2d1 "clojure.spec.alpha$spec_impl$reify__2910@44a2d1"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1769d "clojure.spec.alpha$spec_impl$reify__2910@1769d"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0xf7dd6a "clojure.spec.alpha$spec_impl$reify__2910@f7dd6a"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x7d78b "clojure.spec.alpha$spec_impl$reify__2910@7d78b"]}}}), :clojure.spec.alpha/failure :instrument, :clojure.spec.test.alpha/caller {:file "core.clj", :line 348, :var-scope graphql-qb.core/build-schema-context}}
    at clojure.core$ex_info.invokeStatic(core.clj:4617)
    at clojure.core$ex_info.invoke(core.clj:4617)
    at clojure.spec.test.alpha$spec_checking_fn$conform_BANG___3707.invoke(alpha.clj:132)
    at clojure.spec.test.alpha$spec_checking_fn$fn__3712.doInvoke(alpha.clj:140)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at graphql_qb.core$build_schema_context.invokeStatic(core.clj:348)
    at graphql_qb.core$build_schema_context.invoke(core.clj:345)
    at graphql_qb.server$create_server.invokeStatic(server.clj:16)
    at graphql_qb.server$create_server.invoke(server.clj:13)
    at graphql_qb.server$start_server.invokeStatic(server.clj:27)
    at graphql_qb.server$start_server.invoke(server.clj:26)
    at graphql_qb.main$_main.invokeStatic(main.clj:45)
    at graphql_qb.main$_main.doInvoke(main.clj:36)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at graphql_qb.main.main(Unknown Source)
RickMoynihan commented 7 years ago

Thanks.

As expected it looks like it's mostly down to differences between our data and yours.

At a cursory glance it looks like a few issues, but will need to investigate more.

e.g. this

In: [0 :objects :dataset_vehicles_cube 1 :description] val: #grafter.rdf.protocols.LangString{:string "Vehicles Cube", :lang :en} fails spec: :com.walmartlabs.lacinia.schema/description at: [:args :schema :objects 1 :description] predicate: string?

Is most likely because we're not converting language strings into strings which is issue #6.

zeginis commented 7 years ago

Yes in deed the problem is down to the data differences. I managed to fix some of them. But there are some more remaining:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" clojure.lang.ExceptionInfo: Call to #'com.walmartlabs.lacinia.schema/compile did not conform to spec:
In: [0 :enums :dataset_vehicles_cube_registration_date_type 1 :values] val: [] fails spec: :com.walmartlabs.lacinia.schema/values at: [:args :schema :enums 1 :values] predicate: seq
In: [0 :enums :dataset_vehicles_cube_area_type 1 :values] val: [] fails spec: :com.walmartlabs.lacinia.schema/values at: [:args :schema :enums 1 :values] predicate: seq
In: [0 :enums :dataset_vehicles_cube_aggregation_measure_types_type 1 :values] val: [] fails spec: :com.walmartlabs.lacinia.schema/values at: [:args :schema :enums 1 :values] predicate: seq
:clojure.spec.alpha/spec  #object[clojure.spec.alpha$regex_spec_impl$reify__3261 0xa04257 "clojure.spec.alpha$regex_spec_impl$reify__3261@a04257"]
:clojure.spec.alpha/value  ({:objects {:dim_value {:fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :ref_period {:fields {:uri {:type :uri, :description "URI of the reference period"}, :label {:type String, :description "Label for the reference period"}, :start {:type :DateTime, :description "Start time for the period"}, :end {:type :DateTime, :description "End time for the period"}}}, :dim {:fields {:uri {:type :uri, :description "URI of the dimension"}, :values {:type (list :dim_value), :description "Code list of values for the dimension"}, :enum_name {:type String, :description "Name of the correspondign enum value"}}}, :dataset_vehicles_cube_observation_result_type {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations."}, :page {:type :dataset_vehicles_cube_observation_results_page_type, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.core$resolve_observations_page 0x13cbe6e "graphql_qb.core$resolve_observations_page@13cbe6e"]}, :aggregations {:type :dataset_vehicles_cube_aggregations_type}, :total_matches {:type Int}}}, :measure {:fields {:uri {:type :uri, :description "URI of the measure"}, :label {:type String, :description "Label for the measure"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :dataset_vehicles_cube {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :observations {:type :dataset_vehicles_cube_observation_result_type, :args {:dimensions {:type :dataset_vehicles_cube_observation_dimensions_type}, :order {:type (list :dataset_vehicles_cube_observation_ordering_type)}, :order_spec {:type :dataset_vehicles_cube_field_ordering_type}}, :resolve #object[graphql_qb.core$resolve_observations 0x1176b18 "graphql_qb.core$resolve_observations@1176b18"], :description "Observations matching the given criteria"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}, :description "Vehicles Cube"}, :dataset_vehicles_cube_observation_type {:fields {:uri {:type :uri, :description "URI of the observation"}, :vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}, :count_of_vehicles {:type String}}}, :dataset_vehicles_cube_aggregations_type {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x15ac347 "clojure.core$partial$fn__4759@15ac347"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x1b9389f "clojure.core$partial$fn__4759@1b9389f"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0xb2c5ed "clojure.core$partial$fn__4759@b2c5ed"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x1f785e3 "clojure.core$partial$fn__4759@1f785e3"]}}}, :dataset {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.core$resolve_dataset_dimensions 0x7986ad "graphql_qb.core$resolve_dataset_dimensions@7986ad"], :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :resolve #object[graphql_qb.core$resolve_dataset_measures 0x125ef1c "graphql_qb.core$resolve_dataset_measures@125ef1c"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}, :dataset_vehicles_cube_observation_results_page_type {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :result {:type (list :dataset_vehicles_cube_observation_type), :description "List of observations on this page"}}}}, :interfaces {:dataset_meta {:description "Fields common to generic and specific dataset schemas", :fields {:uri {:type :uri, :description "Dataset URI"}, :title {:type String, :description "Dataset title"}, :description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :measures {:type (list :measure), :description "Measure types within the dataset"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}, :dataset_vehicles_cube_vehicle_type_type {:values [:TRACTOR :LOADED_TUG :SEMI_TRAILOR_TRUCK :MOTORCYCLE :CAR :SEMI_TRAILER :THREE_WHEELER_GOODS_TRUCK :BUS :CAR_MIXED :TRACTOR_SEMI_TRAILOR_TRUCK :TRAILER :THREE_WHEELER_CAR :GOODS_VEHICLE_TRUCK :CARAVAN :PULL_VEHICLE_FOR_ROLLER_COASTER :TRAILER_FOR_ROLLER_COASTER]}, :dataset_vehicles_cube_fuel_type_type {:values [:HYBRID_ELECTRIC_DIESEL_CATALYTIC]}, :dataset_vehicles_cube_registration_date_type {:values []}, :dataset_vehicles_cube_vehicle_brand_type {:values [:A_P_HONDA :ABTOZABOO :ADAM_OPEL_AG :ADLER :AEC :AEON_MOTOR :ALFA_ROMEO :AMERICAN_MOTORS :AMSTRONG :ANADOLOU_ISUZU :APRILIA :APRILIA_SPA :ARO_S_A :ASIA_MOTOR :ASTRA :AUDI :AUSTIN :AUTO_UNION :AUTOBIANCHI :AUTOBUZUL :AUTOEXPORT :AUTOMECCANICA :AUTOMOBILES_PEU :B_M_W :BAIHAI_YINYIANG :BAJAJ :BEDFORD :BELGARDA_SPA :BERLIET :BMC :BMWI :BOVA :BREMACK :BUSSING_HELLAS :CAR_BUS :CHEVROLET :CHEVROLET_GMC_HOLDEN :CHEVROLET_BUICK_PONTI :CHEVROLE_GMC_BUICK_P :CHINA_JIALING :CHONGQING_LIFAN :CHRYSLER :CHRYSLER_DODGE :CHRYSLER_MITSUB :CHUNFENG :CITROEN :COMMER :CONTRUCK_MECHANICA :DAB_SILKEBORG :DACIA :DAELIM :DAEWOO :DAEWOO_GM_DAEWOO_CH :DAEWOO_FSO :DAF :DAIHATSU :DAIMLER :DAIMLER_BENZ :DAIMLER_CHRYSL :DALLARA_SRL :DATSUN_NISSAN_M :DENNIS_ENGL :DINLI_METAL :DODGE :DONGFENGMOTOR_RC :DOTTO_SRL :DUCATI :EBRO :EFFEDI :ENFIELD :EOS_COACH :EVOBUS :F_S_O :F12 :FAP :FIAT :FIAT_IVECO :FIAT_AUTO_SPA :FIAT_POLSKI :FISSORE_FIAT :FONTANA_ROMANA :FORD :FORD_MOTOR_CO_A :FORD_OTOMOTIV_S :FORD_OTOSAN_SANAYI :FORD_TRANSCONT :FORD_WERKE :FSC :FUJI_HEAVY :G_AUWARTER :G_M_C :G_M_HELLAS_ABEE :GAGIVA_MOTOR :GENERAL_MOTORS :GENERAL_TRAILERS :GM_DAEWOO_AUTO :GOLIATH :GORGOLIS_S_A :GRECAV_SPA :HANOMAG_AVRAS :HARLEY_DAVIDSON :HEPHAESTUS_STEFANOU_S :HERCHEE_INDUSTR :HEULIEZ_BUS :HINO :HM :HONDA :HONDA_ITALIA :HONDA_MOTOR :HOREX :HUSQVARNA :HYOSUNG_MOTORS :HYUNDAI :HYUNDAI_ASSAN :HYUNDAI_MOTOR_C :I_F_A :IBC_VEHICLES :IKARUS :INNOCENTI :INTERNATIONAL :INTREBRINDEAREA :IRISBUS_SPA :IRIZAR :ISUZU :ITALJET :IVECO :IVECO_MAGIRUS :IVECO_BUS :IVECO_SPA :IVECO_IRISBUS :IVECO_IVECO_FIAT :IZ :JACK_INTERNATIO :JAGUAR :JAWA :JEEP_CORPOR :JIANGMEN :JIANGSU_LINHAI :JIANSHE :JINCHENG :JONCKHEERE :JTD54V :K_L_S_R_L :K_T_M :KAISER_JEEP :KARRIER_MOTORS :KASSBOHRER :KAWASAKI :KIA :KIA_MOTORS_CORP :KOSKERIDIS :KUTSENITS_HORNSTEIN :KWANG_YANG :KYMCO :LADA :LAMBRETTA_S_A_L :LANCIA :LAND_ROVER :LEYLAND_MOTORS :LIAZ :LONCIN_GROUP :LUOYANG_NORTHER :M_C_C_AG :MADARA :MAGIRUS :MAGYAR_SUZUKI_C :MAHINDRA :MALAGUTI_SPA :MAN :MAN_VOLKS_WAGEN :MARUTI_UDYOG :MATRA_AUTOMOBIL :MAVA :MAZ :MAZDA :MBK_INDUSTRIE :MEBEA :MERCEDES_BENZ :MERCEDES :MERCEDES_B_TURK :MERCEDES_ESPANA :MERCEDES_TURK :MERCURY :MEGKO :MITSUBISHI :MITSUBISHI_PORT :MITSUBISHI_THAI :MITSUBISHI_MITSUBIS :MMC_SITTIPOL :MOBITECNO :MONTESA_HONDA :MORRIS :MOSKVITCH :MOT_IBERICA_SA :MOTO_GUZZI :MOTO_HONDA :MOTOR_STAR :MV_AGUSTA :MZ :NAMKO :NANJING_JINCHEN :NEOPLAN :NETHERLANDS_CAR :NIKAS :NISSAN :NISSAN_EUROPE :NISSAN_MOTOR :NISSAN_MOTOR_IB :NISSAN_MOTOR_UK :NISSAN_VEHICULO :NOBRAND :NORTON :OAO_AVTOVAZ :OM :OPEL :OPEL_B :OPEL_PORTUGAL :OPEL_UK :OPEL_VAUXHALL :OTOKAR :OTOKAR_OTOBUS_K :OTOKAR_SANAYI :P_KOSKERIDIS_CO :P_T_FEDERAL :P_T_KAWASAKI :P_T_FEDER_HONDA :PANTHER :PEGASO :PETERSON_MOTOR :PEUGEOT :PIAGGIO :PIL_AKVAL :PONTIAC :PT_YAMAHA_MANUF :RANGER :RELIANT :RENAULT :ROSENBAUER :ROVER :ROYAL :S_O_V_A_B :SAAB :SAAB_AUTOMOBILE :SAAB_SCANIA :SAEHAN_MOTOR :SANTANA_MOTOR :SANYANG :SAVDAR :SAVIEM :SCAM_SRL :SCANIA :SCANIA_HOLLAND :SCANIA_SWEDEN :SCANIA_VABIS :SEAT :SEDDON :SETRA :SIAM_YAMAHA :SICAS :SICAS_SPA :SIMCA :SKODA :SKODA_AUTO_A_S :SMART :SMYRLIADIS :SOLARIS :SSANGYONG :SSANGYONG_MOTOR :STEYER_BUS :STEYR :SUBARU :SUZUKI :SUZUKI_MAGYAR :SUZUKI_MALAYSIA :SUZUKI_MOTOR_CO :TAIWAN_GOLDEN_B :TALBOT :TAM :TATA :TATRA :TEMSA :TEMSA_SANAYI :TEMSA_SANAYI_VE :TERBERG :THAI_HONDA :THAI_YAMAHA :THOMAS :TITAN :TOUMBASD_COL_P :TOYOTA :TOYOTA_MOTOR_TH :TOYOTA_SOUTH_AF :TOYOTA_UK :TRIUMPH :TRIUMPH_MOTOR :TROEGMOELLER :TSCHU_TSCHU_BAH :T :UNIC :UZINA :VANCLEE_BUGGY :VAN_HOOL :VAUXHALL :VEB_ROBUR :VEB_MZ :VOLGA :VOLKSWAGEN :VOLVO :VOLVO_CAR_CORPO :YAK_VEHICLES :YAMAHA :YAMAHA_ESPANA :YIWU_MOTORCYCLE :Z_MANTOS :ZASTAVA :ZASTAVA_KAMIONI :ZAZ :ZHONGSHAN_GUOCH :ZONGSHEN_INDUST :A_KAOUSIS_AE :AYTOKINHTOBIOM :AFOI_SARAKAKI :BIAMAX :ELBO :EMPOR_AYT :HFAISTOS_STEFANOY_ABE :KAXEKO_O_E :STAGIER_HELLAS :SFAKIANAKIS :TAXIARXOY_A_E_B_E :TEOKAR]}, :dataset_vehicles_cube_area_type {:values []}, :dataset_vehicles_cube_aggregation_measure_types_type {:values []}, :dataset_vehicles_cube_observation_ordering_type {:values [:VEHICLE_TYPE :FUEL_TYPE :REGISTRATION_DATE :VEHICLE_BRAND :AREA :COUNT_OF_VEHICLES]}}, :input-objects {:filter {:fields {:or {:type (list :uri), :description "List of URIs for which at least one must be contained within matching datasets."}, :and {:type (list :uri), :description "List of URIs which must all be contained within matching datasets."}}}, :ref_period_filter {:fields {:uri {:type :uri, :description "URI of the reference period"}, :starts_before {:type :DateTime, :description "Latest start time for the reference period"}, :starts_after {:type :DateTime, :description "Earliest start time for the reference period"}, :ends_before {:type :DateTime, :description "Latest end time for the reference period"}, :ends_after {:type :DateTime, :description "Earliest end time for the reference period"}}}, :page_selector {:fields {:first {:type Int, :description "Number of results to retrive."}, :after {:type :SparqlCursor, :description "Cursor to the start of the results page"}}}, :dataset_vehicles_cube_observation_dimensions_type {:fields {:vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}}}, :dataset_vehicles_cube_field_ordering_type {:fields {:vehicle_type {:type :sort_direction}, :fuel_type {:type :sort_direction}, :registration_date {:type :sort_direction}, :vehicle_brand {:type :sort_direction}, :area {:type :sort_direction}, :count_of_vehicles {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.core$resolve_datasets 0xc34db2 "graphql_qb.core$resolve_datasets@c34db2"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_vehicles_cube {:type :dataset_vehicles_cube, :resolve #object[graphql_qb.core$get_schema$fn__5993$fn__5994 0x10ce0d1 "graphql_qb.core$get_schema$fn__5993$fn__5994@10ce0d1"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x91cd6c "clojure.spec.alpha$spec_impl$reify__2910@91cd6c"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x3f8a73 "clojure.spec.alpha$spec_impl$reify__2910@3f8a73"]}, :ref_area {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0xedf08d "clojure.spec.alpha$spec_impl$reify__2910@edf08d"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x13dcaf8 "clojure.spec.alpha$spec_impl$reify__2910@13dcaf8"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x15d9f1e "clojure.spec.alpha$spec_impl$reify__2910@15d9f1e"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x10ff014 "clojure.spec.alpha$spec_impl$reify__2910@10ff014"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1317a0 "clojure.spec.alpha$spec_impl$reify__2910@1317a0"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1866f50 "clojure.spec.alpha$spec_impl$reify__2910@1866f50"]}}})
:clojure.spec.alpha/args  ({:objects {:dim_value {:fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :ref_period {:fields {:uri {:type :uri, :description "URI of the reference period"}, :label {:type String, :description "Label for the reference period"}, :start {:type :DateTime, :description "Start time for the period"}, :end {:type :DateTime, :description "End time for the period"}}}, :dim {:fields {:uri {:type :uri, :description "URI of the dimension"}, :values {:type (list :dim_value), :description "Code list of values for the dimension"}, :enum_name {:type String, :description "Name of the correspondign enum value"}}}, :dataset_vehicles_cube_observation_result_type {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations."}, :page {:type :dataset_vehicles_cube_observation_results_page_type, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.core$resolve_observations_page 0x13cbe6e "graphql_qb.core$resolve_observations_page@13cbe6e"]}, :aggregations {:type :dataset_vehicles_cube_aggregations_type}, :total_matches {:type Int}}}, :measure {:fields {:uri {:type :uri, :description "URI of the measure"}, :label {:type String, :description "Label for the measure"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :dataset_vehicles_cube {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :observations {:type :dataset_vehicles_cube_observation_result_type, :args {:dimensions {:type :dataset_vehicles_cube_observation_dimensions_type}, :order {:type (list :dataset_vehicles_cube_observation_ordering_type)}, :order_spec {:type :dataset_vehicles_cube_field_ordering_type}}, :resolve #object[graphql_qb.core$resolve_observations 0x1176b18 "graphql_qb.core$resolve_observations@1176b18"], :description "Observations matching the given criteria"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}, :description "Vehicles Cube"}, :dataset_vehicles_cube_observation_type {:fields {:uri {:type :uri, :description "URI of the observation"}, :vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}, :count_of_vehicles {:type String}}}, :dataset_vehicles_cube_aggregations_type {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x15ac347 "clojure.core$partial$fn__4759@15ac347"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x1b9389f "clojure.core$partial$fn__4759@1b9389f"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0xb2c5ed "clojure.core$partial$fn__4759@b2c5ed"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x1f785e3 "clojure.core$partial$fn__4759@1f785e3"]}}}, :dataset {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.core$resolve_dataset_dimensions 0x7986ad "graphql_qb.core$resolve_dataset_dimensions@7986ad"], :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :resolve #object[graphql_qb.core$resolve_dataset_measures 0x125ef1c "graphql_qb.core$resolve_dataset_measures@125ef1c"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}, :dataset_vehicles_cube_observation_results_page_type {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :result {:type (list :dataset_vehicles_cube_observation_type), :description "List of observations on this page"}}}}, :interfaces {:dataset_meta {:description "Fields common to generic and specific dataset schemas", :fields {:uri {:type :uri, :description "Dataset URI"}, :title {:type String, :description "Dataset title"}, :description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :measures {:type (list :measure), :description "Measure types within the dataset"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}, :dataset_vehicles_cube_vehicle_type_type {:values [:TRACTOR :LOADED_TUG :SEMI_TRAILOR_TRUCK :MOTORCYCLE :CAR :SEMI_TRAILER :THREE_WHEELER_GOODS_TRUCK :BUS :CAR_MIXED :TRACTOR_SEMI_TRAILOR_TRUCK :TRAILER :THREE_WHEELER_CAR :GOODS_VEHICLE_TRUCK :CARAVAN :PULL_VEHICLE_FOR_ROLLER_COASTER :TRAILER_FOR_ROLLER_COASTER]}, :dataset_vehicles_cube_fuel_type_type {:values [:HYBRID_ELECTRIC_DIESEL_CATALYTIC]}, :dataset_vehicles_cube_registration_date_type {:values []}, :dataset_vehicles_cube_vehicle_brand_type {:values [:A_P_HONDA :ABTOZABOO :ADAM_OPEL_AG :ADLER :AEC :AEON_MOTOR :ALFA_ROMEO :AMERICAN_MOTORS :AMSTRONG :ANADOLOU_ISUZU :APRILIA :APRILIA_SPA :ARO_S_A :ASIA_MOTOR :ASTRA :AUDI :AUSTIN :AUTO_UNION :AUTOBIANCHI :AUTOBUZUL :AUTOEXPORT :AUTOMECCANICA :AUTOMOBILES_PEU :B_M_W :BAIHAI_YINYIANG :BAJAJ :BEDFORD :BELGARDA_SPA :BERLIET :BMC :BMWI :BOVA :BREMACK :BUSSING_HELLAS :CAR_BUS :CHEVROLET :CHEVROLET_GMC_HOLDEN :CHEVROLET_BUICK_PONTI :CHEVROLE_GMC_BUICK_P :CHINA_JIALING :CHONGQING_LIFAN :CHRYSLER :CHRYSLER_DODGE :CHRYSLER_MITSUB :CHUNFENG :CITROEN :COMMER :CONTRUCK_MECHANICA :DAB_SILKEBORG :DACIA :DAELIM :DAEWOO :DAEWOO_GM_DAEWOO_CH :DAEWOO_FSO :DAF :DAIHATSU :DAIMLER :DAIMLER_BENZ :DAIMLER_CHRYSL :DALLARA_SRL :DATSUN_NISSAN_M :DENNIS_ENGL :DINLI_METAL :DODGE :DONGFENGMOTOR_RC :DOTTO_SRL :DUCATI :EBRO :EFFEDI :ENFIELD :EOS_COACH :EVOBUS :F_S_O :F12 :FAP :FIAT :FIAT_IVECO :FIAT_AUTO_SPA :FIAT_POLSKI :FISSORE_FIAT :FONTANA_ROMANA :FORD :FORD_MOTOR_CO_A :FORD_OTOMOTIV_S :FORD_OTOSAN_SANAYI :FORD_TRANSCONT :FORD_WERKE :FSC :FUJI_HEAVY :G_AUWARTER :G_M_C :G_M_HELLAS_ABEE :GAGIVA_MOTOR :GENERAL_MOTORS :GENERAL_TRAILERS :GM_DAEWOO_AUTO :GOLIATH :GORGOLIS_S_A :GRECAV_SPA :HANOMAG_AVRAS :HARLEY_DAVIDSON :HEPHAESTUS_STEFANOU_S :HERCHEE_INDUSTR :HEULIEZ_BUS :HINO :HM :HONDA :HONDA_ITALIA :HONDA_MOTOR :HOREX :HUSQVARNA :HYOSUNG_MOTORS :HYUNDAI :HYUNDAI_ASSAN :HYUNDAI_MOTOR_C :I_F_A :IBC_VEHICLES :IKARUS :INNOCENTI :INTERNATIONAL :INTREBRINDEAREA :IRISBUS_SPA :IRIZAR :ISUZU :ITALJET :IVECO :IVECO_MAGIRUS :IVECO_BUS :IVECO_SPA :IVECO_IRISBUS :IVECO_IVECO_FIAT :IZ :JACK_INTERNATIO :JAGUAR :JAWA :JEEP_CORPOR :JIANGMEN :JIANGSU_LINHAI :JIANSHE :JINCHENG :JONCKHEERE :JTD54V :K_L_S_R_L :K_T_M :KAISER_JEEP :KARRIER_MOTORS :KASSBOHRER :KAWASAKI :KIA :KIA_MOTORS_CORP :KOSKERIDIS :KUTSENITS_HORNSTEIN :KWANG_YANG :KYMCO :LADA :LAMBRETTA_S_A_L :LANCIA :LAND_ROVER :LEYLAND_MOTORS :LIAZ :LONCIN_GROUP :LUOYANG_NORTHER :M_C_C_AG :MADARA :MAGIRUS :MAGYAR_SUZUKI_C :MAHINDRA :MALAGUTI_SPA :MAN :MAN_VOLKS_WAGEN :MARUTI_UDYOG :MATRA_AUTOMOBIL :MAVA :MAZ :MAZDA :MBK_INDUSTRIE :MEBEA :MERCEDES_BENZ :MERCEDES :MERCEDES_B_TURK :MERCEDES_ESPANA :MERCEDES_TURK :MERCURY :MEGKO :MITSUBISHI :MITSUBISHI_PORT :MITSUBISHI_THAI :MITSUBISHI_MITSUBIS :MMC_SITTIPOL :MOBITECNO :MONTESA_HONDA :MORRIS :MOSKVITCH :MOT_IBERICA_SA :MOTO_GUZZI :MOTO_HONDA :MOTOR_STAR :MV_AGUSTA :MZ :NAMKO :NANJING_JINCHEN :NEOPLAN :NETHERLANDS_CAR :NIKAS :NISSAN :NISSAN_EUROPE :NISSAN_MOTOR :NISSAN_MOTOR_IB :NISSAN_MOTOR_UK :NISSAN_VEHICULO :NOBRAND :NORTON :OAO_AVTOVAZ :OM :OPEL :OPEL_B :OPEL_PORTUGAL :OPEL_UK :OPEL_VAUXHALL :OTOKAR :OTOKAR_OTOBUS_K :OTOKAR_SANAYI :P_KOSKERIDIS_CO :P_T_FEDERAL :P_T_KAWASAKI :P_T_FEDER_HONDA :PANTHER :PEGASO :PETERSON_MOTOR :PEUGEOT :PIAGGIO :PIL_AKVAL :PONTIAC :PT_YAMAHA_MANUF :RANGER :RELIANT :RENAULT :ROSENBAUER :ROVER :ROYAL :S_O_V_A_B :SAAB :SAAB_AUTOMOBILE :SAAB_SCANIA :SAEHAN_MOTOR :SANTANA_MOTOR :SANYANG :SAVDAR :SAVIEM :SCAM_SRL :SCANIA :SCANIA_HOLLAND :SCANIA_SWEDEN :SCANIA_VABIS :SEAT :SEDDON :SETRA :SIAM_YAMAHA :SICAS :SICAS_SPA :SIMCA :SKODA :SKODA_AUTO_A_S :SMART :SMYRLIADIS :SOLARIS :SSANGYONG :SSANGYONG_MOTOR :STEYER_BUS :STEYR :SUBARU :SUZUKI :SUZUKI_MAGYAR :SUZUKI_MALAYSIA :SUZUKI_MOTOR_CO :TAIWAN_GOLDEN_B :TALBOT :TAM :TATA :TATRA :TEMSA :TEMSA_SANAYI :TEMSA_SANAYI_VE :TERBERG :THAI_HONDA :THAI_YAMAHA :THOMAS :TITAN :TOUMBASD_COL_P :TOYOTA :TOYOTA_MOTOR_TH :TOYOTA_SOUTH_AF :TOYOTA_UK :TRIUMPH :TRIUMPH_MOTOR :TROEGMOELLER :TSCHU_TSCHU_BAH :T :UNIC :UZINA :VANCLEE_BUGGY :VAN_HOOL :VAUXHALL :VEB_ROBUR :VEB_MZ :VOLGA :VOLKSWAGEN :VOLVO :VOLVO_CAR_CORPO :YAK_VEHICLES :YAMAHA :YAMAHA_ESPANA :YIWU_MOTORCYCLE :Z_MANTOS :ZASTAVA :ZASTAVA_KAMIONI :ZAZ :ZHONGSHAN_GUOCH :ZONGSHEN_INDUST :A_KAOUSIS_AE :AYTOKINHTOBIOM :AFOI_SARAKAKI :BIAMAX :ELBO :EMPOR_AYT :HFAISTOS_STEFANOY_ABE :KAXEKO_O_E :STAGIER_HELLAS :SFAKIANAKIS :TAXIARXOY_A_E_B_E :TEOKAR]}, :dataset_vehicles_cube_area_type {:values []}, :dataset_vehicles_cube_aggregation_measure_types_type {:values []}, :dataset_vehicles_cube_observation_ordering_type {:values [:VEHICLE_TYPE :FUEL_TYPE :REGISTRATION_DATE :VEHICLE_BRAND :AREA :COUNT_OF_VEHICLES]}}, :input-objects {:filter {:fields {:or {:type (list :uri), :description "List of URIs for which at least one must be contained within matching datasets."}, :and {:type (list :uri), :description "List of URIs which must all be contained within matching datasets."}}}, :ref_period_filter {:fields {:uri {:type :uri, :description "URI of the reference period"}, :starts_before {:type :DateTime, :description "Latest start time for the reference period"}, :starts_after {:type :DateTime, :description "Earliest start time for the reference period"}, :ends_before {:type :DateTime, :description "Latest end time for the reference period"}, :ends_after {:type :DateTime, :description "Earliest end time for the reference period"}}}, :page_selector {:fields {:first {:type Int, :description "Number of results to retrive."}, :after {:type :SparqlCursor, :description "Cursor to the start of the results page"}}}, :dataset_vehicles_cube_observation_dimensions_type {:fields {:vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}}}, :dataset_vehicles_cube_field_ordering_type {:fields {:vehicle_type {:type :sort_direction}, :fuel_type {:type :sort_direction}, :registration_date {:type :sort_direction}, :vehicle_brand {:type :sort_direction}, :area {:type :sort_direction}, :count_of_vehicles {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.core$resolve_datasets 0xc34db2 "graphql_qb.core$resolve_datasets@c34db2"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_vehicles_cube {:type :dataset_vehicles_cube, :resolve #object[graphql_qb.core$get_schema$fn__5993$fn__5994 0x10ce0d1 "graphql_qb.core$get_schema$fn__5993$fn__5994@10ce0d1"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x91cd6c "clojure.spec.alpha$spec_impl$reify__2910@91cd6c"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x3f8a73 "clojure.spec.alpha$spec_impl$reify__2910@3f8a73"]}, :ref_area {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0xedf08d "clojure.spec.alpha$spec_impl$reify__2910@edf08d"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x13dcaf8 "clojure.spec.alpha$spec_impl$reify__2910@13dcaf8"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x15d9f1e "clojure.spec.alpha$spec_impl$reify__2910@15d9f1e"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x10ff014 "clojure.spec.alpha$spec_impl$reify__2910@10ff014"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1317a0 "clojure.spec.alpha$spec_impl$reify__2910@1317a0"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1866f50 "clojure.spec.alpha$spec_impl$reify__2910@1866f50"]}}})
:clojure.spec.alpha/failure  :instrument
:clojure.spec.test.alpha/caller  {:file "core.clj", :line 348, :var-scope graphql-qb.core/build-schema-context}
 {:clojure.spec.alpha/problems ({:path [:args :schema :enums 1 :values], :pred clojure.core/seq, :val [], :via [:com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/enums :com.walmartlabs.lacinia.schema/enum :com.walmartlabs.lacinia.schema/values], :in [0 :enums :dataset_vehicles_cube_registration_date_type 1 :values]} {:path [:args :schema :enums 1 :values], :pred clojure.core/seq, :val [], :via [:com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/enums :com.walmartlabs.lacinia.schema/enum :com.walmartlabs.lacinia.schema/values], :in [0 :enums :dataset_vehicles_cube_area_type 1 :values]} {:path [:args :schema :enums 1 :values], :pred clojure.core/seq, :val [], :via [:com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/schema-object :com.walmartlabs.lacinia.schema/enums :com.walmartlabs.lacinia.schema/enum :com.walmartlabs.lacinia.schema/values], :in [0 :enums :dataset_vehicles_cube_aggregation_measure_types_type 1 :values]}), :clojure.spec.alpha/spec #object[clojure.spec.alpha$regex_spec_impl$reify__3261 0xa04257 "clojure.spec.alpha$regex_spec_impl$reify__3261@a04257"], :clojure.spec.alpha/value ({:objects {:dim_value {:fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :ref_period {:fields {:uri {:type :uri, :description "URI of the reference period"}, :label {:type String, :description "Label for the reference period"}, :start {:type :DateTime, :description "Start time for the period"}, :end {:type :DateTime, :description "End time for the period"}}}, :dim {:fields {:uri {:type :uri, :description "URI of the dimension"}, :values {:type (list :dim_value), :description "Code list of values for the dimension"}, :enum_name {:type String, :description "Name of the correspondign enum value"}}}, :dataset_vehicles_cube_observation_result_type {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations."}, :page {:type :dataset_vehicles_cube_observation_results_page_type, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.core$resolve_observations_page 0x13cbe6e "graphql_qb.core$resolve_observations_page@13cbe6e"]}, :aggregations {:type :dataset_vehicles_cube_aggregations_type}, :total_matches {:type Int}}}, :measure {:fields {:uri {:type :uri, :description "URI of the measure"}, :label {:type String, :description "Label for the measure"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :dataset_vehicles_cube {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :observations {:type :dataset_vehicles_cube_observation_result_type, :args {:dimensions {:type :dataset_vehicles_cube_observation_dimensions_type}, :order {:type (list :dataset_vehicles_cube_observation_ordering_type)}, :order_spec {:type :dataset_vehicles_cube_field_ordering_type}}, :resolve #object[graphql_qb.core$resolve_observations 0x1176b18 "graphql_qb.core$resolve_observations@1176b18"], :description "Observations matching the given criteria"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}, :description "Vehicles Cube"}, :dataset_vehicles_cube_observation_type {:fields {:uri {:type :uri, :description "URI of the observation"}, :vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}, :count_of_vehicles {:type String}}}, :dataset_vehicles_cube_aggregations_type {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x15ac347 "clojure.core$partial$fn__4759@15ac347"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x1b9389f "clojure.core$partial$fn__4759@1b9389f"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0xb2c5ed "clojure.core$partial$fn__4759@b2c5ed"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x1f785e3 "clojure.core$partial$fn__4759@1f785e3"]}}}, :dataset {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.core$resolve_dataset_dimensions 0x7986ad "graphql_qb.core$resolve_dataset_dimensions@7986ad"], :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :resolve #object[graphql_qb.core$resolve_dataset_measures 0x125ef1c "graphql_qb.core$resolve_dataset_measures@125ef1c"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}, :dataset_vehicles_cube_observation_results_page_type {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :result {:type (list :dataset_vehicles_cube_observation_type), :description "List of observations on this page"}}}}, :interfaces {:dataset_meta {:description "Fields common to generic and specific dataset schemas", :fields {:uri {:type :uri, :description "Dataset URI"}, :title {:type String, :description "Dataset title"}, :description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :measures {:type (list :measure), :description "Measure types within the dataset"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}, :dataset_vehicles_cube_vehicle_type_type {:values [:TRACTOR :LOADED_TUG :SEMI_TRAILOR_TRUCK :MOTORCYCLE :CAR :SEMI_TRAILER :THREE_WHEELER_GOODS_TRUCK :BUS :CAR_MIXED :TRACTOR_SEMI_TRAILOR_TRUCK :TRAILER :THREE_WHEELER_CAR :GOODS_VEHICLE_TRUCK :CARAVAN :PULL_VEHICLE_FOR_ROLLER_COASTER :TRAILER_FOR_ROLLER_COASTER]}, :dataset_vehicles_cube_fuel_type_type {:values [:HYBRID_ELECTRIC_DIESEL_CATALYTIC]}, :dataset_vehicles_cube_registration_date_type {:values []}, :dataset_vehicles_cube_vehicle_brand_type {:values [:A_P_HONDA :ABTOZABOO :ADAM_OPEL_AG :ADLER :AEC :AEON_MOTOR :ALFA_ROMEO :AMERICAN_MOTORS :AMSTRONG :ANADOLOU_ISUZU :APRILIA :APRILIA_SPA :ARO_S_A :ASIA_MOTOR :ASTRA :AUDI :AUSTIN :AUTO_UNION :AUTOBIANCHI :AUTOBUZUL :AUTOEXPORT :AUTOMECCANICA :AUTOMOBILES_PEU :B_M_W :BAIHAI_YINYIANG :BAJAJ :BEDFORD :BELGARDA_SPA :BERLIET :BMC :BMWI :BOVA :BREMACK :BUSSING_HELLAS :CAR_BUS :CHEVROLET :CHEVROLET_GMC_HOLDEN :CHEVROLET_BUICK_PONTI :CHEVROLE_GMC_BUICK_P :CHINA_JIALING :CHONGQING_LIFAN :CHRYSLER :CHRYSLER_DODGE :CHRYSLER_MITSUB :CHUNFENG :CITROEN :COMMER :CONTRUCK_MECHANICA :DAB_SILKEBORG :DACIA :DAELIM :DAEWOO :DAEWOO_GM_DAEWOO_CH :DAEWOO_FSO :DAF :DAIHATSU :DAIMLER :DAIMLER_BENZ :DAIMLER_CHRYSL :DALLARA_SRL :DATSUN_NISSAN_M :DENNIS_ENGL :DINLI_METAL :DODGE :DONGFENGMOTOR_RC :DOTTO_SRL :DUCATI :EBRO :EFFEDI :ENFIELD :EOS_COACH :EVOBUS :F_S_O :F12 :FAP :FIAT :FIAT_IVECO :FIAT_AUTO_SPA :FIAT_POLSKI :FISSORE_FIAT :FONTANA_ROMANA :FORD :FORD_MOTOR_CO_A :FORD_OTOMOTIV_S :FORD_OTOSAN_SANAYI :FORD_TRANSCONT :FORD_WERKE :FSC :FUJI_HEAVY :G_AUWARTER :G_M_C :G_M_HELLAS_ABEE :GAGIVA_MOTOR :GENERAL_MOTORS :GENERAL_TRAILERS :GM_DAEWOO_AUTO :GOLIATH :GORGOLIS_S_A :GRECAV_SPA :HANOMAG_AVRAS :HARLEY_DAVIDSON :HEPHAESTUS_STEFANOU_S :HERCHEE_INDUSTR :HEULIEZ_BUS :HINO :HM :HONDA :HONDA_ITALIA :HONDA_MOTOR :HOREX :HUSQVARNA :HYOSUNG_MOTORS :HYUNDAI :HYUNDAI_ASSAN :HYUNDAI_MOTOR_C :I_F_A :IBC_VEHICLES :IKARUS :INNOCENTI :INTERNATIONAL :INTREBRINDEAREA :IRISBUS_SPA :IRIZAR :ISUZU :ITALJET :IVECO :IVECO_MAGIRUS :IVECO_BUS :IVECO_SPA :IVECO_IRISBUS :IVECO_IVECO_FIAT :IZ :JACK_INTERNATIO :JAGUAR :JAWA :JEEP_CORPOR :JIANGMEN :JIANGSU_LINHAI :JIANSHE :JINCHENG :JONCKHEERE :JTD54V :K_L_S_R_L :K_T_M :KAISER_JEEP :KARRIER_MOTORS :KASSBOHRER :KAWASAKI :KIA :KIA_MOTORS_CORP :KOSKERIDIS :KUTSENITS_HORNSTEIN :KWANG_YANG :KYMCO :LADA :LAMBRETTA_S_A_L :LANCIA :LAND_ROVER :LEYLAND_MOTORS :LIAZ :LONCIN_GROUP :LUOYANG_NORTHER :M_C_C_AG :MADARA :MAGIRUS :MAGYAR_SUZUKI_C :MAHINDRA :MALAGUTI_SPA :MAN :MAN_VOLKS_WAGEN :MARUTI_UDYOG :MATRA_AUTOMOBIL :MAVA :MAZ :MAZDA :MBK_INDUSTRIE :MEBEA :MERCEDES_BENZ :MERCEDES :MERCEDES_B_TURK :MERCEDES_ESPANA :MERCEDES_TURK :MERCURY :MEGKO :MITSUBISHI :MITSUBISHI_PORT :MITSUBISHI_THAI :MITSUBISHI_MITSUBIS :MMC_SITTIPOL :MOBITECNO :MONTESA_HONDA :MORRIS :MOSKVITCH :MOT_IBERICA_SA :MOTO_GUZZI :MOTO_HONDA :MOTOR_STAR :MV_AGUSTA :MZ :NAMKO :NANJING_JINCHEN :NEOPLAN :NETHERLANDS_CAR :NIKAS :NISSAN :NISSAN_EUROPE :NISSAN_MOTOR :NISSAN_MOTOR_IB :NISSAN_MOTOR_UK :NISSAN_VEHICULO :NOBRAND :NORTON :OAO_AVTOVAZ :OM :OPEL :OPEL_B :OPEL_PORTUGAL :OPEL_UK :OPEL_VAUXHALL :OTOKAR :OTOKAR_OTOBUS_K :OTOKAR_SANAYI :P_KOSKERIDIS_CO :P_T_FEDERAL :P_T_KAWASAKI :P_T_FEDER_HONDA :PANTHER :PEGASO :PETERSON_MOTOR :PEUGEOT :PIAGGIO :PIL_AKVAL :PONTIAC :PT_YAMAHA_MANUF :RANGER :RELIANT :RENAULT :ROSENBAUER :ROVER :ROYAL :S_O_V_A_B :SAAB :SAAB_AUTOMOBILE :SAAB_SCANIA :SAEHAN_MOTOR :SANTANA_MOTOR :SANYANG :SAVDAR :SAVIEM :SCAM_SRL :SCANIA :SCANIA_HOLLAND :SCANIA_SWEDEN :SCANIA_VABIS :SEAT :SEDDON :SETRA :SIAM_YAMAHA :SICAS :SICAS_SPA :SIMCA :SKODA :SKODA_AUTO_A_S :SMART :SMYRLIADIS :SOLARIS :SSANGYONG :SSANGYONG_MOTOR :STEYER_BUS :STEYR :SUBARU :SUZUKI :SUZUKI_MAGYAR :SUZUKI_MALAYSIA :SUZUKI_MOTOR_CO :TAIWAN_GOLDEN_B :TALBOT :TAM :TATA :TATRA :TEMSA :TEMSA_SANAYI :TEMSA_SANAYI_VE :TERBERG :THAI_HONDA :THAI_YAMAHA :THOMAS :TITAN :TOUMBASD_COL_P :TOYOTA :TOYOTA_MOTOR_TH :TOYOTA_SOUTH_AF :TOYOTA_UK :TRIUMPH :TRIUMPH_MOTOR :TROEGMOELLER :TSCHU_TSCHU_BAH :T :UNIC :UZINA :VANCLEE_BUGGY :VAN_HOOL :VAUXHALL :VEB_ROBUR :VEB_MZ :VOLGA :VOLKSWAGEN :VOLVO :VOLVO_CAR_CORPO :YAK_VEHICLES :YAMAHA :YAMAHA_ESPANA :YIWU_MOTORCYCLE :Z_MANTOS :ZASTAVA :ZASTAVA_KAMIONI :ZAZ :ZHONGSHAN_GUOCH :ZONGSHEN_INDUST :A_KAOUSIS_AE :AYTOKINHTOBIOM :AFOI_SARAKAKI :BIAMAX :ELBO :EMPOR_AYT :HFAISTOS_STEFANOY_ABE :KAXEKO_O_E :STAGIER_HELLAS :SFAKIANAKIS :TAXIARXOY_A_E_B_E :TEOKAR]}, :dataset_vehicles_cube_area_type {:values []}, :dataset_vehicles_cube_aggregation_measure_types_type {:values []}, :dataset_vehicles_cube_observation_ordering_type {:values [:VEHICLE_TYPE :FUEL_TYPE :REGISTRATION_DATE :VEHICLE_BRAND :AREA :COUNT_OF_VEHICLES]}}, :input-objects {:filter {:fields {:or {:type (list :uri), :description "List of URIs for which at least one must be contained within matching datasets."}, :and {:type (list :uri), :description "List of URIs which must all be contained within matching datasets."}}}, :ref_period_filter {:fields {:uri {:type :uri, :description "URI of the reference period"}, :starts_before {:type :DateTime, :description "Latest start time for the reference period"}, :starts_after {:type :DateTime, :description "Earliest start time for the reference period"}, :ends_before {:type :DateTime, :description "Latest end time for the reference period"}, :ends_after {:type :DateTime, :description "Earliest end time for the reference period"}}}, :page_selector {:fields {:first {:type Int, :description "Number of results to retrive."}, :after {:type :SparqlCursor, :description "Cursor to the start of the results page"}}}, :dataset_vehicles_cube_observation_dimensions_type {:fields {:vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}}}, :dataset_vehicles_cube_field_ordering_type {:fields {:vehicle_type {:type :sort_direction}, :fuel_type {:type :sort_direction}, :registration_date {:type :sort_direction}, :vehicle_brand {:type :sort_direction}, :area {:type :sort_direction}, :count_of_vehicles {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.core$resolve_datasets 0xc34db2 "graphql_qb.core$resolve_datasets@c34db2"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_vehicles_cube {:type :dataset_vehicles_cube, :resolve #object[graphql_qb.core$get_schema$fn__5993$fn__5994 0x10ce0d1 "graphql_qb.core$get_schema$fn__5993$fn__5994@10ce0d1"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x91cd6c "clojure.spec.alpha$spec_impl$reify__2910@91cd6c"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x3f8a73 "clojure.spec.alpha$spec_impl$reify__2910@3f8a73"]}, :ref_area {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0xedf08d "clojure.spec.alpha$spec_impl$reify__2910@edf08d"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x13dcaf8 "clojure.spec.alpha$spec_impl$reify__2910@13dcaf8"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x15d9f1e "clojure.spec.alpha$spec_impl$reify__2910@15d9f1e"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x10ff014 "clojure.spec.alpha$spec_impl$reify__2910@10ff014"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1317a0 "clojure.spec.alpha$spec_impl$reify__2910@1317a0"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1866f50 "clojure.spec.alpha$spec_impl$reify__2910@1866f50"]}}}), :clojure.spec.alpha/args ({:objects {:dim_value {:fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :ref_period {:fields {:uri {:type :uri, :description "URI of the reference period"}, :label {:type String, :description "Label for the reference period"}, :start {:type :DateTime, :description "Start time for the period"}, :end {:type :DateTime, :description "End time for the period"}}}, :dim {:fields {:uri {:type :uri, :description "URI of the dimension"}, :values {:type (list :dim_value), :description "Code list of values for the dimension"}, :enum_name {:type String, :description "Name of the correspondign enum value"}}}, :dataset_vehicles_cube_observation_result_type {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations."}, :page {:type :dataset_vehicles_cube_observation_results_page_type, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.core$resolve_observations_page 0x13cbe6e "graphql_qb.core$resolve_observations_page@13cbe6e"]}, :aggregations {:type :dataset_vehicles_cube_aggregations_type}, :total_matches {:type Int}}}, :measure {:fields {:uri {:type :uri, :description "URI of the measure"}, :label {:type String, :description "Label for the measure"}, :enum_name {:type String, :description "Name of the corresponding enum value"}}}, :dataset_vehicles_cube {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :observations {:type :dataset_vehicles_cube_observation_result_type, :args {:dimensions {:type :dataset_vehicles_cube_observation_dimensions_type}, :order {:type (list :dataset_vehicles_cube_observation_ordering_type)}, :order_spec {:type :dataset_vehicles_cube_field_ordering_type}}, :resolve #object[graphql_qb.core$resolve_observations 0x1176b18 "graphql_qb.core$resolve_observations@1176b18"], :description "Observations matching the given criteria"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}, :description "Vehicles Cube"}, :dataset_vehicles_cube_observation_type {:fields {:uri {:type :uri, :description "URI of the observation"}, :vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}, :count_of_vehicles {:type String}}}, :dataset_vehicles_cube_aggregations_type {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x15ac347 "clojure.core$partial$fn__4759@15ac347"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x1b9389f "clojure.core$partial$fn__4759@1b9389f"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0xb2c5ed "clojure.core$partial$fn__4759@b2c5ed"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_vehicles_cube_aggregation_measure_types_type), :description "The measure to aggregate"}}, :resolve #object[clojure.core$partial$fn__4759 0x1f785e3 "clojure.core$partial$fn__4759@1f785e3"]}}}, :dataset {:implements [:dataset_meta], :fields {:description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :publisher {:type :uri, :description "URI of the publisher of the dataset"}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.core$resolve_dataset_dimensions 0x7986ad "graphql_qb.core$resolve_dataset_dimensions@7986ad"], :description "Dimensions within the dataset"}, :title {:type String, :description "Dataset title"}, :licence {:type :uri, :description "URI of the licence the dataset is published under"}, :measures {:type (list :measure), :resolve #object[graphql_qb.core$resolve_dataset_measures 0x125ef1c "graphql_qb.core$resolve_dataset_measures@125ef1c"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}, :dataset_vehicles_cube_observation_results_page_type {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :result {:type (list :dataset_vehicles_cube_observation_type), :description "List of observations on this page"}}}}, :interfaces {:dataset_meta {:description "Fields common to generic and specific dataset schemas", :fields {:uri {:type :uri, :description "Dataset URI"}, :title {:type String, :description "Dataset title"}, :description {:type String, :description "Dataset description"}, :schema {:type String, :description "Name of the GraphQL query root field corresponding to this dataset"}, :dimensions {:type (list :dim), :description "Dimensions within the dataset"}, :measures {:type (list :measure), :description "Measure types within the dataset"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}, :dataset_vehicles_cube_vehicle_type_type {:values [:TRACTOR :LOADED_TUG :SEMI_TRAILOR_TRUCK :MOTORCYCLE :CAR :SEMI_TRAILER :THREE_WHEELER_GOODS_TRUCK :BUS :CAR_MIXED :TRACTOR_SEMI_TRAILOR_TRUCK :TRAILER :THREE_WHEELER_CAR :GOODS_VEHICLE_TRUCK :CARAVAN :PULL_VEHICLE_FOR_ROLLER_COASTER :TRAILER_FOR_ROLLER_COASTER]}, :dataset_vehicles_cube_fuel_type_type {:values [:HYBRID_ELECTRIC_DIESEL_CATALYTIC]}, :dataset_vehicles_cube_registration_date_type {:values []}, :dataset_vehicles_cube_vehicle_brand_type {:values [:A_P_HONDA :ABTOZABOO :ADAM_OPEL_AG :ADLER :AEC :AEON_MOTOR :ALFA_ROMEO :AMERICAN_MOTORS :AMSTRONG :ANADOLOU_ISUZU :APRILIA :APRILIA_SPA :ARO_S_A :ASIA_MOTOR :ASTRA :AUDI :AUSTIN :AUTO_UNION :AUTOBIANCHI :AUTOBUZUL :AUTOEXPORT :AUTOMECCANICA :AUTOMOBILES_PEU :B_M_W :BAIHAI_YINYIANG :BAJAJ :BEDFORD :BELGARDA_SPA :BERLIET :BMC :BMWI :BOVA :BREMACK :BUSSING_HELLAS :CAR_BUS :CHEVROLET :CHEVROLET_GMC_HOLDEN :CHEVROLET_BUICK_PONTI :CHEVROLE_GMC_BUICK_P :CHINA_JIALING :CHONGQING_LIFAN :CHRYSLER :CHRYSLER_DODGE :CHRYSLER_MITSUB :CHUNFENG :CITROEN :COMMER :CONTRUCK_MECHANICA :DAB_SILKEBORG :DACIA :DAELIM :DAEWOO :DAEWOO_GM_DAEWOO_CH :DAEWOO_FSO :DAF :DAIHATSU :DAIMLER :DAIMLER_BENZ :DAIMLER_CHRYSL :DALLARA_SRL :DATSUN_NISSAN_M :DENNIS_ENGL :DINLI_METAL :DODGE :DONGFENGMOTOR_RC :DOTTO_SRL :DUCATI :EBRO :EFFEDI :ENFIELD :EOS_COACH :EVOBUS :F_S_O :F12 :FAP :FIAT :FIAT_IVECO :FIAT_AUTO_SPA :FIAT_POLSKI :FISSORE_FIAT :FONTANA_ROMANA :FORD :FORD_MOTOR_CO_A :FORD_OTOMOTIV_S :FORD_OTOSAN_SANAYI :FORD_TRANSCONT :FORD_WERKE :FSC :FUJI_HEAVY :G_AUWARTER :G_M_C :G_M_HELLAS_ABEE :GAGIVA_MOTOR :GENERAL_MOTORS :GENERAL_TRAILERS :GM_DAEWOO_AUTO :GOLIATH :GORGOLIS_S_A :GRECAV_SPA :HANOMAG_AVRAS :HARLEY_DAVIDSON :HEPHAESTUS_STEFANOU_S :HERCHEE_INDUSTR :HEULIEZ_BUS :HINO :HM :HONDA :HONDA_ITALIA :HONDA_MOTOR :HOREX :HUSQVARNA :HYOSUNG_MOTORS :HYUNDAI :HYUNDAI_ASSAN :HYUNDAI_MOTOR_C :I_F_A :IBC_VEHICLES :IKARUS :INNOCENTI :INTERNATIONAL :INTREBRINDEAREA :IRISBUS_SPA :IRIZAR :ISUZU :ITALJET :IVECO :IVECO_MAGIRUS :IVECO_BUS :IVECO_SPA :IVECO_IRISBUS :IVECO_IVECO_FIAT :IZ :JACK_INTERNATIO :JAGUAR :JAWA :JEEP_CORPOR :JIANGMEN :JIANGSU_LINHAI :JIANSHE :JINCHENG :JONCKHEERE :JTD54V :K_L_S_R_L :K_T_M :KAISER_JEEP :KARRIER_MOTORS :KASSBOHRER :KAWASAKI :KIA :KIA_MOTORS_CORP :KOSKERIDIS :KUTSENITS_HORNSTEIN :KWANG_YANG :KYMCO :LADA :LAMBRETTA_S_A_L :LANCIA :LAND_ROVER :LEYLAND_MOTORS :LIAZ :LONCIN_GROUP :LUOYANG_NORTHER :M_C_C_AG :MADARA :MAGIRUS :MAGYAR_SUZUKI_C :MAHINDRA :MALAGUTI_SPA :MAN :MAN_VOLKS_WAGEN :MARUTI_UDYOG :MATRA_AUTOMOBIL :MAVA :MAZ :MAZDA :MBK_INDUSTRIE :MEBEA :MERCEDES_BENZ :MERCEDES :MERCEDES_B_TURK :MERCEDES_ESPANA :MERCEDES_TURK :MERCURY :MEGKO :MITSUBISHI :MITSUBISHI_PORT :MITSUBISHI_THAI :MITSUBISHI_MITSUBIS :MMC_SITTIPOL :MOBITECNO :MONTESA_HONDA :MORRIS :MOSKVITCH :MOT_IBERICA_SA :MOTO_GUZZI :MOTO_HONDA :MOTOR_STAR :MV_AGUSTA :MZ :NAMKO :NANJING_JINCHEN :NEOPLAN :NETHERLANDS_CAR :NIKAS :NISSAN :NISSAN_EUROPE :NISSAN_MOTOR :NISSAN_MOTOR_IB :NISSAN_MOTOR_UK :NISSAN_VEHICULO :NOBRAND :NORTON :OAO_AVTOVAZ :OM :OPEL :OPEL_B :OPEL_PORTUGAL :OPEL_UK :OPEL_VAUXHALL :OTOKAR :OTOKAR_OTOBUS_K :OTOKAR_SANAYI :P_KOSKERIDIS_CO :P_T_FEDERAL :P_T_KAWASAKI :P_T_FEDER_HONDA :PANTHER :PEGASO :PETERSON_MOTOR :PEUGEOT :PIAGGIO :PIL_AKVAL :PONTIAC :PT_YAMAHA_MANUF :RANGER :RELIANT :RENAULT :ROSENBAUER :ROVER :ROYAL :S_O_V_A_B :SAAB :SAAB_AUTOMOBILE :SAAB_SCANIA :SAEHAN_MOTOR :SANTANA_MOTOR :SANYANG :SAVDAR :SAVIEM :SCAM_SRL :SCANIA :SCANIA_HOLLAND :SCANIA_SWEDEN :SCANIA_VABIS :SEAT :SEDDON :SETRA :SIAM_YAMAHA :SICAS :SICAS_SPA :SIMCA :SKODA :SKODA_AUTO_A_S :SMART :SMYRLIADIS :SOLARIS :SSANGYONG :SSANGYONG_MOTOR :STEYER_BUS :STEYR :SUBARU :SUZUKI :SUZUKI_MAGYAR :SUZUKI_MALAYSIA :SUZUKI_MOTOR_CO :TAIWAN_GOLDEN_B :TALBOT :TAM :TATA :TATRA :TEMSA :TEMSA_SANAYI :TEMSA_SANAYI_VE :TERBERG :THAI_HONDA :THAI_YAMAHA :THOMAS :TITAN :TOUMBASD_COL_P :TOYOTA :TOYOTA_MOTOR_TH :TOYOTA_SOUTH_AF :TOYOTA_UK :TRIUMPH :TRIUMPH_MOTOR :TROEGMOELLER :TSCHU_TSCHU_BAH :T :UNIC :UZINA :VANCLEE_BUGGY :VAN_HOOL :VAUXHALL :VEB_ROBUR :VEB_MZ :VOLGA :VOLKSWAGEN :VOLVO :VOLVO_CAR_CORPO :YAK_VEHICLES :YAMAHA :YAMAHA_ESPANA :YIWU_MOTORCYCLE :Z_MANTOS :ZASTAVA :ZASTAVA_KAMIONI :ZAZ :ZHONGSHAN_GUOCH :ZONGSHEN_INDUST :A_KAOUSIS_AE :AYTOKINHTOBIOM :AFOI_SARAKAKI :BIAMAX :ELBO :EMPOR_AYT :HFAISTOS_STEFANOY_ABE :KAXEKO_O_E :STAGIER_HELLAS :SFAKIANAKIS :TAXIARXOY_A_E_B_E :TEOKAR]}, :dataset_vehicles_cube_area_type {:values []}, :dataset_vehicles_cube_aggregation_measure_types_type {:values []}, :dataset_vehicles_cube_observation_ordering_type {:values [:VEHICLE_TYPE :FUEL_TYPE :REGISTRATION_DATE :VEHICLE_BRAND :AREA :COUNT_OF_VEHICLES]}}, :input-objects {:filter {:fields {:or {:type (list :uri), :description "List of URIs for which at least one must be contained within matching datasets."}, :and {:type (list :uri), :description "List of URIs which must all be contained within matching datasets."}}}, :ref_period_filter {:fields {:uri {:type :uri, :description "URI of the reference period"}, :starts_before {:type :DateTime, :description "Latest start time for the reference period"}, :starts_after {:type :DateTime, :description "Earliest start time for the reference period"}, :ends_before {:type :DateTime, :description "Latest end time for the reference period"}, :ends_after {:type :DateTime, :description "Earliest end time for the reference period"}}}, :page_selector {:fields {:first {:type Int, :description "Number of results to retrive."}, :after {:type :SparqlCursor, :description "Cursor to the start of the results page"}}}, :dataset_vehicles_cube_observation_dimensions_type {:fields {:vehicle_type {:type :dataset_vehicles_cube_vehicle_type_type, :description "Vehicle Type"}, :fuel_type {:type :dataset_vehicles_cube_fuel_type_type, :description "Fuel Type"}, :registration_date {:type :dataset_vehicles_cube_registration_date_type, :description "Registration Date"}, :vehicle_brand {:type :dataset_vehicles_cube_vehicle_brand_type, :description "Vehicle Brand"}, :area {:type :dataset_vehicles_cube_area_type, :description "Area"}}}, :dataset_vehicles_cube_field_ordering_type {:fields {:vehicle_type {:type :sort_direction}, :fuel_type {:type :sort_direction}, :registration_date {:type :sort_direction}, :vehicle_brand {:type :sort_direction}, :area {:type :sort_direction}, :count_of_vehicles {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.core$resolve_datasets 0xc34db2 "graphql_qb.core$resolve_datasets@c34db2"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_vehicles_cube {:type :dataset_vehicles_cube, :resolve #object[graphql_qb.core$get_schema$fn__5993$fn__5994 0x10ce0d1 "graphql_qb.core$get_schema$fn__5993$fn__5994@10ce0d1"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x91cd6c "clojure.spec.alpha$spec_impl$reify__2910@91cd6c"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x3f8a73 "clojure.spec.alpha$spec_impl$reify__2910@3f8a73"]}, :ref_area {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0xedf08d "clojure.spec.alpha$spec_impl$reify__2910@edf08d"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x13dcaf8 "clojure.spec.alpha$spec_impl$reify__2910@13dcaf8"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x15d9f1e "clojure.spec.alpha$spec_impl$reify__2910@15d9f1e"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x10ff014 "clojure.spec.alpha$spec_impl$reify__2910@10ff014"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__2910 0x1317a0 "clojure.spec.alpha$spec_impl$reify__2910@1317a0"], :serialize #object[clojure.spec.alpha$spec_impl$reify__2910 0x1866f50 "clojure.spec.alpha$spec_impl$reify__2910@1866f50"]}}}), :clojure.spec.alpha/failure :instrument, :clojure.spec.test.alpha/caller {:file "core.clj", :line 348, :var-scope graphql-qb.core/build-schema-context}}
    at clojure.core$ex_info.invokeStatic(core.clj:4617)
    at clojure.core$ex_info.invoke(core.clj:4617)
    at clojure.spec.test.alpha$spec_checking_fn$conform_BANG___3707.invoke(alpha.clj:132)
    at clojure.spec.test.alpha$spec_checking_fn$fn__3712.doInvoke(alpha.clj:140)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at graphql_qb.core$build_schema_context.invokeStatic(core.clj:348)
    at graphql_qb.core$build_schema_context.invoke(core.clj:345)
    at graphql_qb.server$create_server.invokeStatic(server.clj:16)
    at graphql_qb.server$create_server.invoke(server.clj:13)
    at graphql_qb.server$start_server.invokeStatic(server.clj:27)
    at graphql_qb.server$start_server.invoke(server.clj:26)
    at graphql_qb.main$_main.invokeStatic(main.clj:45)
    at graphql_qb.main$_main.doInvoke(main.clj:36)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at graphql_qb.main.main(Unknown Source)
RickMoynihan commented 7 years ago

how to treat dimensions without code list? e.g. :dataset_vehicles_cube_registration_date_type and :dataset_vehicles_cube_area_type do not have a specific codelist

Yes we currently require this. Is this not a sensible recommendation for us to be making with the application profile work?

I do not understand the error with :dataset_vehicles_cube_aggregation_measure_types_type. Is it always required to have a qb:measureType?

Yes generally we should treat measure type like any other dimension, though we think a recommendation/requirement for our profile work should be that one is always provided.

However the error here appears to be because this we're using it to derive the aggregation schema, and assume it is there. Have opened another issue on measuretype/aggregations #65 which I'll write up shortly.

zeginis commented 6 years ago

I close this issue. It is covered by #65 #6 and #68