I\'m developing a website that allows users to explore a massive discography. All the data is currently stored in a JSON file, which I\'m converting to JSON-LD in order to make
You can use multiple vocabularies in JSON-LD (e.g., with compact IRIs in the @context
).
If the vocabulary Schema.org has no suitable properties/types, there most likely already exists a (probably domain-specific) vocabulary that does have them. See this answer about how to find vocabularies.
If you can’t reuse existing vocabularies, you can create your own. See this answer about how to create your own RDF vocabulary.
What you should of course not do is "inventing" terms in the Schema.org namespace. If it’s not defined by Schema.org, no one knows what it should mean; and the same term could be defined in the future with a different meaning than you expected.
If you only provide the structured data for SEO reasons, note that the search engines Google/Bing/Yahoo/Yandex only support the vocabulary Schema.org (they are its sponsors), so using other or your own vocabularies is currently not relevant for SEO; but it’s of course a good idea for all the other benefits structured data can provide.