Joins ===== .. code-block:: http /api/repositories/(string:repository)/joins .. csv-table:: :header: Parameter, Type, Purpose :widths: 20, 20, 60 :stub-columns: 1 repository, string, the name of the :doc:`repository` .. _joins_count: Count ~~~~~~~~ .. http:get:: /api/repositories/(string:repository)/joins/count :synopsis: Get the number of joins in the repository Returns the number of joins in the repository. .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, No error 500, Server error The response contains the number of joins in the repository. .. code-block:: json { "count": "4" } .. _show_all_joins: Show All ~~~~~~~~ .. http:get:: /api/repositories/(string:repository)/joins :synopsis: Lists all joins of a repository Lists all joins of the corresponding :doc:`repository` .. code-block:: http GET /api/repositories/jupiter/joins HTTP/1.1 Accept: application/json .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, No error 500, Server error The response will be a :doc:`standard-response`, with a list of all discovered joins in the corresponding :doc:`repository`. The ``columns`` array will contain the list of columns for each data row. .. csv-table:: :header: Human Name, Column Name, Description :widths: 25, 25, 50 "Left Entity ID", "LEFT_ENTITY_ID", "Left source entity ID" "Left Attribute List", "LEFT_ATTRIBUTE_LIST", "List of attribute Ids comprising left hand (compound) join" "Right Entity ID", "RIGHT_ENTITY_ID", "Right source entity ID" "Right Attribute List", "RIGHT_ATTRIBUTE_LIST", "List of attribute Ids comprising right hand (compound) join" "Sequence", "SEQUENCE", "A sequence number allowing for multiple joins to be defined between 2 entities" "Status", "_status", "Whether the join is permananent,discovered, deleted or in a project" "Left Entity", "_left_ename", "Left hand source entity" "Left Expression", "_left_expr", "Expression of LH attributes comprising the left hand side of the (compound) join" "Right Entity", "_right_ename", "Right hand source entity" "Right Expression", "_right_expr", "Expression of RH attributes comprising the right hand side of the (compound) join" "Matching Values", "COMMON_VALUES", "The number of distinct joined values" "Inner joined rows", "INNER_PRODUCT", "The number of rows in the inner join - joining rows only" "Outer joined rows", "_full_outer_product", "The number of rows in the outer join - joining rows and non-joining rows from both sides" "Left Non-Matching Values", "LEFT_NOT_MATCH_VALUES", "The number of distinct values on the left-hand side that did not join" "Left Non-Matching Rows", "LEFT_NOT_MATCH_ROWS", "The number of rows on the left-hand side that did not join" "Left outer joined rows", "_left_outer_product", "The number of rows in the left outer join - joining rows and non-joining left rows" "Right Non-Matching Values", "RIGHT_NOT_MATCH_VALUES", "The number of distinct values on the right-hand side that did not join" "Right Non-Matching Rows", "RIGHT_NOT_MATCH_ROWS", "The number of rows on the right-hand side that did not join" "Right outer joined rows", "_right_outer_product", "The number of rows in the right outer join - - joining rows and non-joining right rows" "Left Loaded Rows", "_left_loaded_rows", "Number of rows in the left hand source entity" "Left Filter", "_left_select", "The filter used to select the rows from the left hand entity" "Left Selected Rows", "_left_rows", "The number of rows selected by the Left hand filter (or loaded rows if not filtered)" "Right Loaded Rows", "_right_loaded_rows", "Number of rows in the right hand source entity" "Right Filter", "_right_select", "The filter used to select the rows from the right hand entity" "Right Selected Rows", "_right_rows", "The number of rows selected by the right hand filter (or loaded rows if not filtered)" "Join Type", "_join_type", "Whether the join used original values or a Standardised, Metaphone or Pattern function" "Actual Cardinality", "ACTUAL_CARDINALITY", "The actual cardinality of the join" "Inferred Cardinality", "INFERRED_CARDINALITY", "The Inferred Cardinality of the join" "Exact Cardinality", "EXACT_CARDINALITY", "The 'exact' cardinality of the join. This is defined as the ratio Left cardinality : Right Cardinality" "Match Best", "MATCH_BEST", "The percentage match of the join (best match of Values,LHrows or RHrows)" "Match Values", "MATCH_VALUES", "% of values that joined" "Match LHrows", "MATCH_LHROWS", "% of LH rows that joined" "Match RHrows", "MATCH_RHROWS", "% of RH rows that joined" "Left Join Rows", "LEFT_JOIN_ROWS", "The number of rows from the left-hand side that joined" "Left Join Cardinality", "LEFT_JOIN_CARDINALITY", "The cardinality of the joined values from the left-hand side of the join. On average, each joining value occurs this number of times on the LHS" "Right Join Rows", "RIGHT_JOIN_ROWS", "The number of rows from the right-hand side that joined" "Right Join Cardinality", "RIGHT_JOIN_CARDINALITY", "The cardinality of the joined values from the right-hand side of the join. On average, each joining value occurs this number of times on the RHS" "Join Card One One", "JOIN_CARD_ONE_ONE", "Number of joined values with 1:1 cardinality" "Join Card One Many", "JOIN_CARD_ONE_MANY", "Number of joined values with 1:M cardinality" "Join Rows One Many", "JOIN_ROWS_ONE_MANY", "Number of joined rows with 1:M cardinality" "Join Card Many One", "JOIN_CARD_MANY_ONE", "Number of joined values with M:1 cardinality" "Join Rows Many One", "JOIN_ROWS_MANY_ONE", "Number of joined rows with M:1 cardinality" "Join Card Many Many", "JOIN_CARD_MANY_MANY", "Number of joined values with M:M cardinality" "Join Rows Many Many", "JOIN_ROWS_MANY_MANY", "Number of joined rows with M:M cardinality" "Analyzed Date", "_analysed_date", "When the join was analyzed" "Analyzed By", "ANALYSED_BY", "Who analyzed the data." "Created By", "CREATED_BY", "Who created the join." "Created Date", "_created_date", "When the join definition was created" "Performed By", "PERFORMED_BY", "Who created the join result index." "Performed Date", "_performed_date", "When the result join index was created." "Edited By", "EDITED_BY", "Who edited the join definition" "Edited Date", "_edited_date", "Edited Date" "Note Count", "note.COUNT", "The number of notes for this join" "Join Job", "JOIN_JOB", "The name of the join wizard job which created the join" "Join Job ID", "JOB_ID", "The ID of the join wizard job which created the join" "Join Index", "JOIN_INDEX", "Join Result index name" "Join Result Segment", "__JOIN_RESULT_SEGMENT", "Whether the result is the natural (inner) join, or an outer (full,left or right) join." "Left No Matching Row Action", "__DOC_LEFT_NO_MATCH_OPTION", "Documented left non matching row action, eg. accept,ignore, reject or warning" "Right No Matching Row Action", "__DOC_RIGHT_NO_MATCH_OPTION", "Documented right non matching row action, eg. accept,ignore, reject or warning" "Join key", "_join_key", "System Join key" data row will contain the list of all joins in the corresponding :doc:`repository`: .. code-block:: json "rows": [ { "dataRow": [ "57", "1", "58", "1", "1", "Discovered", "Employee(57)", "Employeeid", "Employeedept(58)", "Employeeid", "6", "6", "6", "0", "0", "6", "0", "0", "6", "6", "", "6", "6", "", "6", "Value", "1:1", "1:1", "1.000:1.000", "100.000", "100.000", "100.000", "100.000", "6", "1.000", "6", "1.000", "6", "0", "0", "0", "0", "0", "0", "2015/03/04 15:46:48", "bob@TEST-7", "bob@TEST-7", "2015/03/04 15:46:49", "", "", "", "", "", "j6", "", "full", "", "", "57 1 58 1 1" ], "metadata": { "url": "/api/repositories/alpha/joins/57-1-58-1-1" } } If there are no discovered joins in the :doc:`repository`, ``rows`` will be an empty string. .. _show_some_joins: Show Some ~~~~~~~~~~ .. http:post:: /api/repositories/(string:repository)/joins :synopsis: Lists joins in the repository that match various criteria Lists joins in the repository that match various criteria :jsonparam body: The request body .. code-block:: http POST /api/repositories/jupiter/joins HTTP/1.1 Content-Type: application/json { "command": "get", "options": { "where": "Status = \"Discovered\"" } } .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, Success 500, Server error The request requires a :doc:`standard-request` packet. Available commands are: .. csv-table:: :header: Command, Description :widths: 20, 80 get, Lists all joins in the repository that match the criteria in Options The response will be a :doc:`standard-response`, with a list of :doc:`joins` in the :doc:`repository` matching the given criteria in Options.