Tag
Description
A keyword or term assigned to a party
Label
:Tag
Properties
| Property | Description | Type |
|---|---|---|
| id | The tag's unique identifier (uuid) | string |
| name | the printable name of the Tag; see table below | string |
| createdBy | the person or process that created the node | string |
| createdDate | dateTime | |
| modifiedBy | the person or process who last modified the node | string |
| modifiedDate | dateTime |
Below is a not exhaustive list of tag list hierarchy:
Tag list name | Level 2 | Level 3 | Level 4 |
|---|---|---|---|
| Event Series | Attributes | Dry (no alcohol) event | |
| LGBTQIA+ friendly | |||
| Family friendly | |||
| Speakers | Categories & Topics | Belonging & Inclusion | Accessibility & Disability |
| Black Voices | |||
| Civil Rights | |||
| Business | Big Data & Analytics | ||
| Disruptive Innovation | |||
| Culture | Art & Fashion | ||
| Culinary | |||
| Entertainment | Celebrity | ||
| Digital Content | |||
| Health | Addiction & Recovery | ||
| Fitness & Nutrition | |||
| Types | AAPI | ||
| Action | |||
| Activists & Advocates | |||
| Actors & Actresses |
While four levels of hierarchy are shown above, the database developer can add as many levels as needed.
Key
id
Relationships
:SUBCATEGORY_OF, :HAS_TAG
The :SUBCATEGORY_OF relationship connects a child Tag to a parent Tag in a hierarchy. The example code below shows how the database developer can navigate the hierarchy.
The :HAS_TAG relationship connects a :Party to a specific :Tag. This is usuaally assigned to a tag at the bottom rung of a hierarchy.
Examples
cypher
MATCH (t:Tag)
WHERE NOT ( (t)-[:SUBCATEGORY_OF]->(:Tag) )
RETURN t.name AS TagListcypher
MATCH path = (topLevelTag:Tag {name: 'Speakers'})<-[:SUBCATEGORY_OF*0..10]-(descendant:Tag)
RETURN [n IN nodes(path) | n.name] AS pathNodescypher
MATCH (root:Tag {name: "Speakers"})
CALL apoc.path.spanningTree(root, {
relationshipFilter: "<SUBCATEGORY_OF",
labelFilter: "+Tag",
maxLevel: 10
}) YIELD path
RETURN pathcypher