Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This document is an attempt to capture how special values like None/NULL/NA/NaN/Inf/-Inf are handled in PLFM and across different clients as of today.

...

YellowGET

Becomes string

Becomes string
ClientEmpty valueNULLNoneNANaNInf-InfDate
curl (repo-201)

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Empty list

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourRedGrey
titlePUTNot applicable
Status
colourRedGrey
titlePUTNot applicable

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

"Infinity" or "+Infinity"

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

"-Infinity"

10/19/2017
web client (201)

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourRed
titlePUT


Status
colourRedGrey
titlePUTNot applicable
Status
colourRedGrey
titlePUTNot applicable

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

"Infinity" or "+Infinity"

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

"-Infinity"

10/20/2017
python (synapseclient_1.7.2)
Status
colour
Yellow
Grey
title
PUT
Not applicable


Status
colour
Grey
title
Not applicable

Status
colour

Red

Yellow
titlePUT

Status
colourYellow
titleGETPUT

Becomes string

Status
colour
Yellow
Grey
title
GET
Not applicable

Status
colour

Red

titlePUT

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

10/20/2017old r client 
Status
colourRedGrey
titlePUTNot applicable
Status
colourRed
titlePUT
Status
colourRedGrey
titlePUTNot applicable
Status
colourRed
titlePUT
Status
colourRed
titlePUT
Status
colourRed
titlePUT
Status
colourRed
titlePUT
10/23/2017synapser
Status
colourRedGrey
titlePUTNot applicable
Status
colourRed
titlePUT
Status
colourRedGrey
titlePUTNot applicable

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

Becomes "None"

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

10/23/2017

Submission Annotations

API

At the API level, an annotation on a submission has the following types:

  • StringAnnotation
  • DoubleAnnotation
  • LongAnnotation

Client Behaviors

The below experiements are done on DoubleAnnotation on the following services:

Red
ClientEmpty valueNULLNoneNANaNInf-InfDate
curl (repo-201)

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colour

Related Jira Tickets

  • Jira Legacy
    serverSystem JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdba6fb084-9827-3160-8067-8ac7470f78b2
    keySWC-3860
  • Jira Legacy
    serverSystem JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdba6fb084-9827-3160-8067-8ac7470f78b2
    keyPLFM-4576

Submission Annotations

API

At the API level, an annotation on a submission has the following types:

  • StringAnnotation
  • DoubleAnnotation
  • LongAnnotation

Client Behaviors

The below experiements are done on DoubleAnnotation on the following services:

RedPUTYellow10

ClientEmpty valueNULLNoneNANaNInf-InfDate
curl (repo-201)

Status
colourGreen
titlePUT

Status
colour

Green
title

GET

'value' is not set

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colour
Grey
titleNot applicable
Status
colourGrey
titleNot applicable

Status
colourGreen
titlePUT

Status
colour

Yellow

Green
titleGET

"Infinity" or "+Infinity"

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

"

-

Infinity" or "+Infinity"

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

"-Infinity"

10/19/2017
web client (201)Not supported10/20/2017
python (synapseclient_1.7.2)

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourRedGrey
titlePUTNot applicable

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

Becomes empty

Status
colourRedGrey
titlePUTNot applicable

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

"Infinity" or "+Infinity"

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

"-Infinity"

10/23/2017
old r client
Status
colourRed
titlePUT
Status
colourRed
titlePUT
Status
colourRedGrey
titlePUTNot applicable
Status
colourRed
titlePUT
Status
colourRed
titlePUT
Status
colourRed
titlePUT
Status
colourRed
titlePUT
10/23/2017
synapser

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colourRed
titlePUT
Status
colourRedGrey
titlePUTNot applicable

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

Becomes empty

Status
colourGreen
titlePUT

Status
colourGreen
titleGET

Status
colour

Red

Yellow
titlePUT

Status
colour

Red

Yellow
title

PUT
GET

"Infinity" or "+Infinity"

Status
colourYellow
titlePUT

Status
colourYellow
titleGET

"-Infinity"

10/23/2017

Table

API

At the API level, a table column has the following types:

...

ClientEmpty valueNULLNoneNANaNInf-InfDate
curl (repo-201)

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

Becomes

"" becomes NULL

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourRedGrey
titleupdateNot applicable
Status
colourRedGrey
titleupdateNot applicable

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

Becomes "Infinity" or "+Infinity"

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

Becomes "-Infinity"

10/23/2017
web client (201)

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourRed
titleupdate
Status
colourRedGrey
titleupdateNot applicable
Status
colourRedGrey
titleupdateNot applicable

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

"Infinity" or "+Infinity"

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

"-Infinity"

10/20/2017
python (synapseclient_1.7.2)
Status
colourRedGrey
titleupdateNot applicable
Status
colourRedGrey
titleupdateNot applicable

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourRedGrey
titleupdateNot applicable

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

10/23/2017
old r client







synapser
Status
colourRedGrey
titleupdateNot applicable
Status
colourRedGrey
titleupdateNot applicable
Status
colourRedGrey
titleupdateNot applicable

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

Becomes NULL

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

Becomes "Infinity" or "+Infinity"

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

Becomes "-Infinity"

10/23/2017

...

Red

Written to csv as "NA"

ClientEmpty ValueNULLNoneNANaNInf-InfDate
curl (repo-201)







web client (201)

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Ignore empty rows

Status
colourRed
titleupdate
Status
colourRedGrey
titleupdateNot applicable
Status
colourRedGrey
titleupdateNot applicable

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

When query, returns "Infinity"

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

When retrieved, returns "-Infinity"
10/20/2017
python (synapseclient_1.7.2)

Status
colourRed
titleupdate

Can be uploaded from csv, cannot be read from Pandas

Status
colourRedGrey
titleupdateNot applicable

Status
colourRed
titleupdate

Lost in Pandas for row with only None, and becomes NaN in float column

Status
colourRedGrey
titleupdateNot applicable

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

Pandas writes NaN as empty values to csv, but can read NaN from csv

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

float inf turns into "Infinity"

Status
colourYellow
titleupdate

Status
colourYellow
titlequery

float --inf turns into "-Infinity"

10/20/2017
old r client
Status
colourRedGrey
titleupdateNot applicable
Status
colourRedGrey
titleupdateNot applicable
Status
colourRedGrey
titleupdateNot applicable

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

10/23/2017
synapser
Status
colourRedGrey
titleupdateNot applicable
Status
colourRedGrey
titleupdateNot applicable
Status
colourRedGrey
titleupdateNot applicable

Status
colourRedYellow
titleupdate

Status
colour

Status
colourYellow
title

Green
title

update

query

Cannot save a csv that contains 'NA'. However, 'NA' in r data.frame made the round trip.

Status
colourGreen
titleupdate

Status
colourRedGreen
titlequery

When read into data.frame, each unique value becomes a column.

Status
colourYellowGreen
titleupdate

Status
colourRedGreen
titlequery

When read into data.frame, each unique value becomes a column.

10/23/2017

Status
colourGreen
titleupdate

Status
colourGreen
titlequery

10/31/2017

Related Jira Tickets

  • Jira Legacy
    serverSystem JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdba6fb084-9827-3160-8067-8ac7470f78b2
    keySYNPY-576
  • Jira Legacy
    serverSystem JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdba6fb084-9827-3160-8067-8ac7470f78b2
    keySYNR-1150
  • Jira Legacy
    serverSystem JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverIdba6fb084-9827-3160-8067-8ac7470f78b2
    keySYNR-1140