Project

General

Profile

Actions

Feature #1770

closed

API: Adding linked.art format

Added by Stefan Eichert about 2 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Category:
API
Target version:
Start date:
2022-07-27
Estimated time:

Description

We could use https://linked.art/ as a format for further API developments, as it offers a JSON-LD format for the CIDOC CRM that is very easy to understand, very comprehensible and would in a very simple way allow representing each node as a JSON-LD. Especially for non place entities, this would allow for a much better machine-readable representation.

Q&A

Q: How do we define time in which case? P4, P82, P173, P191 or something else? (https://linked.art/model/base/#time-span-details)
A: Link physical objects and actors with dates (mapping with event with E63/E64 and P92/93) -> For simplicity, currently implemented with P4 has time-span

Q: What to do with additional information? Should we keep strictly to LOUD model or add additional fields?
A: For types with external reference systems, just add a field with external reference

Q: P127 has broader term doesn't exist in LOUD. So we have problems to display Types as single entity, e.g. /api/cidoc_class/E55
A: Use skos:broader

Q: Place coordinates also need a link property. When to use P189 approximates and P168 place is defined by. P168 only takes one geometry, P189 can have an array. For example implementations, see Place at linked.art
A:

Q: Which property have the comments of the timespans? My guess is P3 has note
A:

Actions #1

Updated by Alexander Watzinger about 2 years ago

  • Subject changed from linked.art API to API: using linked.art
  • Status changed from New to Assigned
  • Assignee set to Bernhard Koschiček-Krombholz
  • Target version set to 208
Actions #2

Updated by Alexander Watzinger about 2 years ago

  • Description updated (diff)
Actions #3

Updated by Bernhard Koschiček-Krombholz about 2 years ago

It is a good idea. I looked into it and I would appreciate, if we can go through it together.

Actions #4

Updated by Bernhard Koschiček-Krombholz about 2 years ago

  • Target version changed from 208 to 7.8.0
Actions #5

Updated by Alexander Watzinger about 2 years ago

  • Description updated (diff)
Actions #6

Updated by Bernhard Koschiček-Krombholz about 2 years ago

  • Description updated (diff)
Actions #7

Updated by Bernhard Koschiček-Krombholz almost 2 years ago

  • Description updated (diff)
Actions #8

Updated by Bernhard Koschiček-Krombholz almost 2 years ago

  • Description updated (diff)
Actions #9

Updated by Bernhard Koschiček-Krombholz almost 2 years ago

  • Target version changed from 7.8.0 to 7.9.0
Actions #10

Updated by Bernhard Koschiček-Krombholz almost 2 years ago

  • Target version changed from 7.9.0 to 7.10.0
Actions #11

Updated by Bernhard Koschiček-Krombholz over 1 year ago

  • Status changed from Assigned to In Progress
Actions #12

Updated by Bernhard Koschiček-Krombholz over 1 year ago

  • Description updated (diff)
Actions #13

Updated by Stefan Eichert over 1 year ago

Regarding the Question "P127 has broader term doesn't exist in LOUD. So we have problems to display Types as single entity, e.g. /api/cidoc_class/E55

":

As I understand, LOUD uses SKOS "broader" and "narrower" instead of P127:

Type: {
@id: "crm:E55_Type",
@context: {
part: {
@id: "skos:narrower",
@type: "@id",
@container: "@set" 
},
part_of: {
@id: "skos:broader",
@type: "@id",
@container: "@set" 
},
member_of: {
@id: "la:member_of",
@type: "@id",
@container: "@set" 
}
}
}

Would this solve the problem?

Actions #14

Updated by Bernhard Koschiček-Krombholz over 1 year ago

  • Description updated (diff)

I have seen that to, but wasn't sure it I understood it correctly. For sure, I can just swap any P127 to "broader" if this is correct.
Thank you.

Actions #15

Updated by Alexander Watzinger over 1 year ago

  • Target version changed from 7.10.0 to 7.12.0
Actions #16

Updated by Bernhard Koschiček-Krombholz over 1 year ago

  • Description updated (diff)
Actions #17

Updated by Bernhard Koschiček-Krombholz over 1 year ago

  • Description updated (diff)
Actions #18

Updated by Stefan Eichert over 1 year ago

Regarding the question on the coordinates of a place I suggest we use the following approach from the example https://linked.art/model/place/#buildings-and-immovable-objects

{
@context: "https://linked.art/ns/v1/linked-art.json",
id: "https://thanados.net/entity/12344",
type: "PhysicalThing",
_label: "My House",
classified_as: [
{
id: "https://thanados.net/vocabulary/12345",
type: "Type",
_label: "Building" 
}
],
former_or_current_location: {
type: "Place",
_label: "Location of my House",
defined_by: "POLYGON((165.74 -33.55, -179.96 -33.55, -179.96 -47.8, 165.74 -47.8, 165.74 -33.55))" 
}
}
Actions #19

Updated by Bernhard Koschiček-Krombholz over 1 year ago

I oversaw, that former_or_current_location can also be an array/set. Thank you.

Actions #20

Updated by Bernhard Koschiček-Krombholz over 1 year ago

  • Status changed from In Progress to Closed

The first Linked Open Usable Data version is in develop and ready to test.
It can be used with ?format=loud.

I will open another ticket (#1980) to improve the output.

Actions #21

Updated by Alexander Watzinger over 1 year ago

  • Subject changed from API: using linked.art to API: Adding linked.art format
  • Description updated (diff)
Actions #22

Updated by Alexander Watzinger over 1 year ago

Thank you for implementing, it is already online on the development demo (https://demo-dev.openatlas.eu) and can be tested there, e.g. https://demo-dev.openatlas.eu/api/entity/20701?format=loud

Actions

Also available in: Atom PDF