(Registered 2013-08-16, last updated 2020-03-17) Type name: application Subtype name: ld+json Required parameters: N/A Optional parameters: profile A non-empty list of space-separated URIs identifying specific constraints or conventions that apply to a JSON-LD document according to [RFC6906]. A profile does not change the semantics of the resource representation when processed without profile knowledge, so that clients both with and without knowledge of a profiled resource can safely use the same representation. The profile parameter MAY be used by clients to express their preferences in the content negotiation process. If the profile parameter is given, a server SHOULD return a document that honors the profiles in the list which it recognizes, and MUST ignore the profiles in the list which it does not recognize. It is RECOMMENDED that profile URIs are dereferenceable and provide useful documentation at that URI. For more information and background please refer to [RFC6906]. This specification defines six values for the profile parameter. http://www.w3.org/ns/json-ld#expanded To request or specify expanded JSON-LD document form. http://www.w3.org/ns/json-ld#compacted To request or specify compacted JSON-LD document form. http://www.w3.org/ns/json-ld#context To request or specify a JSON-LD context document. http://www.w3.org/ns/json-ld#flattened To request or specify flattened JSON-LD document form. http://www.w3.org/ns/json-ld#frame To request or specify a JSON-LD frame document. http://www.w3.org/ns/json-ld#framed To request or specify framed JSON-LD document form. All other URIs starting with http://www.w3.org/ns/json-ld are reserved for future use by JSON-LD specifications. Other specifications may publish additional profile parameter URIs with their own defined semantics. This includes the ability to associate a file extension with a profile parameter. When used as a media type parameter [RFC4288] in an HTTP Accept header [RFC7231], the value of the profile parameter MUST be enclosed in quotes (") if it contains special characters such as whitespace, which is required when multiple profile URIs are combined. When processing the "profile" media type parameter, it is important to note that its value contains one or more URIs and not IRIs. In some cases it might therefore be necessary to convert between IRIs and URIs as specified in section 3 Relationship between IRIs and URIs of [RFC3987]. Encoding considerations: See RFC 8259, section 11. Security considerations: See RFC 8259, section 12 [RFC8259] Since JSON-LD is intended to be a pure data exchange format for directed graphs, the serialization SHOULD NOT be passed through a code execution mechanism such as JavaScript's eval() function to be parsed. An (invalid) document may contain code that, when executed, could lead to unexpected side effects compromising the security of a system. When processing JSON-LD documents, links to remote contexts and frames are typically followed automatically, resulting in the transfer of files without the explicit request of the user for each one. If remote contexts are served by third parties, it may allow them to gather usage patterns or similar information leading to privacy concerns. Specific implementations, such as the API defined in the JSON-LD 1.1 Processing Algorithms and API specification [JSON-LD11-API] , may provide fine-grained mechanisms to control this behavior. JSON-LD contexts that are loaded from the Web over non-secure connections, such as HTTP, run the risk of being altered by an attacker such that they may modify the JSON-LD active context in a way that could compromise security. It is advised that any application that depends on a remote context for mission critical purposes vet and cache the remote context before allowing the system to use it. Given that JSON-LD allows the substitution of long IRIs with short terms, JSON-LD documents may expand considerably when processed and, in the worst case, the resulting data might consume all of the recipient's resources. Applications should treat any data with due skepticism. As JSON-LD places no limits on the IRI schemes that may be used, and vocabulary-relative IRIs use string concatenation rather than IRI resolution, it is possible to construct IRIs that may be used maliciously, if dereferenced. Interoperability considerations: Not Applicable Published specification: http://www.w3.org/TR/json-ld Applications that use this media type: Any programming environment that requires the exchange of directed graphs. Implementations of JSON-LD have been created for JavaScript, Python, Ruby, PHP, and C++. Additional information: Magic number(s): Not Applicable File extension(s): .jsonld Macintosh file type code(s): TEXT Person & email address to contact for further information: Ivan Herman Intended usage: Common Restrictions on usage: N/A Author(s): Manu Sporny, Dave Longley, Gregg Kellogg, Markus Lanthaler, Niklas Lindström Change controller: W3C Fragment identifiers used with application/ld+json are treated as in RDF syntaxes, as per RDF 1.1 Concepts and Abstract Syntax [RDF11-CONCEPTS] . This registration is an update to the original definition for application/ld+json in [JSON-LD10] .