Namespace org.accordproject.creativework@0.2.0

Compatible with Concerto versions ^3.0.0. Has 7 declarations.

Concerto JSON AST PlantUML XML Schema Typescript C# OData JSON Schema GraphQL Java Go Avro Markdown OpenAPI Protobuf Mermaid

Declared Types

      
      import org.accordproject.creativework@0.2.0.BookGenre from https://models.accordproject.org/creative/creativeWork@0.2.0.cto
      import org.accordproject.creativework@0.2.0.Medium from https://models.accordproject.org/creative/creativeWork@0.2.0.cto
      import org.accordproject.creativework@0.2.0.CreativeWork from https://models.accordproject.org/creative/creativeWork@0.2.0.cto
      import org.accordproject.creativework@0.2.0.Album from https://models.accordproject.org/creative/creativeWork@0.2.0.cto
      import org.accordproject.creativework@0.2.0.Book from https://models.accordproject.org/creative/creativeWork@0.2.0.cto
      import org.accordproject.creativework@0.2.0.MusicGenre from https://models.accordproject.org/creative/creativeWork@0.2.0.cto
      import org.accordproject.creativework@0.2.0.Song from https://models.accordproject.org/creative/creativeWork@0.2.0.cto
      
      

Dependencies

Source

    /*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
concerto version "^3.0.0"
namespace org.accordproject.creativework@0.2.0

import org.accordproject.time@0.3.0.Duration from https://models.accordproject.org/time@0.3.0.cto
import org.accordproject.person@0.2.0.Person from https://models.accordproject.org/person@0.2.0.cto
import org.accordproject.organization@0.2.0.Organization from https://models.accordproject.org/organization@0.2.0.cto

/**
 * Based on https://schema.org/CreativeWork
 */

enum BookGenre {
  o Fantasy
  o Romance
}

enum Medium {
  o Audio
  o Print
  o Video
}

concept CreativeWork {
  o Person[] creators
  o DateTime dateCreated
  o Medium medium
  o String title optional
}

concept Album extends CreativeWork {
  o Song[] songs
}

concept Book extends CreativeWork {
  o Organization publisher
  o BookGenre genre
}

enum MusicGenre { 
  o Rock
  o Rap
  o Country
  o Pop
  o Jazz
  o Grime
  o ThrashMetal
}

concept Song extends CreativeWork {
  o Duration duration
  o MusicGenre genre
  o Person[] performers
}