Joins Metadata Endpoints

Left Non Matching Rows

GET /api/repositories/(string: repository)/joins/(string: joinId)/leftnomatchrows

Lists rows on the left hand side that did not join

GET /api/repositories/jupiter/joins/1-1_2_3_4-3-1_2_3_4-2/leftnomatchrows HTTP/1.1
Accept: application/json
Response Code Reason
200 No error
500 Server error

The response will be a Standard Response, with a list of not matching rows on the left side of the join.

Right Non Matching Rows

GET /api/repositories/(string: repository)/joins/(string: joinId)/rightnomatchrows

Lists rows on the right hand side that did not join

GET /api/repositories/jupiter/joins/1-1_2_3_4-3-1_2_3_4-2/rightnomatchrows HTTP/1.1
Accept: application/json
Response Code Reason
200 No error
500 Server error

The response will be a Standard Response, with a list of not matching rows on the right side of the join.

Inner Joined Rows

GET /api/repositories/(string: repository)/joins/(string: joinId)/innerrows

Lists rows in the inner join - joining rows only

GET /api/repositories/jupiter/joins/1-1_2_3_4-3-1_2_3_4-2/innerrows HTTP/1.1
Accept: application/json
Response Code Reason
200 No error
500 Server error

The response will be a Standard Response, with a list of inner joining rows. The column names is in the form of L_e<entity_id>:<column name> for left hand side columns and R_e<entity_id>:<column name> for right hand side columns.

Outer Joined Rows

GET /api/repositories/(string: repository)/joins/(string: joinId)/outerrows

Lists rows in the outer join - joining rows and non-joining rows from both sides

GET /api/repositories/jupiter/joins/1-1_2_3_4-3-1_2_3_4-2/innerrows HTTP/1.1
Accept: application/json
Response Code Reason
200 No error
500 Server error

The response will be a Standard Response, with a list of outer joining rows. The column names is in the form of L_e<entity_id>:<column name> for left hand side columns and R_e<entity_id>:<column name> for right hand side columns.

Left Outer Joined Rows

GET /api/repositories/(string: repository)/joins/(string: joinId)/leftouterrows

Lists rows in the left outer join - joining rows and non-joining left rows

GET /api/repositories/jupiter/joins/1-1_2_3_4-3-1_2_3_4-2/leftouterrows HTTP/1.1
Accept: application/json
Response Code Reason
200 No error
500 Server error

The response will be a Standard Response, with a list of rows in the left outer join. The column names is in the form of L_e<entity_id>:<column name> for left hand side columns and R_e<entity_id>:<column name> for right hand side columns.

Right Outer Joined Rows

GET /api/repositories/(string: repository)/joins/(string: joinId)/rightouterrows

Lists rows in the right outer join - joining rows and non-joining right rows

GET /api/repositories/jupiter/joins/1-1_2_3_4-3-1_2_3_4-2/rightouterrows HTTP/1.1
Accept: application/json
Response Code Reason
200 No error
500 Server error

The response will be a Standard Response, with a list of rows in the right outer join. The column names is in the form of L_e<entity_id>:<column name> for left hand side columns and R_e<entity_id>:<column name> for right hand side columns.

Venn Diagram

GET /api/repositories/(string: repository)/joins/(string: joinId)/venndiagram

This view will bring back a single row of information for a particular join. The Venn component will access the information by position in most cases.

GET /api/repositories/jupiter/joins/1-1_2_3_4-3-1_2_3_4-2/venndiagram HTTP/1.1
Accept: application/json
Response Code Reason
200 No error
500 Server error

The response will be a Standard Response, with a single row of venn diagram information.

The columns displayed are:

Human Name Column Name Description
_LhsJoinLabel Left Name The (humanised) combined name of the entity and attributes on the left hand side of the join.
_LhsNullText Left Nulls Distribution of null values on the left hand side.
_left_not_match_values Left no match values Total non-matching values on left hand side of the join
_left_not_match_rows Left no match rows This is the total non-matching rows on the left hand side of the join
_LhsCardinality Left Cardinality Left hand side of the exact cardinality.
_RhsJoinLabel Right name The (humanised) combined name of the entity and attributes on the left hand side of the join.
_RhsNullText Right nulls Distribution of null values on the right hand side.
_right_not_match_values Right no match values This is the total non-matching values on right hand side of the join
_right_not_match_rows Right no match rows This is the total non-matching rows on the right hand side of the join
_RhsCardinality Right Cardinality The right hand side of the exact cardinality.
_common_values Matching Values Total matching values (values common to both sides)
_inner_product Matching rows Total matching rows (rows containing matching values)
_TotalRows Total rows The total number of rows involved in the join.

The rows array will contain one row for the venn diagram information:

{
    "dataRow": [
        "Train Accounts(1) filtered : Account_id, Customer_id, Account_rep, Billing_address1 (value)",
        "",
        "0",
        "(0)",
        "1.004",
        "Train Accounts(3) filtered : Account_id, Customer_id, Account_rep, Billing_address1 (value)",
        "",
        "0",
        "(0)",
        "1.004",
        "1597",
        "(1618)",
        "1618"
    ]
}

Join Matching Values

GET /api/repositories/(string: repository)/joins/(string: joinId)/matchingvalues

Lists distinct joined rows. Only displays values where both LEFT & RIGHT frequency are non-zero

GET /api/repositories/jupiter/joins/1-1_2_3_4-3-1_2_3_4-2/matchingvalues HTTP/1.1
Accept: application/json
Response Code Reason
200 No error
500 Server error

The columns displayed are:

Human Name Column Name Description
value<pos> Component <pos+1> <LHS_ENTITYID>.{LHS_ATTRIBUTE} = <RHS_ENTITYID>.{RHS_ATTRIBUTE}
LEFT Left Frequency The number of times this value occurs in the Left Hand Side entity.
RIGHT Right Frequency The number of times this value occurs in the Right Hand Side entity.
_product Join Product The number of joined rows produced by this value.

pos in the above table is the position of the join expression in the join. There will be n components where n is the number of attribute on which joins is created.

Example of columns:

 {
   "columns": [
       {
            "columnisedName": "value0",
            "humanisedName": "Component 1",
            "description": "1.{Account_id} = 3.{Account_id}"
       },
       {
            "columnisedName": "value1",
            "humanisedName": "Component 2",
            "description": "1.{Customer_id} = 3.{Customer_id}"
       },
       {
            "columnisedName": "value2",
            "humanisedName": "Component 3",
            "description": "1.{Account_rep} = 3.{Account_rep}"
       },
       {
            "columnisedName": "value3",
            "humanisedName": "Component 4",
            "description": "1.{Billing_address1} = 3.{Billing_address1}"
       },
       {
            "columnisedName": "LEFT",
            "humanisedName": "Left Frequency",
            "description": "The number of times this value occurs in the Left Hand Side entity."
       },
       {
            "columnisedName": "RIGHT",
            "humanisedName": "Right Frequency",
            "description": "The number of times this value occurs in the Right Hand Side entity."
       },
       {
            "columnisedName": "_product",
            "humanisedName": "Join Product",
            "description": "The number of joined rows produced by this value."
       }
]
}

The response will be a Standard Response, with a list of distinct joined rows.

{
   "dataRow": [
       "71002",
       "A00855",
       "610",
       "",
       "1",
       "1",
       "1"
   ]
}

Left Non Matching Values

GET /api/repositories/(string: repository)/joins/(string: joinId)/leftnomatchvalues

List of values on the left hand side that did not join. Only displays values where the RIGHT frequency is zero.

GET /api/repositories/jupiter/joins/1-1_2_3_4-3-1_2_3_4-2/leftnomatchvalues HTTP/1.1
Accept: application/json
Response Code Reason
200 No error
500 Server error

The columns displayed are:

Human Name Column Name Description
value<pos> Component <pos+1> <LHS_ENTITYID>.{LHS_ATTRIBUTE} = <RHS_ENTITYID>.{RHS_ATTRIBUTE}
LEFT Left Frequency The number of times this value occurs in the Left Hand Side entity.

pos in the above table is the position of the join expression in the join. There will be n components where n is the number of attribute on which joins is created.

Example of columns:

 {
   "columns": [
       {
            "columnisedName": "value0",
            "humanisedName": "Component 1",
            "description": "1.{Account_id} = 3.{Account_id}"
       },
       {
            "columnisedName": "value1",
            "humanisedName": "Component 2",
            "description": "1.{Customer_id} = 3.{Customer_id}"
       },
       {
            "columnisedName": "value2",
            "humanisedName": "Component 3",
            "description": "1.{Account_rep} = 3.{Account_rep}"
       },
       {
            "columnisedName": "value3",
            "humanisedName": "Component 4",
            "description": "1.{Billing_address1} = 3.{Billing_address1}"
       },
       {
            "columnisedName": "LEFT",
            "humanisedName": "Left Frequency",
            "description": "The number of times this value occurs in the Left Hand Side entity."
       }
]
}

The response will be a Standard Response, with a list of values on the left hand side that did not join.

Right Non Matching Values

GET /api/repositories/(string: repository)/joins/(string: joinId)/rightnomatchvalues

List of values on the right hand side that did not join. Only displays values where the LEFT frequency is zero.

GET /api/repositories/jupiter/joins/1-1_2_3_4-3-1_2_3_4-2/rightnomatchvalues HTTP/1.1
Accept: application/json
Response Code Reason
200 No error
500 Server error

The columns displayed are:

Human Name Column Name Description
value<pos> Component <pos+1> <LHS_ENTITYID>.{LHS_ATTRIBUTE} = <RHS_ENTITYID>.{RHS_ATTRIBUTE}
RIGHT Right Frequency The number of times this value occurs in the Right Hand Side entity.

pos in the above table is the position of the join expression in the join. There will be n components where n is the number of attribute on which joins is created.

Example of columns:

 {
   "columns": [
       {
            "columnisedName": "value0",
            "humanisedName": "Component 1",
            "description": "1.{Account_id} = 3.{Account_id}"
       },
       {
            "columnisedName": "value1",
            "humanisedName": "Component 2",
            "description": "1.{Customer_id} = 3.{Customer_id}"
       },
       {
            "columnisedName": "value2",
            "humanisedName": "Component 3",
            "description": "1.{Account_rep} = 3.{Account_rep}"
       },
       {
            "columnisedName": "value3",
            "humanisedName": "Component 4",
            "description": "1.{Billing_address1} = 3.{Billing_address1}"
       },
       {
            "columnisedName": "RIGHT",
            "humanisedName": "Right Frequency",
            "description": "The number of times this value occurs in the Right Hand Side entity."
       }
]
}

The response will be a Standard Response, with a list of values on the right hand side that did not join.