fragment lineageNodeProperties on EntityWithRelationships { urn type ... on DataJob { urn type dataFlow { ...nonRecursiveDataFlowFields } jobId ownership { ...ownershipFields } properties { name description externalUrl customProperties { key value } } globalTags { ...globalTagsFields } glossaryTerms { ...glossaryTerms } domain { ...entityDomain } deprecation { ...deprecationFields } dataPlatformInstance { ...dataPlatformInstanceFields } editableProperties { description } status { removed } } ... on DataFlow { orchestrator flowId cluster properties { name description project } ownership { ...ownershipFields } globalTags { ...globalTagsFields } glossaryTerms { ...glossaryTerms } editableProperties { description } platform { ...platformFields } domain { ...entityDomain } status { removed } } ... on Dashboard { urn type tool dashboardId properties { name description externalUrl lastRefreshed created { time } lastModified { time } } ownership { ...ownershipFields } globalTags { ...globalTagsFields } glossaryTerms { ...glossaryTerms } platform { ...platformFields } domain { ...entityDomain } parentContainers { ...parentContainersFields } status { removed } deprecation { ...deprecationFields } dataPlatformInstance { ...dataPlatformInstanceFields } editableProperties { description } status { removed } subTypes { typeNames } } ... on Chart { tool chartId properties { name description } editableProperties { description } ownership { ...ownershipFields } platform { ...platformFields } domain { ...entityDomain } status { removed } } ... on Dataset { name properties { name description qualifiedName } editableProperties { description } platform { ...platformFields } ownership { ...ownershipFields } subTypes { typeNames } status { removed } fineGrainedLineages { upstreams { urn path } downstreams { urn path } } } ... on MLModelGroup { urn type name description origin platform { ...platformFields } ownership { ...ownershipFields } status { removed } } ... on MLModel { urn type name description origin platform { ...platformFields } ownership { ...ownershipFields } status { removed } } ... on MLFeatureTable { ...nonRecursiveMLFeatureTable } ... on MLFeature { ...nonRecursiveMLFeature } ... on MLPrimaryKey { ...nonRecursiveMLPrimaryKey } } fragment lineageFields on EntityWithRelationships { ...lineageNodeProperties ... on Dataset { siblings { isPrimary siblings { urn type ...lineageNodeProperties } } } upstream: lineage(input: { direction: UPSTREAM, start: 0, count: 100, separateSiblings: $separateSiblings }) { ...leafLineageResults } downstream: lineage(input: { direction: DOWNSTREAM, start: 0, count: 100, separateSiblings: $separateSiblings }) { ...leafLineageResults } } fragment fullLineageResults on EntityLineageResult { start count total relationships { type entity { ...lineageFields ... on Dataset { schemaMetadata(version: 0)@include(if: $showColumns) { ...schemaMetadataFields } } ... on Chart { inputFields @include(if: $showColumns) { ...inputFieldsFields } } } } } fragment leafLineageResults on EntityLineageResult { start count total relationships { type entity { urn type } } } fragment partialLineageResults on EntityLineageResult { start count total } query getEntityLineage($urn: String!, $separateSiblings: Boolean, $showColumns: Boolean!) { entity(urn: $urn) { urn type ...lineageNodeProperties ... on Dataset { schemaMetadata(version: 0)@include(if: $showColumns) { ...schemaMetadataFields } siblings { isPrimary siblings { urn type ...lineageNodeProperties } } } ... on Chart { inputFields @include(if: $showColumns) { ...inputFieldsFields } } ... on EntityWithRelationships { upstream: lineage( input: { direction: UPSTREAM, start: 0, count: 100, separateSiblings: $separateSiblings } ) { ...fullLineageResults } downstream: lineage( input: { direction: DOWNSTREAM, start: 0, count: 100, separateSiblings: $separateSiblings } ) { ...fullLineageResults } } } }