1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package org.apache.any23.vocab;
19
20 import org.eclipse.rdf4j.model.IRI;
21
22 /**
23 * The <a href="http://ogp.me/#type_music">Open Graph Protocol Music Type</a> vocabulary.
24 *
25 */
26 public class OGPMusic extends Vocabulary {
27
28 private OGPMusic() {
29 super(NS);
30 }
31
32 public static final String NS = "http://ogp.me/ns/music#";
33
34 /* BEGIN: http://ogp.me/#type_music.song */
35
36 /** The song's length in seconds. */
37 public static final String MUSIC__DURATION = "music:duration";
38
39 /** The album this song is from. */
40 public static final String MUSIC__ALBUM = "music:album";
41
42 /** Which disc of the album this song is on. */
43 public static final String MUSIC__ALBUM_DISC = "music:album:disc";
44
45 /** Which disc of the album this song is on. */
46 public static final String MUSIC__ALBUM_TRACK = "music:album:track";
47
48 /** Which disc of the album this song is on. */
49 public static final String MUSIC__MUSICIAN = "music:musician";
50
51 /* END: http://ogp.me/#type_music.song */
52
53 /* BEGIN: http://ogp.me/#type_music.album */
54
55 /** The song on this album. */
56 public static final String MUSIC__SONG = "music:song";
57
58 /** The same as music:album:disc but in reverse. */
59 public static final String MUSIC__SONG_DISC = "music:song:disc";
60
61 /** The same as music:album:track but in reverse. */
62 public static final String MUSIC__SONG_TRACK = "music:song:track";
63
64 /** The date the album was released. */
65 public static final String MUSIC__RELEASE_DATE = "music:release_date";
66
67 /* END: http://ogp.me/#type_music.album */
68
69 /* BEGIN: http://ogp.me/#type_music.playlist */
70
71 /**
72 * The creator of this playlist if 'music.playlist' or the creator of this station if 'music.radio_station'
73 */
74 public static final String MUSIC__CREATOR = "music:creator";
75
76 /* END: http://ogp.me/#type_music.playlist */
77
78 private static OGPMusic instance;
79
80 public static OGPMusic getInstance() {
81 if (instance == null) {
82 instance = new OGPMusic();
83 }
84 return instance;
85 }
86
87 public final IRI NAMESPACE = createIRI(NS);
88
89 public final IRI musicDuration = createProperty(MUSIC__DURATION);
90 public final IRI musicAlbum = createProperty(MUSIC__ALBUM);
91 public final IRI musicAlbumDisc = createProperty(MUSIC__ALBUM_DISC);
92 public final IRI musicAlbumTrack = createProperty(MUSIC__ALBUM_TRACK);
93 public final IRI musicMusician = createProperty(MUSIC__MUSICIAN);
94
95 public final IRI musicSong = createProperty(MUSIC__SONG);
96 public final IRI musicSongDisc = createProperty(MUSIC__SONG_DISC);
97 public final IRI musicSongTrack = createProperty(MUSIC__SONG_TRACK);
98 public final IRI musicReleaseDate = createProperty(MUSIC__RELEASE_DATE);
99
100 public final IRI musicCreator = createProperty(MUSIC__CREATOR);
101
102 @SuppressWarnings("unused")
103 private IRI createClass(String localName) {
104 return createClass(NS, localName);
105 }
106
107 private IRI createProperty(String localName) {
108 return createProperty(NS, localName);
109 }
110 }