From 731ef8432f1d358eb7e303bbd7ca22261cba9f4f Mon Sep 17 00:00:00 2001 From: Rohan Juneja Date: Tue, 4 Apr 2023 18:48:42 -0700 Subject: [PATCH 1/6] association/qualifiers in meta knowledge graph --- .../async_operations_builder_with_reasoner.ts | 4 +++- .../sync_operations_builder_with_reasoner.ts | 4 +++- src/parser/endpoint.ts | 1 + src/parser/types.ts | 2 ++ src/types.ts | 3 ++- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/operations_builder/async_operations_builder_with_reasoner.ts b/src/operations_builder/async_operations_builder_with_reasoner.ts index fb6d5e9..165f7c0 100644 --- a/src/operations_builder/async_operations_builder_with_reasoner.ts +++ b/src/operations_builder/async_operations_builder_with_reasoner.ts @@ -67,9 +67,11 @@ export default class AsyncOperationsBuilderWithReasoner extends AsyncOperationsB association: { input_type: this.removeBioLinkPrefix(sbj), output_type: this.removeBioLinkPrefix(obj), - predicate: this.removeBioLinkPrefix(pred), + predicate: this.removeBioLinkPrefix(typeof(pred) === "string" ? pred : pred.predicate), api_name: metadata.title, smartapi: metadata.smartapi, + association_id: typeof(pred) === "string" ? undefined : pred.association_id, + qualifiers: typeof(pred) === "string" ? undefined : pred.qualifiers, "x-translator": metadata["x-translator"], }, tags: [...metadata.tags, ...["bte-trapi"]], diff --git a/src/operations_builder/sync_operations_builder_with_reasoner.ts b/src/operations_builder/sync_operations_builder_with_reasoner.ts index 8fed28c..c723e86 100644 --- a/src/operations_builder/sync_operations_builder_with_reasoner.ts +++ b/src/operations_builder/sync_operations_builder_with_reasoner.ts @@ -48,9 +48,11 @@ export default class SyncOperationsBuilderWithReasoner extends BaseOperationsBui input_id: metadata?.nodes?.[sbj]?.id_prefixes, output_type: this.removeBioLinkPrefix(obj), output_id: metadata?.nodes?.[obj]?.id_prefixes, - predicate: this.removeBioLinkPrefix(pred), + predicate: this.removeBioLinkPrefix(typeof(pred) === "string" ? pred : pred.predicate), api_name: metadata.association.api_name, smartapi: metadata.association.smartapi, + association_id: typeof(pred) === "string" ? undefined : pred.association_id, + qualifiers: typeof(pred) === "string" ? undefined : pred.qualifiers, "x-translator": metadata.association["x-translator"], "x-trapi": metadata.association["x-trapi"], }, diff --git a/src/parser/endpoint.ts b/src/parser/endpoint.ts index b92a082..82d0a52 100644 --- a/src/parser/endpoint.ts +++ b/src/parser/endpoint.ts @@ -84,6 +84,7 @@ export default class Endpoint { output_id: this.removeBioLinkPrefix(output.id), output_type: this.removeBioLinkPrefix(output.semantic), predicate: this.removeBioLinkPrefix(op.predicate), + association_id: this.removeBioLinkPrefix(op.association_id), qualifiers: op.qualifiers ? Object.fromEntries( Object.entries(op.qualifiers).map(([qualifierType, qualifier]) => [ diff --git a/src/parser/types.ts b/src/parser/types.ts index 15cc99b..346eb89 100644 --- a/src/parser/types.ts +++ b/src/parser/types.ts @@ -111,6 +111,7 @@ export interface XBTEKGSOperationObject { inputs: XBTEKGSOperationBioEntityObject[]; outputs: XBTEKGSOperationBioEntityObject[]; predicate: string; + association_id: string; qualifiers?: { [qualifierType: string]: string; }; source?: string; parameters?: XBTEParametersObject; @@ -158,6 +159,7 @@ interface KGAssociationObject { api_name?: string; component?: string; smartapi?: SmartAPIRegistryRecordObject; + association_id: string; "x-translator"?: any; "x-trapi"?: XTRAPIObject; qualifiers?: { diff --git a/src/types.ts b/src/types.ts index 839c17f..aff85f9 100644 --- a/src/types.ts +++ b/src/types.ts @@ -37,6 +37,7 @@ interface PredicatesQueryOperationInterface { interface PredicatesAssociationInterface { api_name: string; smartapi: SmartAPIRegistryRecordObject; + association_id: string; "x-translator": any; "x-trapi"?: XTRAPIObject; } @@ -58,7 +59,7 @@ interface PredicatesNode { } interface ReasonerSubjectAndPredicate { - [propName: string]: string[]; + [propName: string]: any[]; } export interface ReasonerPredicatesResponse { From 0726f1c5cfa7755af82b03fbd22dad6ac7345223 Mon Sep 17 00:00:00 2001 From: Rohan Juneja Date: Tue, 4 Apr 2023 18:58:34 -0700 Subject: [PATCH 2/6] association id optional --- src/parser/types.ts | 4 ++-- src/types.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/parser/types.ts b/src/parser/types.ts index 346eb89..7816640 100644 --- a/src/parser/types.ts +++ b/src/parser/types.ts @@ -111,7 +111,7 @@ export interface XBTEKGSOperationObject { inputs: XBTEKGSOperationBioEntityObject[]; outputs: XBTEKGSOperationBioEntityObject[]; predicate: string; - association_id: string; + association_id?: string; qualifiers?: { [qualifierType: string]: string; }; source?: string; parameters?: XBTEParametersObject; @@ -159,7 +159,7 @@ interface KGAssociationObject { api_name?: string; component?: string; smartapi?: SmartAPIRegistryRecordObject; - association_id: string; + association_id?: string; "x-translator"?: any; "x-trapi"?: XTRAPIObject; qualifiers?: { diff --git a/src/types.ts b/src/types.ts index aff85f9..6150c68 100644 --- a/src/types.ts +++ b/src/types.ts @@ -37,7 +37,7 @@ interface PredicatesQueryOperationInterface { interface PredicatesAssociationInterface { api_name: string; smartapi: SmartAPIRegistryRecordObject; - association_id: string; + association_id?: string; "x-translator": any; "x-trapi"?: XTRAPIObject; } From f95b5ad70d701625ee8376d7c79b53bd5352799e Mon Sep 17 00:00:00 2001 From: Rohan Juneja Date: Wed, 12 Apr 2023 13:45:04 -0700 Subject: [PATCH 3/6] move association to its own branch --- .../async_operations_builder_with_reasoner.ts | 1 - src/operations_builder/sync_operations_builder_with_reasoner.ts | 1 - src/parser/endpoint.ts | 1 - src/parser/types.ts | 2 -- src/types.ts | 1 - 5 files changed, 6 deletions(-) diff --git a/src/operations_builder/async_operations_builder_with_reasoner.ts b/src/operations_builder/async_operations_builder_with_reasoner.ts index 165f7c0..b1c2ec7 100644 --- a/src/operations_builder/async_operations_builder_with_reasoner.ts +++ b/src/operations_builder/async_operations_builder_with_reasoner.ts @@ -70,7 +70,6 @@ export default class AsyncOperationsBuilderWithReasoner extends AsyncOperationsB predicate: this.removeBioLinkPrefix(typeof(pred) === "string" ? pred : pred.predicate), api_name: metadata.title, smartapi: metadata.smartapi, - association_id: typeof(pred) === "string" ? undefined : pred.association_id, qualifiers: typeof(pred) === "string" ? undefined : pred.qualifiers, "x-translator": metadata["x-translator"], }, diff --git a/src/operations_builder/sync_operations_builder_with_reasoner.ts b/src/operations_builder/sync_operations_builder_with_reasoner.ts index c723e86..63c4ce6 100644 --- a/src/operations_builder/sync_operations_builder_with_reasoner.ts +++ b/src/operations_builder/sync_operations_builder_with_reasoner.ts @@ -51,7 +51,6 @@ export default class SyncOperationsBuilderWithReasoner extends BaseOperationsBui predicate: this.removeBioLinkPrefix(typeof(pred) === "string" ? pred : pred.predicate), api_name: metadata.association.api_name, smartapi: metadata.association.smartapi, - association_id: typeof(pred) === "string" ? undefined : pred.association_id, qualifiers: typeof(pred) === "string" ? undefined : pred.qualifiers, "x-translator": metadata.association["x-translator"], "x-trapi": metadata.association["x-trapi"], diff --git a/src/parser/endpoint.ts b/src/parser/endpoint.ts index 82d0a52..b92a082 100644 --- a/src/parser/endpoint.ts +++ b/src/parser/endpoint.ts @@ -84,7 +84,6 @@ export default class Endpoint { output_id: this.removeBioLinkPrefix(output.id), output_type: this.removeBioLinkPrefix(output.semantic), predicate: this.removeBioLinkPrefix(op.predicate), - association_id: this.removeBioLinkPrefix(op.association_id), qualifiers: op.qualifiers ? Object.fromEntries( Object.entries(op.qualifiers).map(([qualifierType, qualifier]) => [ diff --git a/src/parser/types.ts b/src/parser/types.ts index 7816640..15cc99b 100644 --- a/src/parser/types.ts +++ b/src/parser/types.ts @@ -111,7 +111,6 @@ export interface XBTEKGSOperationObject { inputs: XBTEKGSOperationBioEntityObject[]; outputs: XBTEKGSOperationBioEntityObject[]; predicate: string; - association_id?: string; qualifiers?: { [qualifierType: string]: string; }; source?: string; parameters?: XBTEParametersObject; @@ -159,7 +158,6 @@ interface KGAssociationObject { api_name?: string; component?: string; smartapi?: SmartAPIRegistryRecordObject; - association_id?: string; "x-translator"?: any; "x-trapi"?: XTRAPIObject; qualifiers?: { diff --git a/src/types.ts b/src/types.ts index 6150c68..809185f 100644 --- a/src/types.ts +++ b/src/types.ts @@ -37,7 +37,6 @@ interface PredicatesQueryOperationInterface { interface PredicatesAssociationInterface { api_name: string; smartapi: SmartAPIRegistryRecordObject; - association_id?: string; "x-translator": any; "x-trapi"?: XTRAPIObject; } From 0468697f4e694c4be4f2d069650a4bd039f77eee Mon Sep 17 00:00:00 2001 From: Rohan Juneja Date: Wed, 12 Apr 2023 13:49:38 -0700 Subject: [PATCH 4/6] support association being supplied --- .../async_operations_builder_with_reasoner.ts | 1 + src/operations_builder/sync_operations_builder_with_reasoner.ts | 1 + src/parser/endpoint.ts | 1 + src/parser/types.ts | 2 ++ src/types.ts | 1 + 5 files changed, 6 insertions(+) diff --git a/src/operations_builder/async_operations_builder_with_reasoner.ts b/src/operations_builder/async_operations_builder_with_reasoner.ts index b1c2ec7..165f7c0 100644 --- a/src/operations_builder/async_operations_builder_with_reasoner.ts +++ b/src/operations_builder/async_operations_builder_with_reasoner.ts @@ -70,6 +70,7 @@ export default class AsyncOperationsBuilderWithReasoner extends AsyncOperationsB predicate: this.removeBioLinkPrefix(typeof(pred) === "string" ? pred : pred.predicate), api_name: metadata.title, smartapi: metadata.smartapi, + association_id: typeof(pred) === "string" ? undefined : pred.association_id, qualifiers: typeof(pred) === "string" ? undefined : pred.qualifiers, "x-translator": metadata["x-translator"], }, diff --git a/src/operations_builder/sync_operations_builder_with_reasoner.ts b/src/operations_builder/sync_operations_builder_with_reasoner.ts index 63c4ce6..c723e86 100644 --- a/src/operations_builder/sync_operations_builder_with_reasoner.ts +++ b/src/operations_builder/sync_operations_builder_with_reasoner.ts @@ -51,6 +51,7 @@ export default class SyncOperationsBuilderWithReasoner extends BaseOperationsBui predicate: this.removeBioLinkPrefix(typeof(pred) === "string" ? pred : pred.predicate), api_name: metadata.association.api_name, smartapi: metadata.association.smartapi, + association_id: typeof(pred) === "string" ? undefined : pred.association_id, qualifiers: typeof(pred) === "string" ? undefined : pred.qualifiers, "x-translator": metadata.association["x-translator"], "x-trapi": metadata.association["x-trapi"], diff --git a/src/parser/endpoint.ts b/src/parser/endpoint.ts index b92a082..82d0a52 100644 --- a/src/parser/endpoint.ts +++ b/src/parser/endpoint.ts @@ -84,6 +84,7 @@ export default class Endpoint { output_id: this.removeBioLinkPrefix(output.id), output_type: this.removeBioLinkPrefix(output.semantic), predicate: this.removeBioLinkPrefix(op.predicate), + association_id: this.removeBioLinkPrefix(op.association_id), qualifiers: op.qualifiers ? Object.fromEntries( Object.entries(op.qualifiers).map(([qualifierType, qualifier]) => [ diff --git a/src/parser/types.ts b/src/parser/types.ts index 15cc99b..7816640 100644 --- a/src/parser/types.ts +++ b/src/parser/types.ts @@ -111,6 +111,7 @@ export interface XBTEKGSOperationObject { inputs: XBTEKGSOperationBioEntityObject[]; outputs: XBTEKGSOperationBioEntityObject[]; predicate: string; + association_id?: string; qualifiers?: { [qualifierType: string]: string; }; source?: string; parameters?: XBTEParametersObject; @@ -158,6 +159,7 @@ interface KGAssociationObject { api_name?: string; component?: string; smartapi?: SmartAPIRegistryRecordObject; + association_id?: string; "x-translator"?: any; "x-trapi"?: XTRAPIObject; qualifiers?: { diff --git a/src/types.ts b/src/types.ts index 809185f..6150c68 100644 --- a/src/types.ts +++ b/src/types.ts @@ -37,6 +37,7 @@ interface PredicatesQueryOperationInterface { interface PredicatesAssociationInterface { api_name: string; smartapi: SmartAPIRegistryRecordObject; + association_id?: string; "x-translator": any; "x-trapi"?: XTRAPIObject; } From cd2692f9ca587d9e2e35ff60fcf99839e6171cee Mon Sep 17 00:00:00 2001 From: Rohan Juneja Date: Wed, 12 Apr 2023 14:03:11 -0700 Subject: [PATCH 5/6] change associatino name in x-bte --- src/parser/endpoint.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parser/endpoint.ts b/src/parser/endpoint.ts index 82d0a52..7c622d5 100644 --- a/src/parser/endpoint.ts +++ b/src/parser/endpoint.ts @@ -84,7 +84,7 @@ export default class Endpoint { output_id: this.removeBioLinkPrefix(output.id), output_type: this.removeBioLinkPrefix(output.semantic), predicate: this.removeBioLinkPrefix(op.predicate), - association_id: this.removeBioLinkPrefix(op.association_id), + association_id: this.removeBioLinkPrefix(op.biolink_association_type), qualifiers: op.qualifiers ? Object.fromEntries( Object.entries(op.qualifiers).map(([qualifierType, qualifier]) => [ From 867987a33a1a968959056aaa7b2df9f83cb54d6d Mon Sep 17 00:00:00 2001 From: Rohan Juneja Date: Wed, 12 Apr 2023 14:35:47 -0700 Subject: [PATCH 6/6] fix types --- src/parser/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/parser/types.ts b/src/parser/types.ts index 7816640..9989e6e 100644 --- a/src/parser/types.ts +++ b/src/parser/types.ts @@ -111,7 +111,7 @@ export interface XBTEKGSOperationObject { inputs: XBTEKGSOperationBioEntityObject[]; outputs: XBTEKGSOperationBioEntityObject[]; predicate: string; - association_id?: string; + biolink_association_type?: string; qualifiers?: { [qualifierType: string]: string; }; source?: string; parameters?: XBTEParametersObject;