Problem with Relationship Property

I have Companies and Assets nodes with a relationship, HAS_ASSET that has a property 'workingInterest':
(c:Company)-[:HAS_ASSET]->(a:Asset)

if I define my schema like so:

Asset {
  assetId: Int
  name: String
  companies: [Company] @relation(name:"HAS_ASSET", direction: IN)
}

type Company {
  name: String
  assets: [Asset] @relation(name: "HAS_ASSET", direction:OUT)
}

all is well except I need the 'workingInterest', so I tried:

Asset {
  assetId: Int
  name: String
  companies: [AssetDetail] 
}

type Company {
  name: String
  assets: [AssetDetail]
}

type AssetDetail @relation(name: "HAS_ASSET") {
    from: Company
    to: Asset
    workingInterest: Float
}

I get an empty array for assets in Company and companies in Asset. Any suggestions on how to debug this would be appreciated.

Is this with the database plugin or the neo4j-graphql.js library? Can you share the generated Cypher query (should be in the logs).

1 Like

William,

I just realized I never followed up on this.

I am using the database plugin.

the details from the log:

MATCH (asset:Asset)
RETURN graphql.labels(asset) AS _labels,
asset.assetId AS assetId,
asset.name AS name,
[ (asset)-[:companies]->(asset_companies:AssetDetail) | asset_companies {_labels : graphql.labels(asset_companies), from : head([ (asset_companies)-[:from]->(asset_companies_from:Company) | asset_companies_from {_labels : graphql.labels(asset_companies_from), .name}]), .workingInterest}] AS companies
LIMIT 10