369 lines
7.6 KiB
GraphQL
Raw Normal View History

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
...canEditLineageFragment
... 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
createdOn
createdActor {
urn
type
... on CorpUser {
username
info {
displayName
}
properties {
displayName
}
editableProperties {
displayName
}
}
}
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!, $excludeUpstream: Boolean = false, $excludeDownstream: Boolean = false) {
entity(urn: $urn) {
urn
type
...lineageNodeProperties
...canEditLineageFragment
... 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 }
) @skip(if: $excludeUpstream) {
...fullLineageResults
}
downstream: lineage(
input: { direction: DOWNSTREAM, start: 0, count: 100, separateSiblings: $separateSiblings }
) @skip(if: $excludeDownstream) {
...fullLineageResults
}
}
}
}
fragment canEditLineageFragment on EntityWithRelationships {
... on Dataset {
privileges {
canEditLineage
}
}
... on Chart {
privileges {
canEditLineage
}
}
... on Dashboard {
privileges {
canEditLineage
}
}
... on DataJob {
privileges {
canEditLineage
}
}
}