<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
    <edmx:DataServices>
        <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="DigitaleDeltaModels">
            <EntityType Name="Reference">
                <Key>
                    <PropertyRef Name="Id" />
                </Key>
                <Property Name="Id" Type="Edm.String" Nullable="false" />
                <Property Name="Type" Type="Edm.String" />
                <Property Name="Organisation" Type="Edm.String" />
                <Property Name="Code" Type="Edm.String" Nullable="false" />
                <Property Name="Geography" Type="Edm.Geography" />
                <Property Name="Description" Type="Edm.String" Nullable="false" />
            </EntityType>
            <EntityType Name="Observation">
                <Key>
                    <PropertyRef Name="Id" />
                </Key>
                <Property Name="Id" Type="Edm.String" Nullable="false" />
                <Property Name="Type" Type="Edm.String" Nullable="false" />
                <Property Name="ResultTime" Type="Edm.DateTimeOffset" Nullable="false" />
                <Property Name="PhenomenonTime" Type="DigitaleDeltaModels.TmPeriod" Nullable="false" />
                <Property Name="ValidTime" Type="DigitaleDeltaModels.TmPeriod" />
                <Property Name="Parameter" Type="DigitaleDeltaModels.Parameter" Nullable="false" />
                <Property Name="Metadata" Type="DigitaleDeltaModels.Metadata" Nullable="false" />
                <Property Name="Result" Type="DigitaleDeltaModels.Result" Nullable="false" />
                <Property Name="Foi" Type="DigitaleDeltaModels.Foi" Nullable="false" />
            </EntityType>
            <ComplexType Name="TmPeriod">
                <Property Name="BeginPosition" Type="Edm.DateTimeOffset" />
                <Property Name="EndPosition" Type="Edm.DateTimeOffset" />
            </ComplexType>
            <ComplexType Name="Foi">
                <Property Name="Id" Type="Edm.String" Nullable="false" />
                <Property Name="Code" Type="Edm.String" Nullable="false" />
                <Property Name="Name" Type="Edm.String" Nullable="false" />
                <Property Name="Geography" Type="Edm.Geography" />
            </ComplexType>
            <ComplexType Name="Parameter">
                           <Property Name="AnalysisMethod" Type="Edm.String" Nullable="true" />
           <Property Name="AnalysisPackage" Type="Edm.String" Nullable="true" />
           <Property Name="Appearance" Type="Edm.String" Nullable="true" />
           <Property Name="Behaviour" Type="Edm.String" Nullable="true" />
           <Property Name="Capacity" Type="Edm.String" Nullable="true" />
           <Property Name="CasNumber" Type="Edm.String" Nullable="true" />
           <Property Name="Checker" Type="Edm.String" Nullable="true" />
           <Property Name="Compartment" Type="Edm.String" Nullable="true" />
           <Property Name="Completeness" Type="Edm.String" Nullable="true" />
           <Property Name="Condition" Type="Edm.String" Nullable="true" />
           <Property Name="Gender" Type="Edm.String" Nullable="true" />
           <Property Name="GrainDiameter" Type="Edm.String" Nullable="true" />
           <Property Name="GrainSizeFraction" Type="Edm.String" Nullable="true" />
           <Property Name="LengthClass" Type="Edm.String" Nullable="true" />
           <Property Name="LengthClassInCm" Type="Edm.String" Nullable="true" />
           <Property Name="LengthClassInMm" Type="Edm.String" Nullable="true" />
           <Property Name="LifeForm" Type="Edm.String" Nullable="true" />
           <Property Name="LifeStage" Type="Edm.String" Nullable="true" />
           <Property Name="LimitSymbol" Type="Edm.String" Nullable="true" />
           <Property Name="MeasurementPackage" Type="Edm.String" Nullable="true" />
           <Property Name="MeasurementPosition" Type="Edm.String" Nullable="true" />
           <Property Name="Organ" Type="Edm.String" Nullable="true" />
           <Property Name="Organisation" Type="Edm.String" Nullable="true" />
           <Property Name="OrganisationNamespace" Type="Edm.String" Nullable="true" />
           <Property Name="Parameter" Type="Edm.String" Nullable="true" />
           <Property Name="ParameterType" Type="Edm.String" Nullable="true" />
           <Property Name="PrimerTargetGen" Type="Edm.String" Nullable="true" />
           <Property Name="ProjectMethod" Type="Edm.String" Nullable="true" />
           <Property Name="Purpose" Type="Edm.String" Nullable="true" />
           <Property Name="Quantity" Type="Edm.String" Nullable="true" />
           <Property Name="RecordingMethod" Type="Edm.String" Nullable="true" />
           <Property Name="Sampler" Type="Edm.String" Nullable="true" />
           <Property Name="SamplingMethod" Type="Edm.String" Nullable="true" />
           <Property Name="Sediment" Type="Edm.String" Nullable="true" />
           <Property Name="Statistic" Type="Edm.String" Nullable="true" />
           <Property Name="SubstrateDifferentiation" Type="Edm.String" Nullable="true" />
           <Property Name="Supplier" Type="Edm.String" Nullable="true" />
           <Property Name="TaxonAuthors" Type="Edm.String" Nullable="true" />
           <Property Name="TaxonGroup" Type="Edm.String" Nullable="true" />
           <Property Name="TaxonRank" Type="Edm.String" Nullable="true" />
           <Property Name="TaxonStatus" Type="Edm.String" Nullable="true" />
           <Property Name="TaxonType" Type="Edm.String" Nullable="true" />
           <Property Name="TwnCode" Type="Edm.String" Nullable="true" />
           <Property Name="ValuationMethod" Type="Edm.String" Nullable="true" />
           <Property Name="ValuationTechnique" Type="Edm.String" Nullable="true" />
           <Property Name="ValueProcessingMethod" Type="Edm.String" Nullable="true" />
           <Property Name="WaveLength" Type="Edm.String" Nullable="true" />
           <Property Name="WidthClassInCm" Type="Edm.String" Nullable="true" />
           <Property Name="WidthClassInMm" Type="Edm.String" Nullable="true" />
            </ComplexType>
            <ComplexType Name="Metadata">
                             <Property Name="BaseUnit" Type="Edm.String" Nullable="true" />
             <Property Name="BaseValue" Type="Edm.Double" Nullable="true" />
             <Property Name="CollectionComment" Type="Edm.String" Nullable="true" />
             <Property Name="ModifiedOn" Type="Edm.DateTimeOffset" Nullable="true" />
             <Property Name="ObservationComment" Type="Edm.String" Nullable="true" />
             <Property Name="Projects" Type="Collection(Edm.String)" Nullable="true" />
             <Property Name="ResultOf" Type="Edm.String" Nullable="true" />
             <Property Name="SampleReference" Type="Edm.String" Nullable="true" />
             <Property Name="SamplingDeviceLength" Type="Edm.String" Nullable="true" />
             <Property Name="SamplingDeviceMeshSize" Type="Edm.String" Nullable="true" />
             <Property Name="SamplingDeviceSpecification" Type="Edm.String" Nullable="true" />
             <Property Name="SetComment" Type="Edm.String" Nullable="true" />
            </ComplexType>
            <ComplexType Name="Result">
                <Property Name="Id" Type="Edm.String" Nullable="false" />
                <Property Name="Truth" Type="Edm.Boolean" />
                <Property Name="Count" Type="Edm.Int64" />
                <Property Name="Measure" Type="DigitaleDeltaModels.Measure" />
                <Property Name="Vocab" Type="DigitaleDeltaModels.CategoryVerb" />
                <Property Name="Coverage" Type="DigitaleDeltaModels.Coverage" />
            </ComplexType>
            <ComplexType Name="Measure">
                <Property Name="Uom" Type="Edm.String" Nullable="false" />
                <Property Name="Value" Type="Edm.Decimal" Scale="variable" />
                <Property Name="Namespace" Type="Edm.String" />
            </ComplexType>
            <ComplexType Name="CategoryVerb">
                <Property Name="Vocabulary" Type="Edm.String" Nullable="false" />
                <Property Name="Term" Type="Edm.String" Nullable="false" />
            </ComplexType>
            <ComplexType Name="CoverageAxis">
                <Property Name="Name" Type="Edm.String" Nullable="false" />
                <Property Name="Type" Type="Edm.String" />
                <Property Name="Start" Type="Edm.Double" />
                <Property Name="Stop" Type="Edm.Double" />
                <Property Name="Num" Type="Edm.Int32" />
                <Property Name="Values" Type="Collection(Edm.Double)" />
            </ComplexType>
            <ComplexType Name="CoverageDomain">
                <Property Name="DomainType" Type="Edm.String" />
                <Property Name="Axes" Type="Collection(CoverageJsonModels.CoverageAxis)" />
                <Property Name="Referencing" Type="Collection(Edm.String)" />
            </ComplexType>
            <ComplexType Name="CoverageParameter">
                <Property Name="Name" Type="Edm.String" Nullable="false" />
                <Property Name="ObservedProperty" Type="Edm.String" />
                <Property Name="Unit" Type="Edm.String" />
                <Property Name="Description" Type="Edm.String" />
                <Property Name="Range" Type="Edm.String" />
            </ComplexType>
            <ComplexType Name="CoverageRange">
                <Property Name="Name" Type="Edm.String" Nullable="false" />
                <Property Name="DataType" Type="Edm.String" />
                <Property Name="AxisNames" Type="Collection(Edm.String)" />
                <Property Name="Shape" Type="Collection(Edm.Int32)" />
                <Property Name="Values" Type="Collection(Edm.Double)" />
            </ComplexType>
            <ComplexType Name="CoverageReference">
                <Property Name="Href" Type="Edm.String" Nullable="false" />
                <Property Name="Type" Type="Edm.String" />
                <Property Name="Role" Type="Edm.String" />
                <Property Name="Title" Type="Edm.String" />
            </ComplexType>
            <EntityType Name="Coverage">
                <Key>
                    <PropertyRef Name="Id" />
                </Key>
                <Property Name="Id" Type="Edm.String" Nullable="false" />
                <Property Name="Type" Type="Edm.String" Nullable="false" />
                <Property Name="Domain" Type="CoverageJsonModels.CoverageDomain" Nullable="false" />
                <Property Name="Parameters" Type="Collection(CoverageJsonModels.CoverageParameter)" />
                <Property Name="Ranges" Type="Collection(CoverageJsonModels.CoverageRange)" />
                <Property Name="References" Type="Collection(CoverageJsonModels.CoverageReference)" />
                <Property Name="Crs" Type="Edm.String" />
            </EntityType>
        </Schema>
        <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Default">
            <Function Name="intersects" IsBound="false">
                <Parameter Type="Edm.String" />
                <ReturnType Type="Edm.Boolean" Nullable="false" />
            </Function>
            <Function Name="distance" IsBound="false">
                <Parameter Type="Edm.String" />
                <ReturnType Type="Edm.Double" Nullable="false" />
            </Function>
            <Function Name="has" IsBound="false">
                <Parameter Type="Collection(Edm.String)" />
                <Parameter Type="Edm.String" />
                <ReturnType Type="Edm.Boolean" Nullable="false" />
            </Function>
            <EntityContainer Name="Container">
                <EntitySet Name="references" EntityType="DigitaleDeltaModels.Reference"/>
                <EntitySet Name="observations" EntityType="DigitaleDeltaModels.Observation"/>
            </EntityContainer>
        </Schema>
    </edmx:DataServices>
</edmx:Edmx>
