This page is for json schema properties of type "string" who may (or may not) need a regular expression to help define allowed instances.
Page will be organized into json schemas, and will list all "string" type properties, logical rules for defining those properties, if they need a pattern, and a suggested regular expression for the properties that do need a pattern.
Entity.json
name
Logical Rules
- must be a sting
- can be more than one word
- can have letters
- can have symbols
Needs Pattern = no
description
Logical Rules
- must be a string
Needs Pattern = no
id
Logical Rules
- represented as a long
- can only be digits
- must be a size that will fit into a java long
- will never be a negative
Needs Pattern = yes
Suggested Regular Expression = "\\d{1,7}"
uri
Logical Rules
- will be "synapse.sagebase.org/#"
- after the pound will be the type of entity, etc
Needs Pattern = yes
Suggested Regular Expression = "^(http:////synapse.sagebase.org/#).+"
version
Logical Rules
- will be in format 1.0.0
- so numbers, period, numbers, period, numbers
Needs Pattern = yes
Suggested Regular Expression = "\\d{1,2}\\.\\d{1,2}\\.\\d{1,2}"
etag
Logical Rules
- made up of a db long
- default is 0
- can only be digits
- must fit in a java long
- will never be a negative
Needs Pattern = yes
Suggested Regular Expression = "\\d{1,7}"
createdOn
Logical Rules
- in the form of java.util.Date
- string must conform to that structure
- example from project modifiedOn": "2011-12-07T15:01:15.528-08:00",
- example from project"createdOn": "2011-12-07T15:01:15.528-08:00",
Needs Pattern = yes
Suggested Regular Expression = "2\\d{3}\\-[01]\\d{1}\\-[0123]\\d{1}T[012]\\d{1}:\\d{2}:\\d{2}\\.\\d{3}\\-\\d{2}:\\d{2}"
modifiedOn
Logical Rules
- java.util.Date
- string must conform to that structure
- example from project modifiedOn": "2011-12-07T15:01:15.528-08:00",
- example from project"createdOn": "2011-12-07T15:01:15.528-08:00",
Needs Pattern = yes
Suggested Regular Expression = "2\\d{3}\\-[01]\\d{1}\\-[0123]\\d{1}T[012]\\d{1}:\\d{2}:\\d{2}\\.\\d{3}\\-\\d{2}:\\d{2}"
createdBy
Logical Rules
- in the form of an email address
- can also be a single word
- letters and supported email characters only
- no whitespace
- example is admin@sagebase.org
Needs Pattern = yes
Suggested Regular Expression = "\\S+"
modifiedBy
Logical Rules
- in the form of an email address
- can also be a single word
- letters and supported email characters only
- no whitespace
- example is admin@sagebase.org
Needs Pattern = yes
Suggested Regular Expression = "\\S+"
annotations
Logical Rules
- are strings
- can be different number of words
- can contain symbols
Needs Pattern = no
accessControlList
Logical Rules
- example "/project/17496/acl"
- example"/dataset/17497/acl"
- must be a front-slash, supported type, front-slash, id, "acl"
Needs Pattern = yes
Suggested Regular Expression = "/(dataset|layer|location|project|preview|eula|agreement|folder|analysis|step|code)/\\d{1,7}/acl"
parentId
Logical Rules
- represented by a long
- will never be negative
- must be digits only
- must fit into java long
Needs Pattern = yes
Suggested Regular Expression = "\\d{1,7}"