Namespace org.accordproject.creativework0.1.0

Compatible with Concerto versions . Has 7 declarations.

Concerto JSON AST UML JSON Schema XML Schema GraphQL TypeScript CSharp Java Go OData

Declared Types

      
      import org.accordproject.creativework.BookGenre from https://models.accordproject.org/creative/creativeWork.cto
      import org.accordproject.creativework.Medium from https://models.accordproject.org/creative/creativeWork.cto
      import org.accordproject.creativework.CreativeWork from https://models.accordproject.org/creative/creativeWork.cto
      import org.accordproject.creativework.Album from https://models.accordproject.org/creative/creativeWork.cto
      import org.accordproject.creativework.Book from https://models.accordproject.org/creative/creativeWork.cto
      import org.accordproject.creativework.MusicGenre from https://models.accordproject.org/creative/creativeWork.cto
      import org.accordproject.creativework.Song from https://models.accordproject.org/creative/creativeWork.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.
 */

namespace org.accordproject.creativework

import org.accordproject.time.Duration from https://models.accordproject.org/time@0.2.0.cto
import org.accordproject.person.Person from https://models.accordproject.org/person.cto
import org.accordproject.organization.Organization from https://models.accordproject.org/organization.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
}