Swirrl / cubiql

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

still can't run latest version 0.2.0 locally to test it #88

Closed mohadelrezk closed 6 years ago

mohadelrezk commented 6 years ago

note: please add (lein uberjar) to README.

zeginis commented 6 years ago

@mohadelrezk currenlty CubiQL make some assumptions on the data. These are described at #65 #68 #69 #75 There is also a relevant project for this issue: https://github.com/Swirrl/graphql-qb/projects/2

Can you have a look if your data is compatible with this?

I'll create a documentation to describe the compatible data for CubiQL (#78)

BillSwirrl commented 6 years ago

@mohadelrezk also if you could post a link to the RDF data you are using (if it is already online) or post a representative sample here, then that might help to understand what is causing it

mohadelrezk commented 6 years ago

Hi @BillSwirrl, I attached a sample dataset here

zeginis commented 6 years ago

Hi @mohadelrezk it seems that the language tags (e.g. @en) cause the error. Can you remove them and try again to see if this is the problem?

If this is the problem them create a new issue to report it.

I attach the whole error message. @RickMoynihan any idea on this?

Exception in thread "main" clojure.lang.ExceptionInfo: Call to #'com.walmartlabs.lacinia.schema/compile did not conform to spec:
In: [0 :objects :dataset_irish_weather_buoy_network 1 :description] val: #grafter.rdf.protocols.LangString{:string "Meteorological and oceanographic data collection for predictive forecasting of conditions at sea.", :lang :en} fails spec: :com.walmartlabs.lacinia.schema/description at: [:args :schema :objects 1 :description] predicate: string?
In: [0 :objects :dataset_irish_wave_buoy_network_spectral 1 :description] val: #grafter.rdf.protocols.LangString{:string "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en} fails spec: :com.walmartlabs.lacinia.schema/description at: [:args :schema :objects 1 :description] predicate: string?
In: [0 :objects :dataset_irish_wave_buoy_network_zero_crossing 1 :description] val: #grafter.rdf.protocols.LangString{:string "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en} fails spec: :com.walmartlabs.lacinia.schema/description at: [:args :schema :objects 1 :description] predicate: string?
 {:clojure.spec.alpha/problems ({:path [:args :schema :objects 1 :description], :pred clojure.core/string?, :val #grafter.rdf.protocols.LangString{:string "Meteorological and oceanographic data collection for predictive forecasting of conditions at sea.", :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_irish_weather_buoy_network 1 :description]} {:path [:args :schema :objects 1 :description], :pred clojure.core/string?, :val #grafter.rdf.protocols.LangString{:string "Wave data monitoring infrastructure for ocean energy research and development.", :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_irish_wave_buoy_network_spectral 1 :description]} {:path [:args :schema :objects 1 :description], :pred clojure.core/string?, :val #grafter.rdf.protocols.LangString{:string "Wave data monitoring infrastructure for ocean energy research and development.", :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_irish_wave_buoy_network_zero_crossing 1 :description]}), :clojure.spec.alpha/spec #object[clojure.spec.alpha$regex_spec_impl$reify__2436 0x1833456 "clojure.spec.alpha$regex_spec_impl$reify__2436@1833456"], :clojure.spec.alpha/value ({:objects {:dataset_irish_wave_buoy_network_zero_crossing_observations_page_observations {:fields {:uri {:type :uri}, :h_average {:type String}, :h_max_period {:type String}, :quality_control_flag {:type String}, :t_average {:type String}, :h_max {:type String}}}, :ref_area {:implements [:resource], :fields {:uri {:type :uri, :description "URI of the reference area"}, :label {:type String, :description "Label for the reference area"}}}, :dataset_irish_weather_buoy_network {: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_irish_weather_buoy_network_observations, :args {:dimensions {:type :dataset_irish_weather_buoy_network_observations_dimensions}, :order {:type (list :dataset_irish_weather_buoy_network_dimension_measures)}, :order_spec {:type :dataset_irish_weather_buoy_network_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x69a0be "graphql_qb.schema$argument_mapping_resolver$fn__6639@69a0be"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0x3d83db "graphql_qb.schema$get_query_schema_model$fn__6687@3d83db"], :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 "Meteorological and oceanographic data collection for predictive forecasting of conditions at sea.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral {: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_irish_wave_buoy_network_spectral_observations, :args {:dimensions {:type :dataset_irish_wave_buoy_network_spectral_observations_dimensions}, :order {:type (list :dataset_irish_wave_buoy_network_spectral_dimension_measures)}, :order_spec {:type :dataset_irish_wave_buoy_network_spectral_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x80d2e0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@80d2e0"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0x145fb9e "graphql_qb.schema$get_query_schema_model$fn__6687@145fb9e"], :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 "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_wave_buoy_network_spectral_observations_page_observations), :description "List of observations on this page"}}}, :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 corresponding enum value"}}}, :dataset_irish_weather_buoy_network_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_weather_buoy_network_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x179d583 "graphql_qb.schema$wrap_observations_mapping$fn__6653@179d583"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_weather_buoy_network_observations_aggregations}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x15fd167 "graphql_qb.schema$wrap_observations_mapping$fn__6653@15fd167"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_aggregations}}}, :dataset_irish_weather_buoy_network_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x4003b0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@4003b0"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1e018f0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@1e018f0"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x141982 "graphql_qb.schema$argument_mapping_resolver$fn__6639@141982"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1b3390e "graphql_qb.schema$argument_mapping_resolver$fn__6639@1b3390e"]}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1b0f44b "graphql_qb.schema$argument_mapping_resolver$fn__6639@1b0f44b"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x5e5395 "graphql_qb.schema$argument_mapping_resolver$fn__6639@5e5395"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xce8395 "graphql_qb.schema$argument_mapping_resolver$fn__6639@ce8395"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xb7b94b "graphql_qb.schema$argument_mapping_resolver$fn__6639@b7b94b"]}}}, :unmapped_dim_value {:implements [:resource], :fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}}}, :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"}}}, :enum_dim_value {:implements [:resource], :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"}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_wave_buoy_network_zero_crossing_observations_page_observations), :description "List of observations on this page"}}}, :dataset_irish_weather_buoy_network_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_weather_buoy_network_observations_page_observations), :description "List of observations on this page"}}}, :dataset_irish_wave_buoy_network_zero_crossing {: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_irish_wave_buoy_network_zero_crossing_observations, :args {:dimensions {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_dimensions}, :order {:type (list :dataset_irish_wave_buoy_network_zero_crossing_dimension_measures)}, :order_spec {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xe70f7a "graphql_qb.schema$argument_mapping_resolver$fn__6639@e70f7a"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0xdb3688 "graphql_qb.schema$get_query_schema_model$fn__6687@db3688"], :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 "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_wave_buoy_network_spectral_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x39d06d "graphql_qb.schema$wrap_observations_mapping$fn__6653@39d06d"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_wave_buoy_network_spectral_observations_aggregations}}}, :dataset_irish_wave_buoy_network_spectral_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1bf5580 "graphql_qb.schema$argument_mapping_resolver$fn__6639@1bf5580"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x11f1012 "graphql_qb.schema$argument_mapping_resolver$fn__6639@11f1012"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x53084f "graphql_qb.schema$argument_mapping_resolver$fn__6639@53084f"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xed0f50 "graphql_qb.schema$argument_mapping_resolver$fn__6639@ed0f50"]}}}, :dataset_irish_weather_buoy_network_observations_page_observations {:fields {:uri {:type :uri}, :gust {:type String}, :atmospheric_pressure {:type String}, :wind_direction {:type String}, :air_temperature {:type String}, :relative_humidity {:type String}, :wind_speed {:type String}, :dew_point {:type String}}}, :dataset_irish_wave_buoy_network_spectral_observations_page_observations {:fields {:uri {:type :uri}, :mean_wave_period_tm02 {:type String}, :peak_spread {:type String}, :mean_wave_period_tm01 {:type String}, :significant_wave_height {:type String}, :peak_direction {:type String}, :energy_period {:type String}, :peak_period {:type String}}}, :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.resolvers$dataset_dimensions_resolver$fn__6533 0x5f4f6c "graphql_qb.resolvers$dataset_dimensions_resolver$fn__6533@5f4f6c"], :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.resolvers$dataset_measures_resolver$fn__6525 0x2d2058 "graphql_qb.resolvers$dataset_measures_resolver$fn__6525@2d2058"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}}, :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"}}}, :resource {:description "Resource with a URI and optional label", :fields {:uri {:type :uri, :description "URI of the resource"}, :label {:type String, :description "Optional label"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}}, :unions {:dim_value {:members [:enum_dim_value :unmapped_dim_value]}}, :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_irish_wave_buoy_network_spectral_observations_dimensions {:fields {}}, :dataset_irish_wave_buoy_network_spectral_observations_order_spec {:fields {:mean_wave_period_tm02 {:type :sort_direction}, :peak_spread {:type :sort_direction}, :mean_wave_period_tm01 {:type :sort_direction}, :significant_wave_height {:type :sort_direction}, :peak_direction {:type :sort_direction}, :energy_period {:type :sort_direction}, :peak_period {:type :sort_direction}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_dimensions {:fields {}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_order_spec {:fields {:h_average {:type :sort_direction}, :h_max_period {:type :sort_direction}, :quality_control_flag {:type :sort_direction}, :t_average {:type :sort_direction}, :h_max {:type :sort_direction}}}, :dataset_irish_weather_buoy_network_observations_dimensions {:fields {}}, :dataset_irish_weather_buoy_network_observations_order_spec {:fields {:gust {:type :sort_direction}, :atmospheric_pressure {:type :sort_direction}, :wind_direction {:type :sort_direction}, :air_temperature {:type :sort_direction}, :relative_humidity {:type :sort_direction}, :wind_speed {:type :sort_direction}, :dew_point {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.resolvers$resolve_datasets 0x1fffd2c "graphql_qb.resolvers$resolve_datasets@1fffd2c"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_irish_wave_buoy_network_spectral {:type :dataset_irish_wave_buoy_network_spectral, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x1a44cdf "graphql_qb.resolvers$wrap_post_resolver$fn__6460@1a44cdf"]}, :dataset_irish_wave_buoy_network_zero_crossing {:type :dataset_irish_wave_buoy_network_zero_crossing, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x18ddf89 "graphql_qb.resolvers$wrap_post_resolver$fn__6460@18ddf89"]}, :dataset_irish_weather_buoy_network {:type :dataset_irish_weather_buoy_network, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x1214149 "graphql_qb.resolvers$wrap_post_resolver$fn__6460@1214149"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0x63b17b "clojure.spec.alpha$spec_impl$reify__1987@63b17b"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1d742a9 "clojure.spec.alpha$spec_impl$reify__1987@1d742a9"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0xe76d93 "clojure.spec.alpha$spec_impl$reify__1987@e76d93"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1953f91 "clojure.spec.alpha$spec_impl$reify__1987@1953f91"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0xceb831 "clojure.spec.alpha$spec_impl$reify__1987@ceb831"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1dd604b "clojure.spec.alpha$spec_impl$reify__1987@1dd604b"]}}}), :clojure.spec.alpha/args ({:objects {:dataset_irish_wave_buoy_network_zero_crossing_observations_page_observations {:fields {:uri {:type :uri}, :h_average {:type String}, :h_max_period {:type String}, :quality_control_flag {:type String}, :t_average {:type String}, :h_max {:type String}}}, :ref_area {:implements [:resource], :fields {:uri {:type :uri, :description "URI of the reference area"}, :label {:type String, :description "Label for the reference area"}}}, :dataset_irish_weather_buoy_network {: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_irish_weather_buoy_network_observations, :args {:dimensions {:type :dataset_irish_weather_buoy_network_observations_dimensions}, :order {:type (list :dataset_irish_weather_buoy_network_dimension_measures)}, :order_spec {:type :dataset_irish_weather_buoy_network_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x69a0be "graphql_qb.schema$argument_mapping_resolver$fn__6639@69a0be"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0x3d83db "graphql_qb.schema$get_query_schema_model$fn__6687@3d83db"], :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 "Meteorological and oceanographic data collection for predictive forecasting of conditions at sea.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral {: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_irish_wave_buoy_network_spectral_observations, :args {:dimensions {:type :dataset_irish_wave_buoy_network_spectral_observations_dimensions}, :order {:type (list :dataset_irish_wave_buoy_network_spectral_dimension_measures)}, :order_spec {:type :dataset_irish_wave_buoy_network_spectral_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x80d2e0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@80d2e0"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0x145fb9e "graphql_qb.schema$get_query_schema_model$fn__6687@145fb9e"], :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 "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_wave_buoy_network_spectral_observations_page_observations), :description "List of observations on this page"}}}, :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 corresponding enum value"}}}, :dataset_irish_weather_buoy_network_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_weather_buoy_network_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x179d583 "graphql_qb.schema$wrap_observations_mapping$fn__6653@179d583"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_weather_buoy_network_observations_aggregations}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x15fd167 "graphql_qb.schema$wrap_observations_mapping$fn__6653@15fd167"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_aggregations}}}, :dataset_irish_weather_buoy_network_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x4003b0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@4003b0"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1e018f0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@1e018f0"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x141982 "graphql_qb.schema$argument_mapping_resolver$fn__6639@141982"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1b3390e "graphql_qb.schema$argument_mapping_resolver$fn__6639@1b3390e"]}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1b0f44b "graphql_qb.schema$argument_mapping_resolver$fn__6639@1b0f44b"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x5e5395 "graphql_qb.schema$argument_mapping_resolver$fn__6639@5e5395"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xce8395 "graphql_qb.schema$argument_mapping_resolver$fn__6639@ce8395"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xb7b94b "graphql_qb.schema$argument_mapping_resolver$fn__6639@b7b94b"]}}}, :unmapped_dim_value {:implements [:resource], :fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}}}, :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"}}}, :enum_dim_value {:implements [:resource], :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"}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_wave_buoy_network_zero_crossing_observations_page_observations), :description "List of observations on this page"}}}, :dataset_irish_weather_buoy_network_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_weather_buoy_network_observations_page_observations), :description "List of observations on this page"}}}, :dataset_irish_wave_buoy_network_zero_crossing {: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_irish_wave_buoy_network_zero_crossing_observations, :args {:dimensions {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_dimensions}, :order {:type (list :dataset_irish_wave_buoy_network_zero_crossing_dimension_measures)}, :order_spec {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xe70f7a "graphql_qb.schema$argument_mapping_resolver$fn__6639@e70f7a"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0xdb3688 "graphql_qb.schema$get_query_schema_model$fn__6687@db3688"], :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 "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_wave_buoy_network_spectral_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x39d06d "graphql_qb.schema$wrap_observations_mapping$fn__6653@39d06d"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_wave_buoy_network_spectral_observations_aggregations}}}, :dataset_irish_wave_buoy_network_spectral_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1bf5580 "graphql_qb.schema$argument_mapping_resolver$fn__6639@1bf5580"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x11f1012 "graphql_qb.schema$argument_mapping_resolver$fn__6639@11f1012"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x53084f "graphql_qb.schema$argument_mapping_resolver$fn__6639@53084f"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xed0f50 "graphql_qb.schema$argument_mapping_resolver$fn__6639@ed0f50"]}}}, :dataset_irish_weather_buoy_network_observations_page_observations {:fields {:uri {:type :uri}, :gust {:type String}, :atmospheric_pressure {:type String}, :wind_direction {:type String}, :air_temperature {:type String}, :relative_humidity {:type String}, :wind_speed {:type String}, :dew_point {:type String}}}, :dataset_irish_wave_buoy_network_spectral_observations_page_observations {:fields {:uri {:type :uri}, :mean_wave_period_tm02 {:type String}, :peak_spread {:type String}, :mean_wave_period_tm01 {:type String}, :significant_wave_height {:type String}, :peak_direction {:type String}, :energy_period {:type String}, :peak_period {:type String}}}, :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.resolvers$dataset_dimensions_resolver$fn__6533 0x5f4f6c "graphql_qb.resolvers$dataset_dimensions_resolver$fn__6533@5f4f6c"], :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.resolvers$dataset_measures_resolver$fn__6525 0x2d2058 "graphql_qb.resolvers$dataset_measures_resolver$fn__6525@2d2058"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}}, :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"}}}, :resource {:description "Resource with a URI and optional label", :fields {:uri {:type :uri, :description "URI of the resource"}, :label {:type String, :description "Optional label"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}}, :unions {:dim_value {:members [:enum_dim_value :unmapped_dim_value]}}, :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_irish_wave_buoy_network_spectral_observations_dimensions {:fields {}}, :dataset_irish_wave_buoy_network_spectral_observations_order_spec {:fields {:mean_wave_period_tm02 {:type :sort_direction}, :peak_spread {:type :sort_direction}, :mean_wave_period_tm01 {:type :sort_direction}, :significant_wave_height {:type :sort_direction}, :peak_direction {:type :sort_direction}, :energy_period {:type :sort_direction}, :peak_period {:type :sort_direction}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_dimensions {:fields {}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_order_spec {:fields {:h_average {:type :sort_direction}, :h_max_period {:type :sort_direction}, :quality_control_flag {:type :sort_direction}, :t_average {:type :sort_direction}, :h_max {:type :sort_direction}}}, :dataset_irish_weather_buoy_network_observations_dimensions {:fields {}}, :dataset_irish_weather_buoy_network_observations_order_spec {:fields {:gust {:type :sort_direction}, :atmospheric_pressure {:type :sort_direction}, :wind_direction {:type :sort_direction}, :air_temperature {:type :sort_direction}, :relative_humidity {:type :sort_direction}, :wind_speed {:type :sort_direction}, :dew_point {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.resolvers$resolve_datasets 0x1fffd2c "graphql_qb.resolvers$resolve_datasets@1fffd2c"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_irish_wave_buoy_network_spectral {:type :dataset_irish_wave_buoy_network_spectral, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x1a44cdf "graphql_qb.resolvers$wrap_post_resolver$fn__6460@1a44cdf"]}, :dataset_irish_wave_buoy_network_zero_crossing {:type :dataset_irish_wave_buoy_network_zero_crossing, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x18ddf89 "graphql_qb.resolvers$wrap_post_resolver$fn__6460@18ddf89"]}, :dataset_irish_weather_buoy_network {:type :dataset_irish_weather_buoy_network, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x1214149 "graphql_qb.resolvers$wrap_post_resolver$fn__6460@1214149"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0x63b17b "clojure.spec.alpha$spec_impl$reify__1987@63b17b"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1d742a9 "clojure.spec.alpha$spec_impl$reify__1987@1d742a9"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0xe76d93 "clojure.spec.alpha$spec_impl$reify__1987@e76d93"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1953f91 "clojure.spec.alpha$spec_impl$reify__1987@1953f91"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0xceb831 "clojure.spec.alpha$spec_impl$reify__1987@ceb831"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1dd604b "clojure.spec.alpha$spec_impl$reify__1987@1dd604b"]}}}), :clojure.spec.alpha/failure :instrument, :clojure.spec.test.alpha/caller {:file "core.clj", :line 152, :var-scope graphql-qb.core/build-schema-context}}, compiling:(C:\Users\user\AppData\Local\Temp\form-init7319224315483114231.clj:1:107)
    at clojure.lang.Compiler.load(Compiler.java:7526)
    at clojure.lang.Compiler.loadFile(Compiler.java:7452)
    at clojure.main$load_script.invokeStatic(main.clj:278)
    at clojure.main$init_opt.invokeStatic(main.clj:280)
    at clojure.main$init_opt.invoke(main.clj:280)
    at clojure.main$initialize.invokeStatic(main.clj:311)
    at clojure.main$null_opt.invokeStatic(main.clj:345)
    at clojure.main$null_opt.invoke(main.clj:342)
    at clojure.main$main.invokeStatic(main.clj:424)
    at clojure.main$main.doInvoke(main.clj:387)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.lang.Var.applyTo(Var.java:702)
    at clojure.main.main(main.java:37)
Caused by: clojure.lang.ExceptionInfo: Call to #'com.walmartlabs.lacinia.schema/compile did not conform to spec:
In: [0 :objects :dataset_irish_weather_buoy_network 1 :description] val: #grafter.rdf.protocols.LangString{:string "Meteorological and oceanographic data collection for predictive forecasting of conditions at sea.", :lang :en} fails spec: :com.walmartlabs.lacinia.schema/description at: [:args :schema :objects 1 :description] predicate: string?
In: [0 :objects :dataset_irish_wave_buoy_network_spectral 1 :description] val: #grafter.rdf.protocols.LangString{:string "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en} fails spec: :com.walmartlabs.lacinia.schema/description at: [:args :schema :objects 1 :description] predicate: string?
In: [0 :objects :dataset_irish_wave_buoy_network_zero_crossing 1 :description] val: #grafter.rdf.protocols.LangString{:string "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en} fails spec: :com.walmartlabs.lacinia.schema/description at: [:args :schema :objects 1 :description] predicate: string?
 {:clojure.spec.alpha/problems ({:path [:args :schema :objects 1 :description], :pred clojure.core/string?, :val #grafter.rdf.protocols.LangString{:string "Meteorological and oceanographic data collection for predictive forecasting of conditions at sea.", :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_irish_weather_buoy_network 1 :description]} {:path [:args :schema :objects 1 :description], :pred clojure.core/string?, :val #grafter.rdf.protocols.LangString{:string "Wave data monitoring infrastructure for ocean energy research and development.", :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_irish_wave_buoy_network_spectral 1 :description]} {:path [:args :schema :objects 1 :description], :pred clojure.core/string?, :val #grafter.rdf.protocols.LangString{:string "Wave data monitoring infrastructure for ocean energy research and development.", :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_irish_wave_buoy_network_zero_crossing 1 :description]}), :clojure.spec.alpha/spec #object[clojure.spec.alpha$regex_spec_impl$reify__2436 0x1833456 "clojure.spec.alpha$regex_spec_impl$reify__2436@1833456"], :clojure.spec.alpha/value ({:objects {:dataset_irish_wave_buoy_network_zero_crossing_observations_page_observations {:fields {:uri {:type :uri}, :h_average {:type String}, :h_max_period {:type String}, :quality_control_flag {:type String}, :t_average {:type String}, :h_max {:type String}}}, :ref_area {:implements [:resource], :fields {:uri {:type :uri, :description "URI of the reference area"}, :label {:type String, :description "Label for the reference area"}}}, :dataset_irish_weather_buoy_network {: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_irish_weather_buoy_network_observations, :args {:dimensions {:type :dataset_irish_weather_buoy_network_observations_dimensions}, :order {:type (list :dataset_irish_weather_buoy_network_dimension_measures)}, :order_spec {:type :dataset_irish_weather_buoy_network_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x69a0be "graphql_qb.schema$argument_mapping_resolver$fn__6639@69a0be"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0x3d83db "graphql_qb.schema$get_query_schema_model$fn__6687@3d83db"], :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 "Meteorological and oceanographic data collection for predictive forecasting of conditions at sea.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral {: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_irish_wave_buoy_network_spectral_observations, :args {:dimensions {:type :dataset_irish_wave_buoy_network_spectral_observations_dimensions}, :order {:type (list :dataset_irish_wave_buoy_network_spectral_dimension_measures)}, :order_spec {:type :dataset_irish_wave_buoy_network_spectral_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x80d2e0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@80d2e0"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0x145fb9e "graphql_qb.schema$get_query_schema_model$fn__6687@145fb9e"], :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 "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_wave_buoy_network_spectral_observations_page_observations), :description "List of observations on this page"}}}, :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 corresponding enum value"}}}, :dataset_irish_weather_buoy_network_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_weather_buoy_network_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x179d583 "graphql_qb.schema$wrap_observations_mapping$fn__6653@179d583"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_weather_buoy_network_observations_aggregations}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x15fd167 "graphql_qb.schema$wrap_observations_mapping$fn__6653@15fd167"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_aggregations}}}, :dataset_irish_weather_buoy_network_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x4003b0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@4003b0"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1e018f0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@1e018f0"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x141982 "graphql_qb.schema$argument_mapping_resolver$fn__6639@141982"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1b3390e "graphql_qb.schema$argument_mapping_resolver$fn__6639@1b3390e"]}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1b0f44b "graphql_qb.schema$argument_mapping_resolver$fn__6639@1b0f44b"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x5e5395 "graphql_qb.schema$argument_mapping_resolver$fn__6639@5e5395"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xce8395 "graphql_qb.schema$argument_mapping_resolver$fn__6639@ce8395"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xb7b94b "graphql_qb.schema$argument_mapping_resolver$fn__6639@b7b94b"]}}}, :unmapped_dim_value {:implements [:resource], :fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}}}, :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"}}}, :enum_dim_value {:implements [:resource], :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"}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_wave_buoy_network_zero_crossing_observations_page_observations), :description "List of observations on this page"}}}, :dataset_irish_weather_buoy_network_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_weather_buoy_network_observations_page_observations), :description "List of observations on this page"}}}, :dataset_irish_wave_buoy_network_zero_crossing {: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_irish_wave_buoy_network_zero_crossing_observations, :args {:dimensions {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_dimensions}, :order {:type (list :dataset_irish_wave_buoy_network_zero_crossing_dimension_measures)}, :order_spec {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xe70f7a "graphql_qb.schema$argument_mapping_resolver$fn__6639@e70f7a"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0xdb3688 "graphql_qb.schema$get_query_schema_model$fn__6687@db3688"], :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 "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_wave_buoy_network_spectral_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x39d06d "graphql_qb.schema$wrap_observations_mapping$fn__6653@39d06d"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_wave_buoy_network_spectral_observations_aggregations}}}, :dataset_irish_wave_buoy_network_spectral_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1bf5580 "graphql_qb.schema$argument_mapping_resolver$fn__6639@1bf5580"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x11f1012 "graphql_qb.schema$argument_mapping_resolver$fn__6639@11f1012"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x53084f "graphql_qb.schema$argument_mapping_resolver$fn__6639@53084f"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xed0f50 "graphql_qb.schema$argument_mapping_resolver$fn__6639@ed0f50"]}}}, :dataset_irish_weather_buoy_network_observations_page_observations {:fields {:uri {:type :uri}, :gust {:type String}, :atmospheric_pressure {:type String}, :wind_direction {:type String}, :air_temperature {:type String}, :relative_humidity {:type String}, :wind_speed {:type String}, :dew_point {:type String}}}, :dataset_irish_wave_buoy_network_spectral_observations_page_observations {:fields {:uri {:type :uri}, :mean_wave_period_tm02 {:type String}, :peak_spread {:type String}, :mean_wave_period_tm01 {:type String}, :significant_wave_height {:type String}, :peak_direction {:type String}, :energy_period {:type String}, :peak_period {:type String}}}, :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.resolvers$dataset_dimensions_resolver$fn__6533 0x5f4f6c "graphql_qb.resolvers$dataset_dimensions_resolver$fn__6533@5f4f6c"], :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.resolvers$dataset_measures_resolver$fn__6525 0x2d2058 "graphql_qb.resolvers$dataset_measures_resolver$fn__6525@2d2058"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}}, :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"}}}, :resource {:description "Resource with a URI and optional label", :fields {:uri {:type :uri, :description "URI of the resource"}, :label {:type String, :description "Optional label"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}}, :unions {:dim_value {:members [:enum_dim_value :unmapped_dim_value]}}, :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_irish_wave_buoy_network_spectral_observations_dimensions {:fields {}}, :dataset_irish_wave_buoy_network_spectral_observations_order_spec {:fields {:mean_wave_period_tm02 {:type :sort_direction}, :peak_spread {:type :sort_direction}, :mean_wave_period_tm01 {:type :sort_direction}, :significant_wave_height {:type :sort_direction}, :peak_direction {:type :sort_direction}, :energy_period {:type :sort_direction}, :peak_period {:type :sort_direction}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_dimensions {:fields {}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_order_spec {:fields {:h_average {:type :sort_direction}, :h_max_period {:type :sort_direction}, :quality_control_flag {:type :sort_direction}, :t_average {:type :sort_direction}, :h_max {:type :sort_direction}}}, :dataset_irish_weather_buoy_network_observations_dimensions {:fields {}}, :dataset_irish_weather_buoy_network_observations_order_spec {:fields {:gust {:type :sort_direction}, :atmospheric_pressure {:type :sort_direction}, :wind_direction {:type :sort_direction}, :air_temperature {:type :sort_direction}, :relative_humidity {:type :sort_direction}, :wind_speed {:type :sort_direction}, :dew_point {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.resolvers$resolve_datasets 0x1fffd2c "graphql_qb.resolvers$resolve_datasets@1fffd2c"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_irish_wave_buoy_network_spectral {:type :dataset_irish_wave_buoy_network_spectral, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x1a44cdf "graphql_qb.resolvers$wrap_post_resolver$fn__6460@1a44cdf"]}, :dataset_irish_wave_buoy_network_zero_crossing {:type :dataset_irish_wave_buoy_network_zero_crossing, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x18ddf89 "graphql_qb.resolvers$wrap_post_resolver$fn__6460@18ddf89"]}, :dataset_irish_weather_buoy_network {:type :dataset_irish_weather_buoy_network, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x1214149 "graphql_qb.resolvers$wrap_post_resolver$fn__6460@1214149"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0x63b17b "clojure.spec.alpha$spec_impl$reify__1987@63b17b"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1d742a9 "clojure.spec.alpha$spec_impl$reify__1987@1d742a9"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0xe76d93 "clojure.spec.alpha$spec_impl$reify__1987@e76d93"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1953f91 "clojure.spec.alpha$spec_impl$reify__1987@1953f91"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0xceb831 "clojure.spec.alpha$spec_impl$reify__1987@ceb831"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1dd604b "clojure.spec.alpha$spec_impl$reify__1987@1dd604b"]}}}), :clojure.spec.alpha/args ({:objects {:dataset_irish_wave_buoy_network_zero_crossing_observations_page_observations {:fields {:uri {:type :uri}, :h_average {:type String}, :h_max_period {:type String}, :quality_control_flag {:type String}, :t_average {:type String}, :h_max {:type String}}}, :ref_area {:implements [:resource], :fields {:uri {:type :uri, :description "URI of the reference area"}, :label {:type String, :description "Label for the reference area"}}}, :dataset_irish_weather_buoy_network {: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_irish_weather_buoy_network_observations, :args {:dimensions {:type :dataset_irish_weather_buoy_network_observations_dimensions}, :order {:type (list :dataset_irish_weather_buoy_network_dimension_measures)}, :order_spec {:type :dataset_irish_weather_buoy_network_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x69a0be "graphql_qb.schema$argument_mapping_resolver$fn__6639@69a0be"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0x3d83db "graphql_qb.schema$get_query_schema_model$fn__6687@3d83db"], :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 "Meteorological and oceanographic data collection for predictive forecasting of conditions at sea.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral {: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_irish_wave_buoy_network_spectral_observations, :args {:dimensions {:type :dataset_irish_wave_buoy_network_spectral_observations_dimensions}, :order {:type (list :dataset_irish_wave_buoy_network_spectral_dimension_measures)}, :order_spec {:type :dataset_irish_wave_buoy_network_spectral_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x80d2e0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@80d2e0"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0x145fb9e "graphql_qb.schema$get_query_schema_model$fn__6687@145fb9e"], :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 "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_wave_buoy_network_spectral_observations_page_observations), :description "List of observations on this page"}}}, :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 corresponding enum value"}}}, :dataset_irish_weather_buoy_network_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_weather_buoy_network_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x179d583 "graphql_qb.schema$wrap_observations_mapping$fn__6653@179d583"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_weather_buoy_network_observations_aggregations}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x15fd167 "graphql_qb.schema$wrap_observations_mapping$fn__6653@15fd167"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_aggregations}}}, :dataset_irish_weather_buoy_network_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x4003b0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@4003b0"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1e018f0 "graphql_qb.schema$argument_mapping_resolver$fn__6639@1e018f0"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x141982 "graphql_qb.schema$argument_mapping_resolver$fn__6639@141982"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_weather_buoy_network_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1b3390e "graphql_qb.schema$argument_mapping_resolver$fn__6639@1b3390e"]}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1b0f44b "graphql_qb.schema$argument_mapping_resolver$fn__6639@1b0f44b"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x5e5395 "graphql_qb.schema$argument_mapping_resolver$fn__6639@5e5395"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xce8395 "graphql_qb.schema$argument_mapping_resolver$fn__6639@ce8395"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_zero_crossing_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xb7b94b "graphql_qb.schema$argument_mapping_resolver$fn__6639@b7b94b"]}}}, :unmapped_dim_value {:implements [:resource], :fields {:uri {:type :uri, :description "URI of the dimension value"}, :label {:type String, :description "Label for the dimension value"}}}, :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"}}}, :enum_dim_value {:implements [:resource], :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"}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_wave_buoy_network_zero_crossing_observations_page_observations), :description "List of observations on this page"}}}, :dataset_irish_weather_buoy_network_observations_page {:fields {:next_page {:type :SparqlCursor, :description "Cursor to the next page of results"}, :count {:type Int}, :observations {:type (list :dataset_irish_weather_buoy_network_observations_page_observations), :description "List of observations on this page"}}}, :dataset_irish_wave_buoy_network_zero_crossing {: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_irish_wave_buoy_network_zero_crossing_observations, :args {:dimensions {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_dimensions}, :order {:type (list :dataset_irish_wave_buoy_network_zero_crossing_dimension_measures)}, :order_spec {:type :dataset_irish_wave_buoy_network_zero_crossing_observations_order_spec}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xe70f7a "graphql_qb.schema$argument_mapping_resolver$fn__6639@e70f7a"]}, :modified {:type :DateTime, :description "When the dataset was last modified"}, :dimensions {:type (list :dim), :resolve #object[graphql_qb.schema$get_query_schema_model$fn__6687 0xdb3688 "graphql_qb.schema$get_query_schema_model$fn__6687@db3688"], :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 "Wave data monitoring infrastructure for ocean energy research and development.", :lang :en}}, :dataset_irish_wave_buoy_network_spectral_observations {:fields {:sparql {:type String, :description "SPARQL query used to retrieve matching observations.", :resolve #object[graphql_qb.resolvers$resolve_observations_sparql_query 0x1779773 "graphql_qb.resolvers$resolve_observations_sparql_query@1779773"]}, :page {:type :dataset_irish_wave_buoy_network_spectral_observations_page, :args {:after {:type :SparqlCursor}, :first {:type Int}}, :description "Page of results to retrieve.", :resolve #object[graphql_qb.schema$wrap_observations_mapping$fn__6653 0x39d06d "graphql_qb.schema$wrap_observations_mapping$fn__6653@39d06d"]}, :total_matches {:type Int}, :aggregations {:type :dataset_irish_wave_buoy_network_spectral_observations_aggregations}}}, :dataset_irish_wave_buoy_network_spectral_observations_aggregations {:fields {:max {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x1bf5580 "graphql_qb.schema$argument_mapping_resolver$fn__6639@1bf5580"]}, :min {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x11f1012 "graphql_qb.schema$argument_mapping_resolver$fn__6639@11f1012"]}, :sum {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0x53084f "graphql_qb.schema$argument_mapping_resolver$fn__6639@53084f"]}, :average {:type Float, :args {:measure {:type (non-null :dataset_irish_wave_buoy_network_spectral_aggregation_measures), :description "The measure to aggregate"}}, :resolve #object[graphql_qb.schema$argument_mapping_resolver$fn__6639 0xed0f50 "graphql_qb.schema$argument_mapping_resolver$fn__6639@ed0f50"]}}}, :dataset_irish_weather_buoy_network_observations_page_observations {:fields {:uri {:type :uri}, :gust {:type String}, :atmospheric_pressure {:type String}, :wind_direction {:type String}, :air_temperature {:type String}, :relative_humidity {:type String}, :wind_speed {:type String}, :dew_point {:type String}}}, :dataset_irish_wave_buoy_network_spectral_observations_page_observations {:fields {:uri {:type :uri}, :mean_wave_period_tm02 {:type String}, :peak_spread {:type String}, :mean_wave_period_tm01 {:type String}, :significant_wave_height {:type String}, :peak_direction {:type String}, :energy_period {:type String}, :peak_period {:type String}}}, :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.resolvers$dataset_dimensions_resolver$fn__6533 0x5f4f6c "graphql_qb.resolvers$dataset_dimensions_resolver$fn__6533@5f4f6c"], :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.resolvers$dataset_measures_resolver$fn__6525 0x2d2058 "graphql_qb.resolvers$dataset_measures_resolver$fn__6525@2d2058"], :description "Measure types within the dataset"}, :issued {:type :DateTime, :description "When the dataset was issued"}, :uri {:type :uri, :description "Dataset URI"}}}}, :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"}}}, :resource {:description "Resource with a URI and optional label", :fields {:uri {:type :uri, :description "URI of the resource"}, :label {:type String, :description "Optional label"}}}}, :enums {:sort_direction {:description "Which direction to sort a dimension or measure in", :values [:ASC :DESC]}}, :unions {:dim_value {:members [:enum_dim_value :unmapped_dim_value]}}, :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_irish_wave_buoy_network_spectral_observations_dimensions {:fields {}}, :dataset_irish_wave_buoy_network_spectral_observations_order_spec {:fields {:mean_wave_period_tm02 {:type :sort_direction}, :peak_spread {:type :sort_direction}, :mean_wave_period_tm01 {:type :sort_direction}, :significant_wave_height {:type :sort_direction}, :peak_direction {:type :sort_direction}, :energy_period {:type :sort_direction}, :peak_period {:type :sort_direction}}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_dimensions {:fields {}}, :dataset_irish_wave_buoy_network_zero_crossing_observations_order_spec {:fields {:h_average {:type :sort_direction}, :h_max_period {:type :sort_direction}, :quality_control_flag {:type :sort_direction}, :t_average {:type :sort_direction}, :h_max {:type :sort_direction}}}, :dataset_irish_weather_buoy_network_observations_dimensions {:fields {}}, :dataset_irish_weather_buoy_network_observations_order_spec {:fields {:gust {:type :sort_direction}, :atmospheric_pressure {:type :sort_direction}, :wind_direction {:type :sort_direction}, :air_temperature {:type :sort_direction}, :relative_humidity {:type :sort_direction}, :wind_speed {:type :sort_direction}, :dew_point {:type :sort_direction}}}}, :queries {:datasets {:type (list :dataset), :resolve #object[graphql_qb.resolvers$resolve_datasets 0x1fffd2c "graphql_qb.resolvers$resolve_datasets@1fffd2c"], :args {:dimensions {:type :filter}, :uri {:type :uri}}}, :dataset_irish_wave_buoy_network_spectral {:type :dataset_irish_wave_buoy_network_spectral, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x1a44cdf "graphql_qb.resolvers$wrap_post_resolver$fn__6460@1a44cdf"]}, :dataset_irish_wave_buoy_network_zero_crossing {:type :dataset_irish_wave_buoy_network_zero_crossing, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x18ddf89 "graphql_qb.resolvers$wrap_post_resolver$fn__6460@18ddf89"]}, :dataset_irish_weather_buoy_network {:type :dataset_irish_weather_buoy_network, :resolve #object[graphql_qb.resolvers$wrap_post_resolver$fn__6460 0x1214149 "graphql_qb.resolvers$wrap_post_resolver$fn__6460@1214149"]}}, :scalars {:SparqlCursor {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0x63b17b "clojure.spec.alpha$spec_impl$reify__1987@63b17b"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1d742a9 "clojure.spec.alpha$spec_impl$reify__1987@1d742a9"]}, :uri {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0xe76d93 "clojure.spec.alpha$spec_impl$reify__1987@e76d93"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1953f91 "clojure.spec.alpha$spec_impl$reify__1987@1953f91"]}, :DateTime {:parse #object[clojure.spec.alpha$spec_impl$reify__1987 0xceb831 "clojure.spec.alpha$spec_impl$reify__1987@ceb831"], :serialize #object[clojure.spec.alpha$spec_impl$reify__1987 0x1dd604b "clojure.spec.alpha$spec_impl$reify__1987@1dd604b"]}}}), :clojure.spec.alpha/failure :instrument, :clojure.spec.test.alpha/caller {:file "core.clj", :line 152, :var-scope graphql-qb.core/build-schema-context}}
    at clojure.core$ex_info.invokeStatic(core.clj:4739)
    at clojure.core$ex_info.invoke(core.clj:4739)
    at clojure.spec.test.alpha$spec_checking_fn$conform_BANG___2938.invoke(alpha.clj:131)
    at clojure.spec.test.alpha$spec_checking_fn$fn__2943.doInvoke(alpha.clj:139)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at graphql_qb.core$build_schema_context.invokeStatic(core.clj:152)
    at graphql_qb.core$build_schema_context.invoke(core.clj:147)
    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.invoke(RestFn.java:482)
    at clojure.lang.Var.invoke(Var.java:403)
    at user$eval157.invokeStatic(form-init7319224315483114231.clj:1)
    at user$eval157.invoke(form-init7319224315483114231.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:7062)
    at clojure.lang.Compiler.eval(Compiler.java:7052)
    at clojure.lang.Compiler.eval(Compiler.java:7052)
    at clojure.lang.Compiler.load(Compiler.java:7514)
    ... 12 more
RickMoynihan commented 6 years ago

Yes that's right @zeginis this bit is saying LangString's are not string?s:

:pred clojure.core/string?, :val #grafter.rdf.protocols.LangString{:string "Meteorological and oceanographic data collection for predictive forecasting of conditions at sea.", :lang :en}
zeginis commented 6 years ago

@RickMoynihan any idea how to fix this? It is very common in RDF literals to have a lang e.g. @en

zeginis commented 6 years ago

I close this issue. The problem is defined at #6 .