The Inferal Hypergraphs Ontology defines RDF terms for hypergraphs, vertices, hyperedges, hyperedge membership occurrences, and incidence occurrences. It builds on the Inferal Sets Ontology by treating a hypergraph as a set of hyperedges and each hyperedge as a set-like resource whose incidences connect it to vertices. This enables RDF publishers to describe arbitrary-arity edges while preserving the individual membership occurrences needed for validation and annotation.
This is an unofficial 0.1 Editor's Draft maintained in the Inferal ontology repository.
Feedback should be sent to contact@inferal.com.
This specification defines three conformance classes: hypergraphs data graph, hypergraphs producer, and hypergraphs validator.
A hypergraphs data graph is an RDF graph that uses terms from this specification consistently with the term definitions and validation expectations below.
A hypergraphs producer is software or an authoring process that emits hypergraphs, vertices, hyperedges, and incidence occurrences.
A hypergraphs validator is software that checks incidence completeness, duplicate incidence, and vertex-containment constraints.
This module is limited to classical hypergraphs whose hyperedges behave as sets of vertices. It does not define ordered tuples, multisets, repeated incidence semantics, paths, weights, or graph algorithms. Applications needing those capabilities SHOULD define extensions and MUST NOT infer an ordering among incidences from RDF serialization order.
| Prefix | IRI |
|---|---|
hg |
https://ontology.inferal.com/modules/hypergraphs/ |
set |
https://ontology.inferal.com/modules/sets/ |
The hypergraphs namespace imports the Inferal Sets Ontology [[!INFERAL-SETS]].
| Term | Kind | Normative role |
|---|---|---|
hg:Hypergraph |
Class | A graph-like structure with vertices and hyperedges. |
hg:Vertex |
Class | A resource available for incidence with hyperedges. |
hg:Hyperedge |
Class | A set-like edge resource whose members are vertices. |
hg:Incidence |
Class | A specialized membership occurrence connecting one hyperedge to one vertex. |
hg:HyperedgeMembership |
Class | A specialized membership occurrence connecting one hypergraph to one contained hyperedge. |
hg:hasVertex |
Object property | Connects a hypergraph to a vertex in its vertex set. |
hg:vertexInHypergraph |
Object property | Connects a vertex to a hypergraph in which it is available. |
hg:hasHyperedge |
Object property | Connects a hypergraph to one of its hyperedges. |
hg:hasHyperedgeMembership |
Object property | Connects a hypergraph to a hyperedge membership occurrence. |
hg:membershipHypergraph |
Object property | Connects a hyperedge membership occurrence to its hypergraph. |
hg:membershipHyperedge |
Object property | Connects a hyperedge membership occurrence to its hyperedge. |
hg:edgeInHypergraph |
Object property | Connects a hyperedge to a hypergraph that contains it. |
hg:hasIncidence |
Object property | Connects a hyperedge to one of its incidence occurrences. |
hg:incidentEdge |
Object property | Connects an incidence occurrence to its hyperedge. |
hg:incidentVertex |
Object property | Connects an incidence occurrence to its vertex. |
The model distinguishes the hypergraph's vertex universe from the incidence members of any one hyperedge; membership in one does not by itself imply containment in the other. A hg:Hypergraph has a vertex set and a set of hyperedges. The graph-level set of hyperedges is stated with hg:hasHyperedge and backed by hg:HyperedgeMembership occurrences. The vertex universe is stated with hg:hasVertex.
A hg:HyperedgeMembership is a subclass of
set:Membership and MUST identify exactly one
hg:membershipHypergraph and exactly one
hg:membershipHyperedge. A hg:Hyperedge is also a subclass
of set:Set. Its member resources are vertices, but
membership is represented through explicit hg:Incidence
resources. Each incidence is a subclass of set:Membership
and MUST identify exactly one hg:incidentEdge and exactly one
hg:incidentVertex.
An empty hyperedge is allowed by this module. It has no incidence occurrences. A singleton hyperedge has one incidence occurrence. A k-uniform hyperedge has k incidence occurrences.
Classical hyperedges do not contain duplicate occurrences of the same vertex. If a downstream domain needs repeated vertex occurrences, it should define a multiset, tuple, or pseudograph extension rather than weakening the meaning of hg:Hyperedge.
If a hypergraph contains a hyperedge, then every vertex incident with that hyperedge MUST be listed as a vertex of the same hypergraph. This rule gives authors a clear vertex universe and prevents edge-local incidence from silently introducing vertices outside the hypergraph.
A conforming producer MUST state the forward containment properties hg:hasHyperedge, hg:hasHyperedgeMembership, and hg:hasIncidence. The inverse properties hg:edgeInHypergraph and hg:vertexInHypergraph are provided for authoring convenience. When both directions are stated, they MUST agree.
Since hg:membershipHypergraph and
hg:membershipHyperedge specialize set:inSet and
set:member, the Sets Ontology property chain can derive
set:hasMember from hg:HyperedgeMembership
occurrences under OWL property-chain reasoning. The same applies to
hg:Incidence through hg:incidentEdge and
hg:incidentVertex.
This ontology also declares a module-specific property chain:
inverse(hg:membershipHypergraph) o hg:membershipHyperedge -> hg:hasHyperedge.
hg:HyperedgeMembership declares an OWL key over
hg:membershipHypergraph and hg:membershipHyperedge.
hg:Incidence is not keyed in OWL, so later tuple, multiset, or
pseudograph extensions can distinguish repeated edge/vertex
occurrences. SHACL validation remains responsible for reporting
duplicate classical incidences in this source profile.
A conforming hypergraphs data graph MUST satisfy the following constraints:
These constraints define a source-authoring validation profile. Producers SHOULD validate source graphs before applying OWL inverse-property materialization, or with an entailment regime that does not add derived forward containment links. Conforming source data states hg:hasHyperedge, hg:hasHyperedgeMembership, and hg:hasIncidence explicitly; OWL or SPARQL materialization can run afterward for consumer convenience.