Skip to content

Instantly share code, notes, and snippets.

@olivier5741
Last active August 23, 2023 09:34
Show Gist options
  • Save olivier5741/63cf9e83ecb6c1befb0613bf18eab1dd to your computer and use it in GitHub Desktop.
Save olivier5741/63cf9e83ecb6c1befb0613bf18eab1dd to your computer and use it in GitHub Desktop.
logcica 2.0 activity hierarchy diagram
classes: {
embedded: {
shape: package
}
party: {
shape: image
icon: https://icons.terrastruct.com/essentials%2F365-user.svg
}
subject: {
shape: image
icon: https://icons.terrastruct.com/essentials%2F142-target.svg
}
schedulable: {
shape: image
icon: https://icons.terrastruct.com/essentials%2F273-calendar.svg
}
locatable: {
shape: image
icon: https://icons.terrastruct.com/essentials%2F335-home.svg
}
metadata: {
shape: image
icon: https://icons.terrastruct.com/essentials%2F061-info.svg
}
catalog: {
shape: image
icon: https://icons.terrastruct.com/essentials%2F143-windows.svg
}
classifiable: {
shape: image
icon: https://icons.terrastruct.com/essentials%2F133-star.svg
}
}
generic: {
near: top-center
party: {
class: embedded
main.class: party
main: {
height: 200
width: 200
}
description: |md
- organisation
- partnership
- activity
- workspace
- person
|
}
subject: {
class: embedded
main.class: subject
main: {
height: 200
width: 200
}
description: |md
- organisation
- partnership
- activity
- workspace
- counter
- session
- place
|
}
schedulable: {
class: embedded
main.class: schedulable
main: {
height: 200
width: 200
}
frequency
availabilities
}
availability: {
week availability
season availability
}
schedulable.availabilities -> availability
locatable: {
class: embedded
main.class: locatable
main: {
height: 200
width: 200
}
place: {
within
}
address
place.within -> place: {target-arrowhead: * {shape: cf-many}}
}
classifiable: {
main: {
class: classifiable
height: 200
width: 200
}
categories
tags
}
metadata: {
class: embedded
main: {
class: metadata
height: 200
width: 200
}
knowledge elements
}
}
metadata: {
profile
profile.subject.class: subject
profile -> knowledge element: {target-arrowhead: * {shape: cf-many}}
knowledge base -> knowledge element: {target-arrowhead: * {shape: cf-many}}
}
main: {
organisation: {
locatable.class: locatable
classifiable.class: classifiable
metadata.class: metadata
}
organisation -> activity: {target-arrowhead: * {shape: cf-many}}
organisation -> workspace: {target-arrowhead: * {shape: cf-many}}
organisation -> counter: {target-arrowhead: * {shape: cf-many}}
organisation -> partnership
partnership: {
classifiable.class: classifiable
metadata.class: metadata
}
contribution: {
subject.class: subject
contributor.class: party
roles
classifiable.class: classifiable
}
contribution.subject -> partnership
activity: {
owner.class: party
classifiable.class: classifiable
metadata.class: metadata
}
workspace: {
owner.class: party
locatable.class: locatable
classifiable.class: classifiable
metadata.class: metadata
}
counter: {
owner.class: party
locatable.class: locatable
schedulable.class: schedulable
classifiable.class: classifiable
metadata.class: metadata
}
counter.marketplace -> counter
counter -> session: {target-arrowhead: * {shape: cf-many}}
counter -> order: {target-arrowhead: * {shape: cf-many}}
counter.catalog -> catalog
counter.catalog.class: catalog
session: {
subject.class: subject
organiser.class: party
timeRange: {
shape: image
icon: https://icons.terrastruct.com/essentials%2Ftime.svg
}
catalog.class: catalog
classifiable.class: classifiable
metadata.class: metadata
}
session.catalog -> catalog
session -> order: {target-arrowhead: * {shape: cf-many}}
catalog: {
distributor.class: party
productCategories.class: classifiable
classifiable.class: classifiable
}
order: {
buyer.class: party
seller.class: party
classifiable.class: classifiable
metadata.class: metadata
}
order.lines -> product
product: {
producer.class: party
classifiable.class: classifiable
metadata.class: metadata
}
}
@olivier5741
Copy link
Author

Copy paste file content into D2 playground

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment