Updates

See demos on X

Follow us

Receive product updates

Custom Data Types

Work seamlessly with data in different types

Cover Image

User-Defined Data Types

With convertible data types now generally available in HASH, we've finally also now rolled out the ability to create custom data types.

User-defined, custom data types unlock all kinds of exciting possibilities, not only strengthening data validation in HASH and making data more self-descriptive, but improving the utility of HASH workers as AI research assistants as well, helping ensure scraped data precisely meets your required form.

Rather than be bounded to those primitive data types which ship with HASH, which primarily cover common computing and SI units, you can now define your own data types which:

  • precisely describe the data you're working with, through constraints
  • where applicable, specify how these units of value can be mapped to others, through conversions
  • define how data of this type should be displayed in HASH, through unit labels (whether prefixed before like currency symbols such as /£/$, or affixed afterwards like temperature measures such as /)

Convertible Data Types

Work seamlessly with data in different types

Cover Image

Data Type Conversions

Following the introduction of data type inheritance, information stored as one data type can now be converted to another automatically within HASH for use in operations/calculations, or to normalize the appearance of data from across multiple entities stored divergently. To achieve this, a conversion "mapping" is stored from one data type to another "canonical" one within a group.

For example, children of the Length data type may include:

  • metric lengths stored as Centimeters (cm) or Milimeters (mm)
  • imperial lengths such as Feet (ft) and Inches (")
  • less common, specialist measures like Rack units (U) (commonly used in data centers) and Light-nanoseconds (the distance which a photon can travel in one billionth of a second).

Rather than require each data type to be mapped to each other data type, all conversions are routed via the "canonical" data type within Length.

In traditional datastores, when dealing with entities (rows) whos units of value are mixed, sorting a single column's values in ascending or descending order becomes a complicated multi-step job. In contrast, with convertible data types in HASH, the process requires no extra effort at all.

Convertible data types are also used by HASH's AI workers when conducting research and inferring data no your behalf. Their utilization vastly improves AI's ability to reason about inconsistently-formatted data, such as that found on the world wide web whose units of value and presentation differs across websites and even pages on single sites.

Other misc improvements

  • Inline errors: Validation errors are now shown when updating entities where required properties are missing, and when the minimum or maximuim number of items allowed in an array fails to match the number that are present.
  • Multi-file upload: Where multiple files are accepted for upload, these can now be selected and uploaded all at once, rather than individually.

PDF Viewing

Open PDF documents natively within HASH

Cover Image

Native PDF Support

Lots of our customer's workflows are oriented around PDFs and other documents: internal files that data is locked inside, academic articles containing nuggets to be mined, reports from regulators published on their portals, and other information sourced from the world wide web.

Until now, while HASH's AI workers could extract information from these files, store them for future reference, and make these mirrored copies available for download... it wasn't possible to view these files directly inside of HASH, which frequently meant interrupting human users' workflows to preview PDFs and other documents in external viewers and applications.

With today's update, it's now possible to view PDFs inline within HASH. Page thumbnails appear to the left of the currently selected page, zoom controls are provided, and a "full screen" button enables launching into a windowless focus mode that assists in reading longer documents.

As always, files themselves continue to be parsed upon ingest or upload into HASH, with metadata and other key information extracted automatically. Today's changes simply make it easier to do more of your work in HASH, without switching to other applications.


Plural & Inverse Relationships

Improved labeling and display of type names

Cover Image

Collective plurals

In many cases, in English, you can just add "s" to the end of a word to arrive at its plural form. But this isn't always the case. For example:

  • "canvas" becomes "canvases", not "canvass";
  • "person" becomes "people" (at least when used as a collective noun); and
  • "sheep" remains "sheep" (go figure).

As such, when creating types, you'll now be given the chance to insert the collective plural form of the type's name, in addition to its singular form. We'll use that collective form of an entity type's name when referring to multiple instances of it in the HASH user interface.

To keep the process of creating types quick and simple, we'll try to autosuggest the pluralized version of a type's name you might want to use when you enter its singular form. Please check this is correct before continuing to avoid confusion down the line.

Currently, pluralized type names are only supported for languages that have a single "plural" form of a name, rather than multiple... as we're aware some languages do (as many as six!) We have no immediate plans to introduce support for foreign-language use of HASH, but it is on our long-term roadmap. If you have a use case that would benefit, please contact us so that we can prioritize development work that supports you.

Inverse relationships

For link types, you can now set the 'inverse' name that will be used when referring to the relationship in reverse. For example, the inverse of an "Employed by" link connecting an employee to their employer may be "Employs".


Multi-Type Entities

Assign multiple types to an entity

Cover Image

Create entities with more than one type

Entities can now have multiple entity types (e.g. Arnold Schwarzenegger, a Person, Actor, Bodybuilder and Politician). This lets an entity inherit attributes (expected properties and links) from more than one different entity type, greatly enhancing the real-world usability of the graph for modeling data. A more likely business example might be a Company that is also a Customer and/or Supplier, or a Person who is also an Employee.

Create a free account

Sign up to try HASH out for yourself, and see what all the fuss is about

By signing up you agree to our terms and conditions and privacy policy