Open APIs

 View Only
  • 1.  TMF 630 Part 1 - usage of semicolon in attribute filtering, incoherent specification

    TM Forum Member
    Posted Oct 03, 2023 09:05

    Hello, 

    TMF 630 part 1 mentions in 4.4. that semicolon can be used to create OR of several values in the following way: [{attributeName}={attributeValue};{attributeValue}*] . This implies that semicolon can be used interchangeably with a comma, e.g. attr=val1,val2 should be the same as attr=val1;val2. However, this is never shown in examples. They only show queries containing semicolon in the following format: attr=val1;attr=val2. 

    I would like to know which format is correct.

    Best regards



    ------------------------------
    Piotr Ledwoń
    Suntech S.A.
    ------------------------------


  • 2.  RE: TMF 630 Part 1 - usage of semicolon in attribute filtering, incoherent specification

    TM Forum Member
    Posted Oct 19, 2023 12:42

    My reading of the specification version I have to hand is that comma is only valid when specifying multiple values of the same attribute, and the semicolon format is for OR-ing between fully formed conditions 

    So

    attr1=val1,val2  is equivalent to attr1=val1;attr1=val2 (if this is your whole query)

    I'm not seeing text which implies attr1=val1;val2 is OK and I agree it would be incoherent (I only have v4.0.0 to hand, maybe another version has this)

    Worth noting that the 'comma syntax' gives an implied precedence which can be very useful

    e.g.

    attr1=val1,val2&attr3=val3  is ( Attr1=Val1 OR attr1=val2) AND attr3=val3 , which without the comma-syntax would need to be expressed as attr1=val1&attr3=val3;attr1=val2&attr3=val3 , due to operator precedence.



    ------------------------------
    Andrew Torrance
    Cerillion Technologies Limited
    ------------------------------



  • 3.  RE: TMF 630 Part 1 - usage of semicolon in attribute filtering, incoherent specification

    TM Forum Member
    Posted Nov 13, 2023 08:00

    Hi all, 

       Thank you for raising the question. This issue has been raised as a bug and addressed in the upcoming TMF630 update.

        In the V4 version, there was a lack of clarity regarding the fact that ";" and "," served the same purpose for attribute value ORing.

        The upcoming specification for V4, provides the following text:  

    Attribute values ORING is supported and is achieved by providing a filtering expression where the same attribute name is duplicated a number of times [{attributeName}={attributeValue}&*] different values.

    The "OR" behavior can also be achieved by providing a filtering expression using one of the following expressions:

    • [{attributeName}={attributeValue},{ attributeValue }*] 
    •  [{attributeName}={attributeValue};{attributeValue}*]

    Note: The above alternatives for ORing will be made obsolete in the V5 APIs versions

    For example:

    • GET /tmf-api/troubleTicketManagement/v5/troubleTicket?status=acknowledged;rejected

    • GET /tmf-api/troubleTicketManagement/v5/troubleTicket?status=acknowledged&status=rejected

    • GET /tmf-api/troubleTicketManagement/v5/troubleTicket?status=acknowledged,rejected



    However, please note that in the upcoming TMF630 for V5 APIs,  the intention is to remove the ORing alternatives (";" & ",") and to rely either on the default one (attr=val&attr=val2). 
    The implied precedence can still be achieved using the default one.
    Thank you,


    ------------------------------
    Florin Tene
    CityFibre
    ------------------------------