All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eedm.comments.v6.0.comments.json Maven / Gradle / Ivy

{
  "title" : "Comments",
  "description" : "Comments made about a person, organization, etc.",
  "type" : "object",
  "properties" : {
    "metadata" : {
      "$ref" : "resource:/eedm/metadata.json"
    },
    "id" : {
      "title" : "ID",
      "description" : "The global identifier of the comments record.",
      "type" : "string",
      "format" : "guid",
      "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
    },
    "confidentiality" : {
      "title" : "Confidentiality",
      "description" : "Confidential level of the comment",
      "enum" : [ "private", "public" ],
      "type" : "string"
    },
    "subjectMatter" : {
      "title" : "Subject Matter",
      "description" : "Whom the comment is about",
      "oneOf" : [ {
        "title" : "Person",
        "description" : "The person whom the comment is about",
        "type" : "object",
        "properties" : {
          "person" : {
            "title" : "Person",
            "description" : "",
            "type" : "object",
            "properties" : {
              "id" : {
                "title" : "ID",
                "description" : "The global identifier for the Person.",
                "type" : "string",
                "format" : "guid",
                "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
              }
            },
            "links" : [ {
              "rel" : "self",
              "href" : "/persons/{id}",
              "targetSchema" : {
                "$ref" : "persons.json#"
              }
            } ],
            "additionalProperties" : false,
            "required" : [ "id" ]
          }
        },
        "additionalProperties" : false
      }, {
        "title" : "Organization",
        "description" : "The comment is made about this organization.",
        "type" : "object",
        "properties" : {
          "organization" : {
            "title" : "Organization",
            "description" : "",
            "type" : "object",
            "properties" : {
              "id" : {
                "title" : "ID",
                "description" : "The global identifier for the Organization.",
                "type" : "string",
                "format" : "guid",
                "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
              }
            },
            "links" : [ {
              "rel" : "self",
              "href" : "/organizations/{id}",
              "targetSchema" : {
                "$ref" : "organizations.json#"
              }
            } ],
            "additionalProperties" : false,
            "required" : [ "id" ]
          }
        },
        "additionalProperties" : false
      }, {
        "title" : "Institution",
        "description" : "The educational institution the comment is about",
        "type" : "object",
        "properties" : {
          "institution" : {
            "title" : "Institution",
            "description" : "",
            "type" : "object",
            "properties" : {
              "id" : {
                "title" : "ID",
                "description" : "The global identifier for the Institution.",
                "type" : "string",
                "format" : "guid",
                "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
              }
            },
            "links" : [ {
              "rel" : "self",
              "href" : "/educational-institutions/{id}",
              "targetSchema" : {
                "$ref" : "educational-institutions.json#"
              }
            } ],
            "additionalProperties" : false,
            "required" : [ "id" ]
          }
        },
        "additionalProperties" : false
      }, {
        "title" : "Institution Unit",
        "description" : "The unit of an educational institution the comment is about",
        "type" : "object",
        "properties" : {
          "institutionUnit" : {
            "title" : "Institution Unit",
            "description" : "",
            "type" : "object",
            "properties" : {
              "id" : {
                "title" : "ID",
                "description" : "The global identifier for the Institution Unit.",
                "type" : "string",
                "format" : "guid",
                "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
              }
            },
            "links" : [ {
              "rel" : "self",
              "href" : "/educational-institution-units/{id}",
              "targetSchema" : {
                "$ref" : "educational-institution-units.json#"
              }
            } ],
            "additionalProperties" : false,
            "required" : [ "id" ]
          }
        },
        "additionalProperties" : false
      } ]
    },
    "source" : {
      "title" : "Source",
      "description" : "Source of the comment",
      "oneOf" : [ {
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Source.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/sources/{id}",
          "targetSchema" : {
            "$ref" : "sources.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }, {
        "type" : "object",
        "maxProperties" : 0
      } ]
    },
    "commentSubjectArea" : {
      "title" : "Comment Subject Area",
      "description" : "Subject area of the comment",
      "oneOf" : [ {
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Comment Subject Area.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/comment-subject-area/{id}",
          "targetSchema" : {
            "$ref" : "comment-subject-area.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }, {
        "type" : "object",
        "maxProperties" : 0
      } ]
    },
    "comment" : {
      "title" : "Comment",
      "description" : "The actual comment made",
      "type" : "string",
      "minLength" : 1
    },
    "enteredBy" : {
      "title" : "Entered By",
      "description" : "The creator of this comment instance",
      "oneOf" : [ {
        "title" : "Person",
        "description" : "The unique id of the person who entered the comment.",
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Person.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/persons/{id}",
          "targetSchema" : {
            "$ref" : "persons.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }, {
        "title" : "Name",
        "description" : "The name of the person who entered the comment.",
        "type" : "string"
      } ]
    },
    "enteredOn" : {
      "title" : "Entered On",
      "description" : "The date of the creation of the comment instance",
      "oneOf" : [ {
        "type" : "string",
        "format" : "date-time",
        "pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?$"
      }, {
        "type" : "string",
        "maxLength" : 0
      } ]
    }
  },
  "required" : [ "id", "subjectMatter", "comment" ],
  "additionalProperties" : false
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy