Skip to main content

Node Definitions

This section defines each node type in the graph (alphabetical). For each, we describe what it represents, give a relational analogy (how you'd model the same thing in tables), show a concrete example, list standard properties, and list typical relationships.

Conventions: Node labels use PascalCase (e.g., SongSection). Property names use camelCase (e.g., releaseDate). Established acronyms retain their standard casing (URI, WKT). For purposes of visualization, each node label has been color-coded and these colors will be used throughout the rest of this document.

Node definitions will appear in the following standardized format:

Example Node Definition

Description: brief description of the node and its scope.

Analogy: how a recorded entity of this node might be represented in a spreadsheet or relational database.

Example: example entity name/title.

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"node-slug"
... ... ... ... ... ...
node-specific
properties
... ... ... ... ...
... ... ... ... ... ...
wikidataQID string no no wherever relevant, the
ENTITY'S Wikidata QID
"QID"
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships: key outgoing and incoming relationships will be summarized using Neo4j cypher syntax; for more details and UML-style relationship declarations with cardinality, see each edge/relationship definition.

 Account 

Description: Nodes with the 'Account' label, representing discrete online accounts (anonymous, organizational, or personal) on various platforms. Represented in visualizations by HTML hex color #577590:  Account  with white (#FFFFFF) label text.

Account owners (organizations and/or people) may be tied to these when known via relationships. This node will be used, initially, for recording and analyzing online public reactions and responses, particularly to assess networks related to praise and criticism.

Analogy: A row in an 'Accounts' spreadsheet or relational database table.

Example: "Wells Archive (Youtube)", "Darrell Rohl (Instagram)"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"account-youtube-welles-archive",
"account-instagram-darrellrohl"
platform string yes no online platform for this
account
"Youtube",
"Instagram"
handle string yes no platform-specific account
handle or username
"WellsArchive",
"darrellRohl"
displayName string yes no platform-specific account
display name
"Welles Archive",
"Darrell Rohl"
accountURI string no yes URI to access this
account on the platform
"https://www.youtube.com/@WellesArchive",
"https://www.instagram.com/darrellrohl"
wikidataQID string no no wherever relevant, the
account's Wikidata QID
"QID"
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
( :Account ) ──[:OWNED_BY]──>( :Artist )
( :Account ) ──[:OWNED_BY]──>( :Organization )
( :Account ) ──[:OWNED_BY]──>( :Person )
( :Account )──[:POSTED]──>( :Reaction )

Relationships (incoming):
There are currently no incoming relationships for this node.

 Album 

Description: Nodes with the 'Album label, representing musical releases such as albums, EPs, LPs, and Singles. Represented in visualizations by HTML hex color #7209b7:  Album  with white (#FFFFFF) label text.

Analogy: A row in an 'Albums' spreadsheet or relational database table.

Example: 'Hells Welles', 'Under the Powerlines II (October 24-December 24)'

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"alb-hells-welles",
"alb-red-trees-and-white-trashes"
title string yes no official release title "Hells Welles",
"Red Trees and White Trashes"
label string no no record label name if
known or relevant
NULL,
"300 Entertainment"
isLive boolean yes no is this a "live" album? false,
false
releaseDate date yes no release date in
YYYY-MM-DD format
2024-07-04,
2018-06-15
spotifyURI string no yes URI to album on Spotify "https://open.spotify.com/album/3Q48reORc8Ex4xTsFuYQGf",
"https://open.spotify.com/album/7ADJVb0A5UfpnijQ67tqYI"
wikidataQID string no no wherever relevant, the
album's Wikidata QID
"Q155715" (for AC/DC's "Back in Black")
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
( :Album )──[:HAS_THEME]──>( :Theme )

Relationships (incoming):
( :Artist )──[:RELEASED_ALBUM]──>( :Album )
( :LyricLine )──[:MENTIONS]──>( :Album )
( :Reaction )──[:ABOUT]──>( :Album )
( :Reaction )──[:MENTIONS]──>( :Album )
( :Recording )──[:RELEASED_ON]──>( :Album )
( :Song )──[:MENTIONS]──>( :Album )
( :SongSection )──[:MENTIONS]──>( :Album )

 Artist 

Description: Nodes with the 'Artist' label, representing public-facing credit identities of a single person (e.g., a solo artist) or group/ensemble (e.g., a band). Represented in visualizations by HTML hex color #F3722C:  Artist  with white (#FFFFFF) label text.

Analogy: A row in an 'Artists' spreadsheet or relational database table.

Example: "Jesse Welles", "Dead Indian", "Marcus King Band"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"art-jesse-wells",
"art-dead-indian"
name string yes no artist identity name "Jesse Welles",
"Dead Indian"
type string yes no artist identity type as
string or array
["Solo", "Alias"],
"Band"
wikidataQID string no no wherever relevant, the
artist's Wikidata QID
"Q30599643" (for "Jesse Welles")
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
( :Artist )──[:CREDITED_ON]──>( :Recording )
( :Artist )──[:RELEASED_ALBUM]──>( :Album )

Relationships (incoming):
( :Account )──[:OWNED_BY]──>( :Artist )
( :LyricLine )──[:MENTIONS]──>( :Artist )
( :Person )──[:MEMBER_OF]──>( :Artist )
( :Person )──[:PERFORMS_AS]──>( :Artist )
( :Reaction )──[:ABOUT]──>( :Artist )
( :Reaction )──[:MENTIONS]──>( :Artist )
( :Song )──[:MENTIONS]──>( :Artist )
( :SongSection )──[:MENTIONS]──>( :Artist )

 Concept 

Description: Nodes with the 'Concept' label, representing any abstract idea or entity that is not already present within the data model (i.e., when there is not already a separate node—e.g., 'Artist,' 'Emotion,' 'Event,' 'Person,' 'Place,' 'Song'—for them in the database). Represented in visualizations by HTML hex color #FFD166:  Concept  with black (#000000) label text.

Concepts will usually have external IDs in Wikidata or similar ontologies. They are often explicitly mentioned but also may be alluded to or inferred. Concepts may often be identified by one or two words. In our database, concepts also include any specific identified entity such as works of literature (e.g., The Grapes of Wrath), religions, books, brands, mythic figures, etc. that could be represented by a specific node type that hasn't yet been (and may never be) represented in our database. Properties attached to nodes may later be used to extract concept groupings into their own nodes whenever this appears to benefit our use-cases. Strongly related to but separate from 'Theme.'

Analogy: A row in a 'Concepts' spreadsheet or relational database table.

Example: "Laverne and Shirley", "war", "Blood Meridian"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"concept-war",
"concept-laverne-and-shirley"
name string yes no concept term or name "war",
"Laverne and Shirley"
type string yes no type of concept from a
controlled vocabulary
"suggested type for 'war'?",
"television show"
wikidataQID string no no wherever relevant, the
concept's Wikidata QID
"Q198" (for "war"),
"Q1247693" (for "Laverne & Shirley")
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
these would go here

Relationships (incoming):
( :LyricLine )──[:ALLUDES_TO]──>( :Concept )
( :LyricLine )──[:MENTIONS]──>( :Concept )
( :LyricLine )──[:QUOTES]──>( :Concept )
( :Reaction )──[:ABOUT]──>( :Concept )
( :Reaction )──[:ALLUDES_TO]──>( :Concept )
( :Reaction )──[:MENTIONS]──>( :Concept )
( :Reaction )──[:QUOTES]──>( :Concept )
( :Song )──[:ALLUDES_TO]──>( :Concept )
( :Song )──[:INSPIRED_BY]──>( :Concept )
( :Song )──[:MENTIONS]──>( :Concept )
( :Song )──[:QUOTES]──>( :Concept )
( :SongSection )──[:ALLUDES_TO]──>( :Concept )
( :SongSection )──[:MENTIONS]──>( :Concept )
( :SongSection )──[:QUOTES]──>( :Concept )
( :Theme )──[:ALIGNS_WITH]──>( :Concept )
( :Theme )──[:RELATED_TO]──>( :Concept )

 Emotion 

Description: Nodes with the 'Emotion' label, representing defined emotional states. Represented in visualizations by HTML hex color #4ECDC4:  Emotion  with black (#000000) label text.

This node begins as a mirror of the 28 emotion entities identified within the GoEmotions dataset but may be added to in the future.

Analogy: A row in an 'Emotions' spreadsheet or relational database table.

Example: "admiration", "anger", "confusion"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"emot-anger",
"emot-confusion"
name string yes yes emotion name or term "anger",
"confusion"
description string yes no emotion description "A strong feeling of displeasure, hostility, and
frustration, often a response to a perceived wrong.",
"A state of uncertainty or lack of understanding,
making things unclear."
wikidataQID string no no wherever relevant, the
emotion's Wikidata QID
"Q79871" (for "anger"),
"Q557945" (for "mental confusion")
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
these would go here

Relationships (incoming):
( :LyricLine )─[:EXPRESSES]──>( :Emotion )
( :Reaction )─[:EXPRESSES]──>( :Emotion )
( :Song )─[:EXPRESSES]──>( :Emotion )
( :SongSection )─[:EXPRESSES]──>( :Emotion )

 Event 

Description: Nodes with the 'Event' label, representing significant events (e.g., notable performances, events referred to in songs, etc.) of relevance within the dataset. Represented in visualizations by HTML hex color #F8961E:  Event  with black (#000000) label text.

Analogy: A row in an 'Events' spreadsheet or relational database table.

Example: "Farm Aid 2024", "Assassination of Charlie Kirk"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"event-farm-aid-2024",
"event-charlie-kirk-assassination"
name string yes no event name or short
description
"Farm Aid 2024",
"Assasination of Charlie Kirk"
dateStart date yes no date of event start
in YYYY-MM-DD format
2024-09-21,
2025-09-10
dateEnd date yes no date of event end in
YYYY-MM-DD format
2024-09-21,
2025-09-10
wikidataQID string no no wherever relevant, the
event's Wikidata QID
"ID"
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
these would go here

Relationships (incoming):
( :LyricLine )──[:ALLUDES_TO]──>( :Event )
( :LyricLine )──[:MENTIONS]──>( :Event )
( :Reaction )──[:ABOUT]──>( :Event )
( :Reaction )──[:ALLUDES_TO]──>( :Event )
( :Reaction )──[:MENTIONS]──>( :Event )
( :Recording )──[:PERFORMED_DURING]──>( :Event )
( :Song )──[:ALLUDES_TO]──>( :Event )
( :Song )──[:INSPIRED_BY]──>( :Event )
( :Song )──[:MENTIONS]──>( :Event )
( :SongSection )──[:ALLUDES_TO]──>( :Event )
( :SongSection )──[:MENTIONS]──>( :Event )

 LyricLine 

Description: Nodes with the 'LyricLine' label, representing atomic text units (used in alignment, tagging, etc.) within the lyrics of a Song or Recording. Represented in visualizations by HTML hex color #EF476F:  LyricLine  with white (#FFFFFF) label text.

Analogy: A row in a 'Lyrics' spreadsheet or relational database table.

Example: "War isn't murder, we should all give thanks", "I ain't selling my soul for a couple of views"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"line-song-war-isnt-murder-verse03-01",
"line-song-payola-verse01-05"
text string yes no raw lyric text for this
line
"War isn't murder, we should all give thanks",
"I ain't selling my soul for a couple of views"
vaderCompound float no no VADER compound sentiment
score (-1.0 negative →
+1.0 positive)
0.4094,
0
goTopLabel string no no most probable GoEmotions
label inferred for this
line
"gratitude",
"neutral"
goTopScore float no no probability score of the
top GoEmotions label
0.9662200808525085,
0.6813382506370544
goEmotionsJSON map<string> no no full GoEmotions
probability map for this
line (above 0.25 score
threshold) as JSON
{'gratitude': 0.9662200808525085},
{'disapproval': 0.3838634788990021, 'neutral': 0.6813382506370544}
embedding list<float> no no sentence-transformer
embedding vector
representing this line's
semantic meaning as float
array
[0.0275554396212101, ABBREVIATED, 0.0004156725772190839],
[0.0032049650326371193, ABBREVIATED, -0.02690560556948185]
wikidataID string no yes wherever relevant, the
ENTITY'S wikiData ID
"ID"
createdAt datetime yes no timestamp of entity
recordcreation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
( :LyricLine )──[:ALLUDES_TO]──>( :Concept )
( :LyricLine )──[:ALLUDES_TO]──>( :Event )
( :LyricLine )──[:ALLUDES_TO]──>( :Person )
( :LyricLine )──[:ALLUDES_TO]──>( :Place )
( :LyricLine )──[:DATA_DERIVED_IN]──>( :ModelRun )
( :LyricLine )──[:EVOKES_THEME]──>( :Theme )
( :LyricLine )──[:EXPRESSES]──>( :Emotion )
( :LyricLine )──[:MENTIONS]──>( :Album )
( :LyricLine )──[:MENTIONS]──>( :Artist )
( :LyricLine )──[:MENTIONS]──>( :Concept )
( :LyricLine )──[:MENTIONS]──>( :Event )
( :LyricLine )──[:MENTIONS]──>( :LyricLine )
( :LyricLine )──[:MENTIONS]──>( :Organization )
( :LyricLine )──[:MENTIONS]──>( :Person )
( :LyricLine )──[:MENTIONS]──>( :Place )
( :LyricLine )──[:MENTIONS]──>( :Reaction )
( :LyricLine )──[:MENTIONS]──>( :Recording )
( :LyricLine )──[:MENTIONS]──>( :Song )
( :LyricLine )──[:MENTIONS]──>( :SongSection )
( :LyricLine )──[:QUOTES]──>( :Concept )
( :LyricLine )──[:QUOTES]──>( :LyricLine )
( :LyricLine )──[:QUOTES]──>( :Reaction )
( :LyricLine )──[:QUOTES]──>( :Song )
( :LyricLine )──[:SIMILAR_TO]──>( :LyricLine )

Relationships (incoming):
( :LyricLine )──[:MENTIONS]──>( :LyricLine )
( :LyricLine )──[:QUOTES]──>( :LyricLine )
( :LyricLine )──[:SIMILAR_TO]──>( :LyricLine )
( :Reaction )──[:ABOUT]──>( :LyricLine )
( :Reaction )──[:MENTIONS]──>( :LyricLine )
( :Reaction )──[:QUOTES]──>( :LyricLine )
( :Song )──[:HAS_LINE]──>( :LyricLine )
( :Song )──[:MENTIONS]──>( :LyricLine )
( :Song )──[:QUOTES]──>( :LyricLine )
( :SongSection )──[:HAS_LINE_IN_SECTION]──>( :LyricLine )
( :SongSection )──[:MENTIONS]──>( :LyricLine )
( :SongSection )──[:QUOTES]──>( :LyricLine )

 ModelRun 

Description: Nodes with the 'ModelRun' label, representing key data for individual runs of NLP and other computing models. Represented in visualizations by HTML hex color #A44A3F:  ModelRun  with white (#FFFFFF) label text.

This is useful for establishing provenance and comparing runs over time.

Analogy: A row in a 'ModelRuns' spreadsheet or relational database table.

Example: "run_20251016_2108", "run_20251012_1245"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"run_20251016_2108",
"run_20251012_1245"
task list<string> yes no specific task(s) run ["vader","GoEmotions"],
["vader","GoEmotions","embedding"]
model string no no specific model(s) used
on run
"goemotions:base",
"goemotions:base"
version list<float> no no specific version(s) used
on run
[3.02],
[3.02, 4.2.98]
params list<string> no no specific parameters
used on run
["example needed"],
["example needed","example needed"]
runAt datetime yes no timestamp of model run 2025-10-19T12:58:49.097000000Z
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
these would go here

Relationships (incoming):
( :LyricLine )──[:DATA_DERIVED_IN]──>( :ModelRun )
( :Reaction )──[:DATA_DERIVED_IN]──>( :ModelRun )
( :Song )──[:DATA_DERIVED_IN]──>( :ModelRun )
( :SongSection )──[:DATA_DERIVED_IN]──>( :ModelRun )

 Organization 

Description: Nodes with the 'Organization' label, representing named organizations or groups. Represented in visualizations by HTML hex color #FF6B6B:  Organization  with white (#FFFFFF) label text.

Analogy: A row in an 'Organization' spreadsheet or relational database table.

Example: "DuPont", "Mansanto"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"org-dupont",
"org-monsanto"
name string yes no organization/group name "DuPont",
"Monsanto Company"
altName list<string> no no any known alternative
names or acronyms as
string or array
["alt1", "alt2"],
"ACRONYM"
wikidataQID string no no wherever relevant, the
organization's wikiData
ID
"Q207983" (for "Monsanto"),
"Q221062" (for "DuPont")
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
these would go here

Relationships (incoming):
( :Account )──[:OWNED_BY]──>( :Organization )
( :LyricLine )──[:MENTIONS]──>( :Organization )
( :Person )──[:MEMBER_OF]──>( :Organization )
( :Reaction )──[:ABOUT]──>( :Organization )
( :Reaction )──[:MENTIONS]──>( :Organization )
( :Song )──[:MENTIONS]──>( :Organization )
( :SongSection )──[:MENTIONS]──>( :Organization )

 Person 

Description: Nodes with the 'Person' label, representing actual human beings and not their public personas, stage-names, or characters (which are modeled in 'Artist' or other relevant nodes). Represented in visualizations by HTML hex color ##B23A48:  Person  with white (#FFFFFF) label text.

Analogy: A row in a 'People' spreadsheet or relational database table.

Example: "Jesse Allen Breckenridge Wells", "William Lee Apostol"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"pers-jesse-welles",
"pers-billy-strings"
legalName string yes no person's full legal name "Jesse Allen Breckenridge Wells",
"William Lee Apostol"
preferredName string yes no name most often used and
how we refer to them
"Jesse Welles",
"Billy Strings"
altName list<string> no no any known aliases or
stage-names, etc.
as string or array
["Jesse Welles", "Breck Shipley"],
"Billy Strings"
wikidataQID string no no wherever relevant, the
person's Wikidata QID
"Q30599643" (for "Jesse Welles"),
"Q52004084" (for "Billy Strings")
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
( :Person )──[:MEMBER_OF]──>( :Artist )
( :Person )──[:MEMBER_OF]──>( :Organization )
( :Person )──[:PERFORMED_ON]──>( :Recording )
( :Person )──[:PERFORMS_AS]──>( :Artist )
( :Person )──[:WROTE_SONG]──>( :Song )

Relationships (incoming):
( :Account )──[:OWNED_BY]──>( :Person )
( :LyricLine )──[:ALLUDES_TO]──>( :Person )
( :LyricLine )──[:MENTIONS]──>( :Person )
( :Reaction )──[:ABOUT]──>( :Person )
( :Reaction )──[:ALLUDES_TO]──>( :Person )
( :Reaction )──[:MENTIONS]──>( :Person )
( :Song )──[:ALLUDES_TO]──>( :Person )
( :Song )──[:INSPIRED_BY]──>( :Person )
( :Song )──[:MENTIONS]──>( :Person )
( :SongSection )──[:ALLUDES_TO]──>( :Person )
( :SongSection )──[:MENTIONS]──>( :Person )

 Place 

Description: Nodes with the 'Place' label, representing (real or imaginary) locations of relevance to this dataset. Represented in visualizations by HTML hex color #90BE6D:  Place  with black (#000000) label text.

Analogy: A row in a 'Places' spreadsheet or relational database table.

Example: "Gaza", "Mars", "The White House"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"place-mars",
"place-white-house"
name string yes no official or most common
place name/toponym
"Mars",
"The White House"
altName list<string> no no any known alternative
toponyms, etc. as
string or array
"The Red Planet",
["The Executive Mansion", "The President's House"]
locationWKT string no no the place's spatial
geometry as a point,
line, or (multi)polygon,
expressed as a WKT
string (EPSG: 4326)
"POINT(-77.0365 38.897)",
"POLYGON ((-77.0368 38.8977, -77.0366 38.8978, -77.0363 38.8977, -77.0364 38.8976, -77.0368 38.8977))"
wikidataQID string no no wherever relevant, the
place's Wikidata QID
"Q111" (for "Mars"),
"Q35525" (for "White House")
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
these would go here

Relationships (incoming):
( :LyricLine )──[:ALLUDES_TO]──>( :Place )
( :LyricLine )──[:MENTIONS]──>( :Place )
( :Reaction )──[:ABOUT]──>( :Place )
( :Reaction )──[:ALLUDES_TO]──>( :Place )
( :Reaction )──[:MENTIONS]──>( :Place )
( :Recording )──[:RECORDED_AT]──>( :Place )
( :Song )──[:ALLUDES_TO]──>( :Place )
( :Song )──[:INSPIRED_BY]──>( :Place )
( :Song )──[:MENTIONS]──>( :Place )
( :SongSection )──[:ALLUDES_TO]──>( :Place )
( :SongSection )──[:MENTIONS]──>( :Place )

 Platform 

Description: Nodes with the 'Platform' label, representing online platforms such as social media networks, discussion boards and forums, media-sharing sites, blogs, and major online publications. Represented in visualizations by HTML hex color #118AB2:  Platform  with white (#FFFFFF) label text.

Analogy: A row in a 'Platforms' spreadsheet or relational database table.

Example: "Facebook," "Instagram," "YouTube," "Reddit," "New York Times"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"platform-youtube",
"platform-reddit"
name string yes yes official platform name "YouTube",
"Reddit"
platformURI string yes yes platform home URI "https://www.youtube.com/",
"https://www.reddit.com/"
wikidataQID string no no wherever relevant, the
platform's Wikidata QID
"Q866" (for "YouTube"),
"Q1136" (for "Reddit")
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
these would go here

Relationships (incoming):
( :Reaction )──[:PUBLISHED_ON]──>( :Platform )

 Reaction 

Description: Nodes with the 'Reaction' label, representing online-accessible reactions of relevance to our dataset (e.g., reviews, responses, praise, criticism, etc.). Represented in visualizations by HTML hex color #6D597A:  Reaction  with white (#FFFFFF) label text.

These may include media articles published in established media outlets (e.g., The New York Times, Rolling Stone) or posts and comments on social media platforms or online discussion boards.

Analogy: A row in a 'Reactions' spreadsheet or relational database table.

Example: "react-reddit-2025-03-27", "react-tiktok-jcamericanaomb-2025-09-17"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"react-reddit-send-me-your-rant-2025-03-27",
"react-tiktok-jcamericanaomb-2025-09-17"
text string yes no raw text or transcription
for this reaction
"Jesse Welles is Great. [...] Long live Jesse Welles.",
"NEVER liked this dude or his corny ass music. [...] Disgraceful 🤬 #sellout"
date date yes no date of the reaction in
YYYY-MM-DD format
2025-03-27,
2025-09-17
URI string yes no URI to this access this
reaction online
"https://www.reddit.com/r/FolkPunk/comments/1jld3dg/jesse_welles_is_great",
"https://www.tiktok.com/@jcamericanaomb/video/7551188389714791735"
lang string yes no reaction language "English",
"English"
stance string yes no the attitude or
evaluative position
expressed in a reaction
toward its target
"praise",
"criticism"
vaderCompound float no no VADER compound
sentiment score (-1.0
negative → +1.0
positive)
0.5859,
-0.7630
goTopLabel string no no most probable
GoEmotions label
inferred for this text
"admiration",
"disapproval"
goTopScore float no no probability score of the
top GoEmotions label
0.9284802079200745,
0.5399026870727539
goEmotionsJSON map<string> no no full GoEmotions
probability map for this
text (above 0.25 score
threshold) as JSON
{'admiration': 0.9284802079200745},
{'anger': 0.27426159381866455, 'annoyance': 0.28248387575149536, 'disapproval': 0.5399026870727539}
embedding list<float> no no sentence-transformer
embedding vector
representing this text's
semantic meaning as
float array
[-0.06676381826400757, [ABBREVIATED], -0.0169269647449255],
[-0.027142615988850594, [ABBREVIATED], -0.0027561141178011894]
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
( :Reaction )──[:ABOUT]──>( :Album )
( :Reaction )──[:ABOUT]──>( :Artist )
( :Reaction )──[:ABOUT]──>( :Concept )
( :Reaction )──[:ABOUT]──>( :Event )
( :Reaction )──[:ABOUT]──>( :LyricLine )
( :Reaction )──[:ABOUT]──>( :Organization )
( :Reaction )──[:ABOUT]──>( :Person )
( :Reaction )──[:ABOUT]──>( :Place )
( :Reaction )──[:ABOUT]──>( :Reaction )
( :Reaction )──[:ABOUT]──>( :Recording )
( :Reaction )──[:ABOUT]──>( :Song )
( :Reaction )──[:ABOUT]──>( :SongSection )
( :Reaction )──[:ALLUDES_TO]──>( :Concept )
( :Reaction )──[:ALLUDES_TO]──>( :Event )
( :Reaction )──[:ALLUDES_TO]──>( :Person )
( :Reaction )──[:ALLUDES_TO]──>( :Place )
( :Reaction )──[:DATA_DERIVED_IN]──>( :ModelRun )
( :Reaction )──[:EVOKES_THEME]──>( :Theme )
( :Reaction )──[:EXPRESSES]──>( :Emotion )
( :Reaction )──[:MENTIONS]──>( :Album )
( :Reaction )──[:MENTIONS]──>( :Artist )
( :Reaction )──[:MENTIONS]──>( :Concept )
( :Reaction )──[:MENTIONS]──>( :Event )
( :Reaction )──[:MENTIONS]──>( :LyricLine )
( :Reaction )──[:MENTIONS]──>( :Organization )
( :Reaction )──[:MENTIONS]──>( :Person )
( :Reaction )──[:MENTIONS]──>( :Place )
( :Reaction )──[:MENTIONS]──>( :Reaction )
( :Reaction )──[:MENTIONS]──>( :Recording )
( :Reaction )──[:MENTIONS]──>( :Song )
( :Reaction )──[:MENTIONS]──>( :SongSection )
( :Reaction )──[:PUBLISHED_ON]──>( :Platform )
( :Reaction )──[:QUOTES]──>( :Concept ))
( :Reaction )──[:QUOTES]──>( :LyricLine )
( :Reaction )──[:QUOTES]──>( :Reaction )
( :Reaction )──[:QUOTES]──>( :Song )

Relationships (incoming):
( :Account )──[:POSTED]──>( :Reaction )
( :LyricLine )──[:MENTIONS]──>( :Reaction )
( :LyricLine )──[:QUOTES]──>( :Reaction )
( :Reaction )──[:ABOUT]──>( :Reaction )
( :Reaction )──[:MENTIONS]──>( :Reaction )
( :Reaction )──[:QUOTES]──>( :Reaction )
( :Song )──[:MENTIONS]──>( :Reaction )
( :Song )──[:QUOTES]──>( :Reaction )
( :SongSection )──[:MENTIONS]──>( :Reaction )
( :SongSection )──[:QUOTES]──>( :Reaction )

 Recording 

Description: Nodes with the 'Recording' label, representing a specific recorded performance or mix of a song. Represented in visualizations by HTML hex color #F94144:  Recording  with white (#FFFFFF) label text.

Analogy: A row in a 'Recordings' spreadsheet or relational database table.

Example: "New Moon", "Rocket Man (December 1, 2024)"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"rec-new-moon-patchwork",
"rec-rocket-man-december-1-2024-under-the-powerlines-2"
title string yes no recorded track title or
name
"New Moon",
"Rocket Man (December 1, 2024)"
isLive boolean yes no is this a "live"
performance?
false,
true
year integer yes no year of recording in YYYY
format
2024,
2024
durationSeconds integer yes no duration of the recording
in seconds
128,
259
spotifyURI string no yes URI to recording on
Spotify
"https://open.spotify.com/album/3Q48reORc8Ex4xTsFuYQGf",
"https://open.spotify.com/track/7HPwnTMfJsC314PFdolY3S"
wikidataQID string no no wherever relevant, the
recording's Wikidata QID
"ID"
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
( :Recording )──[:PERFORMANCE_OF]──>( :Song )
( :Recording )──[:PERFORMED_DURING]──>( :Event )
( :Recording )──[:RECORDED_AT]──>( :Place )
( :Recording )──[:RELEASED_ON]──>( :Album )

Relationships (incoming):
( :Artist )──[:CREDITED_ON]──>( :Recording )
( :LyricLine )──[:MENTIONS]──>( :Recording )
( :Person )──[:PERFORMED_ON]──>( :Recording )
( :Reaction )──[:ABOUT]──>( :Recording )
( :Reaction )──[:MENTIONS]──>( :Recording )
( :Song )──[:MENTIONS]──>( :Recording )
( :SongSection )──[:MENTIONS]──>( :Recording )

 Song 

Description: Nodes with the 'Song' label, representing distinct compositional works and not just a performance or recording. Represented in visualizations by HTML hex color #3A86FF:  Song  with white (#FFFFFF) label text.

Analogy: A row in a 'Songs' spreadsheet or relational database table.

Example: "War Isn't Murder", "Happy Easter"

Node Properties:

property type req? uniq? description example(s)
uid string yes yes Internal unique ID,
alphanumeric string,
kebab-case-format.
"song-war-is-a-god",
"song-happy-easter"
title string yes no Official song title. "War is a God",
"Happy Easter"
iswc string no yes International Standard
Musical Work Code
uniquely identifying
registered musical
compositions.
"T3312048167",
"T3288295369"
ascapID integer no yes Optional unique work ID
assigned by ASCAP for
music licensing and
performance rights.
929288695,
927651492
bmiID integer no yes Optional unique work ID
assigned by BMI for
music licensing and
performance rights. Most
Jesse Welles songs are
registered with BMI.
72233016,
70343776
gmrID integer no yes Optional unique work ID
assigned by GMR for
music licensing and
performance rights.
100051958 (for Bruce
Springsteen's "Nebraska")
sesacID integer no yes Optional unique work ID
assigned by SESAC for
music licensing and
performance rights.
514790 (for Bob Dylan's
"Masters of War")
wikidataQID string no no Wherever relevant, the
song's Wikidata QID
"Q640529" (for Bob
Dylan's "Blowin' in
the Wind")
vaderMean float no no Computationally-derived
sentiment score using
NLTK/vader. Mean of all
LyricLine vaderCompound
sentiment scores in the
song. Scale = -1 (fully
negative) to +1 (fully
positive).

-0.115885673,
0.012325325
vaderMedian float no no Computationally-derived
sentiment score using
NLTK/vader. Median of all
LyricLine vaderCompound
sentiment scores in the
song.
-0.0418,
0
vaderStd float no no Computationally-derived
standard deviation of
sentiment scores using
NLTK/vader. Based on
LyricLine vaderCompound
sentiment scores in the
song.
0.364661836,
0.216856861
goTopLabel string no no Computationally-derived
emotion label using NLP
trained on GoEmotions
dataset. Emotion Label
with the highest mean
GoEmotions probability
score across all
LyricLines in the Song.
"sadness",
"optimism"
goTopScore float no no Mean probability for the
Song's computationally-
derived top GoEmotions
label.
0.645917885,
0.712253302
goJSON string no no JSON-formatted list of
computationally-derived
GoEmotions labels with
mean probabilities
(above a specified
threshold) aggregated
over the song.
"{"sadness": 0.6303900627129099}",
"{"curiosity": 0.6957039223430714}"
embedding [float] no no Computationally-derived
mean-pooled sentence-
embedding vector
representing the song's
overall semantics as a
float array.
[0.016344951095751868, ABBREVIATED 0.009219204652180797],
[-0.006307259388397125, ABBREVIATED 0.004472887511986183]
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no Timestamp of entity
record last update.
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
( :Song )──[:ALLUDES_TO]──>( :Concept )
( :Song )──[:ALLUDES_TO]──>( :Event )
( :Song )──[:ALLUDES_TO]──>( :Person )
( :Song )──[:ALLUDES_TO]──>( :Place )
( :Song )──[:DATA_DERIVED_IN]──>( :ModelRun )
( :Song )──[:EVOKES_THEME]──>( :Theme )
( :Song )──[:EXPRESSES]──>( :Emotion )
( :Song )──[:HAS_LINE]──>( :LyricLine )
( :Song )──[:HAS_SECTION]──>( :SongSection )
( :Song )──[:HAS_THEME]──>( :Theme )
( :Song )──[:INSPIRED_BY]──>( :Concept )
( :Song )──[:INSPIRED_BY]──>( :Event )
( :Song )──[:INSPIRED_BY]──>( :Person )
( :Song )──[:INSPIRED_BY]──>( :Place )
( :Song )──[:MENTIONS]──>( :Album )
( :Song )──[:MENTIONS]──>( :Artist )
( :Song )──[:MENTIONS]──>( :Concept )
( :Song )──[:MENTIONS]──>( :Event )
( :Song )──[:MENTIONS]──>( :LyricLine )
( :Song )──[:MENTIONS]──>( :Organization )
( :Song )──[:MENTIONS]──>( :Person )
( :Song )──[:MENTIONS]──>( :Place )
( :Song )──[:MENTIONS]──>( :Reaction )
( :Song )──[:MENTIONS]──>( :Recording )
( :Song )──[:MENTIONS]──>( :Song )
( :Song )──[:MENTIONS]──>( :SongSection )
( :Song )──[:QUOTES]──>( :Concept )
( :Song )──[:QUOTES]──>( :LyricLine 
( :Song )──[:QUOTES]──>( :Reaction 
( :Song )──[:QUOTES]──>( :Song )

Relationships (incoming):
( :LyricLine )──[:MENTIONS]──>( :Song )
( :LyricLine )──[:QUOTES]──>( :Song )
( :Person )──[:WROTE_SONG]──>( :Song )
( :Reaction )──[:ABOUT]──>( :Song )
( :Reaction )──[:MENTIONS]──>( :Song )
( :Reaction )──[:QUOTES]──>( :Song )
( :Recording )──[:PERFORMANCE_OF]──>( :Song )
( :Song )──[:MENTIONS]──>( :Song )
( :Song )──[:QUOTES]──>( :Song )
( :SongSection )──[:MENTIONS]──>( :Song )
( :SongSection )──[:QUOTES]──>( :Song )

 SongSection 

Description: Nodes with the 'SongSection' label, representing identifiable sections (e.g., chorus, verse, bridge, etc.) within a larger song; SongSections will be composed of smaller LyricLine units recorded in their own node. Represented in visualizations by HTML hex color #277DA1:  SongSection  with white (#FFFFFF) label text.

Analogy: A row in a 'SongSections' spreadsheet or relational database table.

Example: "War Isn't Murder Chorus 2", "Whistle Boeing Outro"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"section-song-war-isnt-murder-chorus02",
"section-song-whistle-boeing-outro01"
sectionType string yes no type of song section
(verse, chorus, bridge,
etc.)
"chorus",
"outro"
sectionNo integer yes no sequential number of the
section within the song
2,
1
vaderMean float no no mean of LyricLine
vaderCompound sentiment
scores within this section
-0.333213636,
-0.543238889
vaderMedian float no no median of LyricLine
vaderCompound sentiment
scores in this section
-0.2913,
-0.5622
vaderStd float no no standard deviation of
LyricLine vaderCompound
scores for this section
0.34138521,
0.08555
goTopLabel string no no emotion label with highest
mean GoEmotions
probability in this
section
"neutral",
"disgust"
goTopScore float no no highest mean probability
value among GoEmotions
labels in this section
0.712284538,
0.393655421
goEmotionsJSON map<string> no no mean GoEmotions
probabilities for all
labels aggregated over
this section as JSON
{"neutral": 0.6943266296823378},
{"disgust": 0.35761556358469926}
embedding list<float> no no mean-pooled embedding
vector summarizing this
section's semantic meaning
as float array
[0.01885061109917971, ABBREVIATED, 0.0057330460526648025],
[0.02352325683458305, ABBREVIATED, -0.013841392626837822]
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
( :SongSection )──[:ALLUDES_TO]──>( :Concept )
( :SongSection )──[:ALLUDES_TO]──>( :Event )
( :SongSection )──[:ALLUDES_TO]──>( :Person )
( :SongSection )──[:ALLUDES_TO]──>( :Place )
( :SongSection )──[:DATA_DERIVED_IN]──>( :ModelRun )
( :SongSection )──[:EVOKES_THEME]──>( :Theme )
( :SongSection )──[:EXPRESSES]──>( :Emotion )
( :SongSection )──[:HAS_LINE_IN_SECTION]──>( :LyricLine )
( :SongSection )──[:MENTIONS]──>( :Album )
( :SongSection )──[:MENTIONS]──>( :Artist )
( :SongSection )──[:MENTIONS]──>( :Concept )
( :SongSection )──[:MENTIONS]──>( :Event )
( :SongSection )──[:MENTIONS]──>( :LyricLine )
( :SongSection )──[:MENTIONS]──>( :Organization )
( :SongSection )──[:MENTIONS]──>( :Person )
( :SongSection )──[:MENTIONS]──>( :Place )
( :SongSection )──[:MENTIONS]──>( :Reaction )
( :SongSection )──[:MENTIONS]──>( :Recording )
( :SongSection )──[:MENTIONS]──>( :Song )
( :SongSection )──[:MENTIONS]──>( :SongSection )
( :SongSection )──[:QUOTES]──>( :Concept )
( :SongSection )──[:QUOTES]──>( :LyricLine )
( :SongSection )──[:QUOTES]──>( :Reaction )
( :SongSection )──[:QUOTES]──>( :Song )

Relationships (incoming):
( :LyricLine )──[:MENTIONS]──>( :SongSection )
( :Reaction )──[:ABOUT]──>( :SongSection )
( :Reaction )──[:MENTIONS]──>( :SongSection )
( :Song )──[:HAS_SECTION]──>( :SongSection )
( :Song )──[:MENTIONS]──>( :SongSection )
( :SongSection )──[:MENTIONS]──>( :SongSection )

 Theme 

Description: Nodes with the 'Theme' label, representing an analyst-identified recurring subject or motif. Represented in visualizations by HTML hex color #43AA8B:  Theme  with white (#FFFFFF) label text.

Themes are related to but different from 'Concept.' While concepts may appear within a Song or Reaction, they may not necessarily form a thematic focus. Concepts are more easily recognized by NLP models and NLP models may aid in the identification of themes but Theme nodes express a stronger human-driven analytical and interpretative process.

Analogy: A row in a 'Themes' spreadsheet or relational database table.

Example: "working-class struggle", "alienation", "the futility of war"

Node Properties:

propertyName type req? uniq? description example(s)
uid string yes yes unique identifier as
alphanumeric slug
"theme-working-class-struggle",
"theme-alienation",
"theme-futility-of-war"
name string yes no theme term or name "working-class struggle",
"alienation",
"the futility of war"
description string yes no brief description of this
theme (with examples?)
"The conflict between laborers and oppressive economic systems.
Example: "Look for the Union Label" song.",
"The profound feeling of isolation from society and self.
Example: Eliot's "The Love Song of J. Alfred Prufrock".",
"War is senseless destruction and pointlessness, devoid of glory.
Example: Wilfred Owen's "Dulce et Decorum Est"."
createdAt datetime yes no timestamp of entity
record creation
2025-10-11T19:58:41.097000000Z
updatedAt datetime no no timestamp of entity
record last update
2025-10-12T09:54:41.082000000Z

Relationships (outgoing):
( :Theme )──[:ALIGNS_WITH]──>( :Concept )
( :Theme )──[:RELATED_TO]──>( :Concept )

Relationships (incoming):
( :Album  )──[:HAS_THEME]──>( :Theme )
( :LyricLine )──[:EVOKES_THEME]──>( :Theme )
( :Reaction )──[:EVOKES_THEME]──>( :Theme )
( :Song )──[:EVOKES_THEME]──>( :Theme )
( :Song )──[:HAS_THEME]──>( :Theme )
( :SongSection )──[:EVOKES_THEME]──>( :Theme )

Updated on Nov 14, 2025