A property graph models a domain as labeled nodes and edges, with key–value properties attached to both. This structure represents entities, relationships, and relationship-specific metadata in a machine-readable form that supports human interpretation. section 1.4 section 1.6
Use property graphs when efficient traversal, path analysis, and edge-specific information matter. Unlike RDF, which defines relationships as globally reusable predicates, a property graph gives each edge a unique identity, allowing metadata to describe one relationship instance. section 1.6 section 3.2
A property-graph representation supports a direct implementation pipeline:
- Create nodes for domain entities, such as a disease and a phenotypic feature. section 3.2.2
- Connect nodes with a labeled edge, such as HAS_PHENOTYPIC_FEATURE. section 3.2.2
- Attach provenance directly to the edge, including source, creator, and creation date. section 3.2.2
- Traverse and filter the graph with an LPG query language such as Cypher, openCypher, or Gremlin. section 1.6 section 3.2.2
Biomedical annotation with edge properties
Represent disease OMIM:222100 and feature HP:0410050 as nodes joined by HAS_PHENOTYPIC_FEATURE. Store PMID:9357814, Nicole Vasilevsky, and 2018-02-23 on that edge, then query the relationship properties directly. section 3.2.2
Listing 3.11 Example LPG representation
(d { id: "OMIM:222100" })
-[:HAS_PHENOTYPIC_FEATURE {
source: "PMID:9357814"
createdBy: "Nicole Vasilevsky";
creationDate: "2018-02-23}]->
(p { id: "HP:0410050" })
Inspect the concrete LPG syntax for node identifiers, a labeled relationship, and provenance properties. section 3.2.2

