InvoiceLine
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/InvoiceLine.csv
  reference formulation: CSV
subject map:
  template: http://example.com/invoiceline/{InvoiceLineId}
predicate object map:
  predicate: identifier
  object map:
    reference: InvoiceLineId
predicate object map:
  predicate: invoice
  object map:
    parent triples map: Invoice
    join condition:
      child: InvoiceId
      parent: InvoiceId
predicate object map:
  predicate: track
  object map:
    parent triples map: Track
    join condition:
      child: TrackId
      parent: TrackId
predicate object map:
  predicate: priceSpecification
  object map:
    parent triples map: Price

Price
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/InvoiceLine.csv
  reference formulation: CSV
subject map:
  template: http://example.com/price/{UnitPrice}
  class: PriceSpecification
predicate object map:
  predicate: price
  object map:
    reference: UnitPrice
predicate object map:
  predicate: quantity
  object map:
    reference: Quantity

Invoice
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Invoice.csv
  reference formulation: CSV
subject map:
  template: http://example.com/invoice/{InvoiceId}
predicate object map:
  predicate: identifier
  object map:
    reference: InvoiceId
predicate object map:
  predicate: customer
  object map:
    parent triples map: Customer
    join condition:
      child: CustomerId
      parent: CustomerId
predicate object map:
  predicate: invoiceDate
  object map:
    reference: InvoiceDate
    datatype: dateTime
predicate object map:
  predicate: billingAddress
  object map:
    parent triples map: BillingAddress
predicate object map:
  predicate: total
  object map:
    reference: Total
    datatype: decimal

BillingAddress
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Invoice.csv
  reference formulation: CSV
subject map:
  template: http://example.com/address/{BillingAddress}_{BillingCity}_{BillingPostalCode}_{BillingCountry}
  class: PostalAddress
predicate object map:
  predicate: streetAddress
  object map:
    reference: BillingAddress
predicate object map:
  predicate: addressLocality
  object map:
    reference: BillingCity
predicate object map:
  predicate: addressRegion
  object map:
    reference: BillingState
predicate object map:
  predicate: addressCountry
  object map:
    reference: BillingCountry
predicate object map:
  predicate: postalCode
  object map:
    reference: BillingPostalCode

Customer
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Customer.csv
  reference formulation: CSV
subject map:
  template: http://example.com/customer/{CustomerId}
  class: Person
predicate object map:
  predicate: identifier
  object map:
    reference: CustomerId
predicate object map:
  predicate: familyName
  object map:
    reference: LastName
predicate object map:
  predicate: givenName
  object map:
    reference: FirstName
predicate object map:
  predicate: address
  object map:
    parent triples map: CustomerAddress

CustomerAddress
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Customer.csv
  reference formulation: CSV
subject map:
  template: http://example.com/address/{Address}_{City}_{PostalCode}_{Country}
  predicate: streetAdress
  object map:
    class: PostalAddress
  predicate object map:
    predicate: streetAddress
    object map:
      reference: Address
  predicate object map:
    predicate: addressLocality
    object map:
      reference: City
  predicate object map:
    predicate: addressRegion
    object map:
      reference: State
  predicate object map:
    predicate: addressCountry
    object map:
      reference: Country
  predicate object map:
    predicate: postalCode
    object map:
      reference: PostalCode
  predicate object map:
    predicate: telephone
    object map:
      reference: Phone
  predicate object map:
    predicate: faxNumber
    object map:
      reference: Fax
  predicate object map:
    predicate: email
    object map:
      reference: Email

Playlist
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Playlist.csv
  reference formulation: CSV
subject map:
  template: http://example.com/playlist/{PlaylistId}
  class: MusicPlaylist
predicate object map:
  predicate: identifier
  object map:
    reference: PlaylistId
predicate object map:
  predicate: name
  object map:
    reference: Name

PlaylistTrack
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/PlaylistTrack.csv
  reference formulation: CSV
subject map:
  template: http://example.com/playlist/{PlaylistId}
predicate object map:
  predicate: track
  object map:
    parent triples map: Track
    join condition:
      child: TrackId
      parent: TrackId

Track
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Track.csv
  reference formulation: CSV
