Linked Data Export (JSON-LD & RDF)
Katalon has a semantic RDF and JSON-LD serializer that automatically maps collection data to the international ontologies CIDOC-CRM (ISO 21127) and LRMoo (Library Reference Model - object-oriented).
The export is available via the REST API, through content negotiation, via the OAI-PMH interface, and via the built-in SPARQL endpoint (Oxigraph).
Semantic modeling
Section titled “Semantic modeling”By default, Katalon’s primary types and relations are mapped to CIDOC-CRM and LRMoo as follows:
Primary types
Section titled “Primary types”| Katalon type / subtype | RDF classes |
|---|---|
object |
crm:E22_Human-Made_Object, lrmoo:F5_Item |
occurrence (subtype work) |
lrmoo:F1_Work |
occurrence (subtype expression) |
lrmoo:F2_Expression |
occurrence (subtype manifestation) |
lrmoo:F3_Manifestation |
occurrence (subtype event or other) |
crm:E5_Event |
entity (person) |
crm:E21_Person |
entity (corporate body / organization) |
crm:E74_Group |
place |
crm:E53_Place |
Relations
Section titled “Relations”Relationships between records are automatically translated into matching semantic predicates:
lrmoo:R3_is_realised_in(Work → Expression)lrmoo:R4_is_embodied_in(Expression → Manifestation)lrmoo:R7_exemplifies(Item/Object → Manifestation)crm:P14_carried_out_by(actors / participants)crm:P138_represents(depicted entities / subjects)crm:P7_took_place_at(event places)crm:P67_refers_to(general references)
Incoming relationships are automatically mapped with the corresponding inverse predicates.
Custom RDF properties for relation types
Section titled “Custom RDF properties for relation types”In the Admin UI under Configuration → Vocabularies, on the relation_types system vocabulary, you can set an individual RDF property URI for each relation type. The serializer then prefers this URI on export.
Vocabularies as skos:Concept
Section titled “Vocabularies as skos:Concept”Classifying fields and vocabularies are not exported as plain text literals only. If a term has a canonical URI or exactMatch references, it is serialized in the JSON-LD as a full skos:Concept node under crm:P2_has_type.
Retrieval via the REST API
Section titled “Retrieval via the REST API”Explicit export endpoint
Section titled “Explicit export endpoint”Each primary type has its own export endpoint:
# JSON-LD export for an objectcurl "https://katalon.example.org/api/v1/objects/{id}/export?format=jsonld"
# Turtle (TTL) export for a placecurl "https://katalon.example.org/api/v1/places/{id}/export?format=turtle"Supported formats (?format=):
jsonldorjson-ld(MIME type:application/ld+json)turtleorttl(MIME type:text/turtle)
Content negotiation
Section titled “Content negotiation”Katalon supports content negotiation directly on the standard record endpoints. Clients can request the desired semantic format via the Accept HTTP header:
# Requests JSON-LD from the standard object endpointcurl -H "Accept: application/ld+json" \ "https://katalon.example.org/api/v1/objects/{id}"
# Requests Turtle from the standard entity endpointcurl -H "Accept: text/turtle" \ "https://katalon.example.org/api/v1/entities/{id}"Without a matching RDF Accept header, the endpoint returns the usual application JSON.
Retrieval via OAI-PMH
Section titled “Retrieval via OAI-PMH”The semantic export is fully integrated into the OAI-PMH interface.
Via metadataPrefix=json_ld (or short jsonld), harvesters can query collection data in JSON-LD format:
https://katalon.example.org/oai?verb=GetRecord&identifier=oai:katalon:object:{id}&metadataPrefix=json_ldOr for mass retrieval of entire sets:
https://katalon.example.org/oai?verb=ListRecords&metadataPrefix=json_ldThe format is registered in the OAI-PMH ListMetadataFormats response and references the CIDOC-CRM/LRMoo JSON-LD schema.
SPARQL endpoint
Section titled “SPARQL endpoint”For complex research queries and cross-type graph analysis, the built-in triple store is available:
👉 See SPARQL endpoint (Oxigraph) for documentation of the W3C SPARQL 1.1 interface, authentication, query examples, and named graphs.