====Limitations==== There are several features of the GraphQL language that are not fully supported //at this time//. If you find yourself in need of these features, please contact us - we may be able to add them to our development timeline. ===Unsupported Functions=== ==Queries Only== At the current time, GraphQL is only intended for //queries//. Mutations and Subscriptions are not available. ==Fragments== We currently do not support **Fragments** in GraphQL queries. ==Directives== Currently, directives such as **@skip** and **@include** are not supported. Note that the system only includes property values if they exist on the asset and does not raise errors if a property you're asking for doesn't exist. ===Differences in Behaviour=== ==Typename== As ARDI assets each have multiple types, the **__typename** metadata property returns a //list// of results rather than a single string. Results are in the natural (ie. ARDI) case, instead of [[camelCase|camelCase]]. ==Nested Queries== If you ask for related assets //without specifying the properties you want to see//, the system will use the properties used in the parent query. This means that the system will loop over all children, creating a nested query that will continue down through children, grand-children, great grand-children etc. ==Historical Parameter Duplication== The **range**, **from**, **to** and **sample** variables are copied to all children. Let's look at this in the following query. query MyQuery { machine(id: 46,range: "20 minutes") { name temperature inside { name speedActual } } } This searches for the **machine** with the ID number '46'. It reads the temperature, then finds all of the assets //inside// it. For each of those //child// assets, it reads the name and actual speed. Processing this in the traditional way, you'll have history for the //temperature//, but none for the //speed//, because you haven't specified a range on 'inside'. But because we copy these properties from parent to child (unless they're specifically overridden), //all// of the points will have history, since it's implied that the 'inside' assets have the same range and number of samples as the parent.