subject map:
  template: http://example.com/track/{TrackId}
  class: MusicRecording
predicate object map:
  predicate: identifier
  object map:
    reference: TrackId
predicate object map:
  predicate: name
  object map:
    reference: Name
predicate object map:
  predicate: inAlbum
  object map:
    parent triples map: Album
    join condition:
      child: AlbumId
      parent: AlbumId
predicate object map:
  predicate: associatedMedia
  object map:
    parent triples map: MediaType
    join condition:
      child: MediaTypeId
      parent: MediaTypeId
predicate object map:
  predicate: genre
  object map:
    parent triples map: Genre
    join condition:
      child: GenreId
      parent: GenreId
predicate object map:
  predicate: recordingOf
  object map:
    parent triples map: Composer
predicate object map:
  predicate: duration
  object map:
    parent triples map: Duration
predicate object map:
  predicate: priceSpecification
  object map:
    parent triples map: TrackPrice

TrackPrice
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Track.csv
  reference formulation: CSV
subject map:
  template: http://example.com/price/{UnitPrice}
  class: PriceSpecification
predicate object map:
  predicate: price
  object map:
    reference: UnitPrice

Duration
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Track.csv
  reference formulation: CSV
subject map:
  template: http://example.com/duration/{Milliseconds}
  class: Duration
predicate object map:
  predicate: name
  object map:
    reference: Milliseconds

Album
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Album.csv
  reference formulation: CSV
subject map:
  template: http://example.com/album/{AlbumId}
  class: MusicAlbum
predicate object map:
  predicate: identifier
  object map:
    reference: AlbumId
predicate object map:
  predicate: name
  object map:
    reference: Title
predicate object map:
  predicate: byArtist
  object map:
    parent triples map: Artist
    join condition:
      child: ArtistId
      parent: ArtistId

Artist
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Artist.csv
  reference formulation: CSV
subject map:
  template: http://example.com/artist/{ArtistId}
  class: MusicGroup
predicate object map:
  predicate: identifier
  object map:
    reference: ArtistId
predicate object map:
  predicate: label
  object map:
    reference: Name

MediaType
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/MediaType.csv
  reference formulation: CSV
subject map:
  template: http://example.com/mediatype/{MediaTypeId}
  class: MusicObject
predicate object map:
  predicate: identifier
  object map:
    reference: MediaTypeId
predicate object map:
  predicate: name
  object map:
    reference: Name

Genre
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Genre.csv
  reference formulation: CSV
subject map:
  template: http://example.com/genre/{GenreId}
  class: MusicGroup
predicate object map:
  predicate: identifier
  object map:
    reference: GenreId
predicate object map:
  predicate: name
  object map:
    reference: Name

Employee
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Employee.csv
  reference formulation: CSV
subject map:
  template: http://example.com/employee/{EmployeeId}
  class: Person
predicate object map:
  predicate: familyName
  object map:
    reference: LastName
predicate object map:
  predicate: givenName
  object map:
    reference: FirstName
predicate object map:
  predicate: reportsTo
  object map:
    reference: ReportsTo
predicate object map:
  predicate: birthDate
  object map:
    reference: BirthDate
predicate object map:
  predicate: address
  object map:
    parent triples map: EmployeeAddress

EmployeeAddress
logical source:
  source: https://raw.githubusercontent.com/w3c/csvw/gh-pages/examples/tests/scenarios/chinook/csv/Employee.csv
  reference formulation: CSV
subject map:
  template: http://example.com/address/{Address}_{City}_{PostalCode}_{Country}
  class: PostalAddress
predicate object map:
  predicate: streetAddress
  object map:
    reference: Address
predicate object map:
  predicate: addressLocality
  object map:
    reference: City
predicate object map:
  predicate: addressRegion
  object map:
    reference: State
predicate object map:
  predicate: addressCountry
  object map:
    reference: Country
predicate object map:
  predicate: postalCode
  object map:
    reference: PostalCode
predicate object map:
  predicate: telephone
  object map:
    reference: Phone
predicate object map:
  predicate: faxNumber
  object map:
    reference: Fax
predicate object map:
  predicate: email
  object map:
    reference: Email