All Downloads are FREE. Search and download functionalities are using the official Maven repository.

core_dataquality.metamodel.metamodel.pure Maven / Gradle / Ivy

import meta::pure::metamodel::dataSpace::*;
import meta::pure::graphFetch::*;
import meta::pure::metamodel::constraint::*;
import meta::core::runtime::*;



Class meta::external::dataquality::DataQualityRootGraphFetchTree extends RootGraphFetchTree
[
  mustHaveAtLeastOnePropertyOrConstraint: $this.constraints->isNotEmpty() || $this.subTrees->isNotEmpty()
]
{
   constraints: Constraint[*]; 
   
}

Class meta::external::dataquality::DataQualityPropertyGraphFetchTree extends PropertyGraphFetchTree
{
  constraints: Constraint[*];
}

Class meta::external::dataquality::DataQuality extends PackageableElement
{
  context: meta::external::dataquality::DataQualityExecutionContext[1];
  validationTree: meta::external::dataquality::DataQualityRootGraphFetchTree[1];
  filter : LambdaFunction<{T[1]->Boolean[1]}>[0..1]; //typed params
}

Class meta::external::dataquality::DataQualityExecutionContext
{
}

Class meta::external::dataquality::MappingAndRuntimeDataQualityExecutionContext extends meta::external::dataquality::DataQualityExecutionContext
{
  mapping: meta::pure::mapping::Mapping[1];
  runtime: meta::core::runtime::Runtime[1];
}

Class meta::external::dataquality::DataSpaceDataQualityExecutionContext extends meta::external::dataquality::DataQualityExecutionContext
{
  dataSpace: DataSpace[1];
  contextName: String[1];
}

Class meta::external::dataquality::DataQualityRule
{
  constraintName: String[1];
  constraintType : String[1];
  constraintGrammar: String[1];
  propertyPath: String[1];
}

Class meta::external::dataquality::DataQualityRelationValidation extends PackageableElement
[
  mustHaveOneRuntime: ($this.runtime->isNotEmpty() || $this.query->meta::external::dataquality::isFromFunctionPresent()) && !($this.runtime->isNotEmpty() && $this.query->meta::external::dataquality::isFromFunctionPresent()) 
]
{
  query: LambdaFunction[1];                                         // should return a relation - enforced in compiler
  validations: meta::external::dataquality::RelationValidation[*];
  runtime: meta::core::runtime::Runtime[0..1];
}

Class meta::external::dataquality::RelationValidation
{
  name: String[1];
  description: String[0..1];
  assertion: LambdaFunction<{Nil[1]->Boolean[1]}>[1];
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy