-
Notifications
You must be signed in to change notification settings - Fork 211
Legend FAQs
Legend is an open sourced end-to-end data management and data governance platform that enables both technical and non-technical users to develop data-centric applications and derive data-driven insights. It provides solutions to data problems that especially firms in the financial industry face on a day-to-day basis – namely gaining access to accurate, complete and timely information. Traditionally, complex financial data is hard to process efficiently and safely which is why data usually ends up scattered across organizational silos. Legend addresses these industry-wide data challenges with its intuitive approach to data modelling and processing. Legend provides both developers and non-developers with access to fast, easy and secure information via intuitive and self-service driven tools. It offers solutions for data discovery, transformation and delivery while ensuring the data consumed is of the highest quality. Legend’s most winning attributes are the easy-to-create data models which describe data in business-friendly terms. The platform is also backed by a powerful Execution Engine, which enables users to leverage their data models in numerous business workflows, and robust Change Management (SDLC), ensuring data models are governed and safe to use in live business processes.
Please visit the Legend website. https://legend.finos.org/docs/getting-started/getting-started-guide
Legend provides a full, end-to-end data platform experience covering the full life cycle of data. It will help you tackle various internal data problems - including but not limited to - access to accurate, complete and timely data as well as breaking down data silos. Front and center of the data platform is the data modeling tool Legend Studio which allows engineers and non-engineers alike to describe, connect, visualize, and query data to increase efficiency and cross-divisional collaboration. As Legend is open sourced, you can also connect to a variety of industry standards (such as the CDM) in the form of data models.
Firstly, through facilitating the collaborative development of industry standard models using Legend Studio which will help lower barriers to entry for FinTech companies. Secondly, as FinTech companies provide solutions to industry challenges, Legend can be used to help participants (buy and sell side) map and integrate with their solutions for easier adoption.
No, Legend can be installed and runs completely independent of GS infrastructure. GS consumes the open sourced version of Legend just as other financial institutions do.
Complex Data Types: Does Legend support common complex data types that can be utilized by many models?
Yes, Legend supports common complex data types. For example, you can define a Money class that can be re-used by many models. How? Users can create a common project and depend on it (note: project dependencies are not yet fully open sourced).
Yes, Legend supports common classes. See also question 1.a. Users can group common classes into a single project and depend on it (note: project dependencies are not yet fully open sourced).
Regular Expression matches: How do we add a regular expression check for a constraint? Example I want the property to be nonemptystring allowing only alpha & numeric.
This would be handled via the matches function in Legend PURE. It is not yet open sourced.
Uniqueness constraint: Is there any existing function that can be used to implement the uniqueness constraint on a model parameter? Can you share an example of how it could be used?
Constraint syntax: uniqueEmployee: $this.employee->size() == $this.employee->distinct()->size() [Pending link to showcase model]
Re-usable constraints: How and where should I build reusable constraints to optimize the Modeling experience? For example, if all of my string properties are to be validated a certain way, how do I create reusable functions & reuse them?
Legend allows you to write constraints on classes that can be re-used. For example, if you define the constraint on "Money" class that the quantity must be greater than zero, then that constraint is checked when you perform queries on top of the "Money" class. Is is not possible to apply constraints on the primitive data types (e.g. string, number). The Legend team is looking into adding this feature. As a workaround, users can create a non-primitive class that resembles the primitive class.
Yes, via Profiles which can be used to create and add stereotypes (=labels) and tagged values (=free-text additions) to build metadata extensions to your data models.
Does Legend allow you to express mutually exclusive classes/sub types? For example class1 "Married Person" and class2 "Unmarried Person".
This is not supported. However, Legend does allow you to express this exclusivity via constraints.
What are some general best practices for setting up the project structure in Legend for larger organizations?
This very much depends on how the organization wants to manage their data models. It may be recommended setting up projects along data domains with versioned dependencies between them. This facilitates change management. Legend supports workspaces for developers to implement features, but all changes are merged back to the master branch and releases are driven by the master.
Yes, you have to be in the root class to be able to generate JSON Schema but as a user in the UI, you can simply click on the top right hand corner where it says FORM to produce any schema formats such as JSON, Protobuf, etc. You can also perform the same action via a Service call to SDLC & Legend Engine
Yes, this is supported but users need to be added to the underlying GitLab project for authorization. Sharing diagrams as an endpoint/url is not supported but the data model as a whole is.
Do you have any specific information about how Legend integrates with the BI tools, which services does Legend provide to business intelligence tools, and how do the users of the BI tools benefit from these integrations?
Internally, the Legend Query and Cube components provide data to BI tools either through services (APIs) or as direct queries (by accessing the Legend platform using SQL through Presto). BI tools need curated/governed data and Legend can smoothly integrate with these tools (not replace them!) via pipelines. Legend Query is already open sourced and would allow you to build these integrations locally but the set up would be specific to your environment. Happy to discuss this in more detail with everyone who is interested.
Does the diagram view support creating different colors or line formats to make the data model easier to read?
Not yet, but we will likely add in the future.
We just reworked the diagram editor. You now interact with the diagram more intuitively and can directly create property, class, inheritance relationship in the diagram.
The PURE language currently supports: Classes, Associations (with cardinality), Qualified Associations, Inheritance, Enumerations, Tagged Values, Stereotypes and Annotations.
Is their ability to export the list of attributes in a data model with their types, definitions etc.?
Legend allows exporting to a number of formats such as JSON Schema, Protobuf & AVRO but CSV or XLS is not yet supported.
There are two formats supported by the Model Loader: Entity and Pure Protocol, JSON schemas are not currently fully supported (Legend team is working on it). Of the two, the Entity format is the most appropriate for model migration here since it is Pure agnostic and simpler. Examples of the Entity format may be created in Studio by selecting 'JSON' when viewing a model (in Forms mode), the result is wrapped in "content" element along with a "classifierPath".
Yes, this is possible via the union operation. Please see example in the Legend showcase project (#4) [link to be added].
Please find the installation guide on the Legend website here: https://legend.finos.org/docs/installation/installation-guide
Please refer to https://legend.finos.org/releases for finding the latest releases & release notes.
We currently support Maven install, AWS Docker Install, Docker Compose. See details here: https://legend.finos.org/docs/installation/installation-guide
The CDM can only be accessed through the shared version of Legend hosted by FINOS. Access can be requested here: https://www.finos.org/legend The CDM will not be accessible via locally installed versions of Legend.
You can simply submit for review your proposed model changes within Studio, and the project members will get notified. If instead the enhancement needs collaboration and further discussion with members, then you can raise a Github issue in the Financial Objects Repository with the proposal, and the FINOS team will gauge interest from the community. https://github.com/finos/financial-objects/issues
What is the approval process for proposed changes to models maintained in the public instance of Legend (e.g. ISDA's CDM)?
Legend currently leverages Gitlab SDLC for approving and merging data model changes. Code review is initiated through Studio and changes are then able to be viewed in GitLab before approval. This means, model changes can be completely managed in the Studio UI. Generally, we encourage users working on data models to customize their own approval process leveraging out of the box GitLab functionality. For the CDM specifically, the ISDA ARC offer governance and review of changes before being able to commit back to the golden source in Rosetta.
- For Legend Users
- For Legend Maintainers