Entities

typedef uintptr_t TmeEntityPtr

Unique identifier for entities.

The reasoner does not need to know the human-readable representation of entities (such as IRIs). This is exploited by explicitly dropping any reference to such representations and exclusively relying on numeric identifiers. Of course, some form of mapping between identifiers and textual representations should be kept elsewhere and used to implement the TmeStringProvider interface.

Note

Identifiers must be unique across all entities (concepts, roles and individuals).

TME_ENTITY_PTR_TYPE

Type of a TmeEntityPtr variable.

TME_ENTITY_PTR_MAX

Maximum value of a TmeEntityPtr variable.

TME_ENTITY_PTR_ALIGNMENT

Alignment of a TmeEntityPtr variable.

If you’re using memory addresses as entity pointers, set this value to their alignment for slightly improved performance.

TmeAtomicConcept

Unique identifier for concepts.

TmeAtomicRole

Unique identifier for roles.

TmeAtomicIndividual

Unique identifier for individuals.

tme_entity_ptr_equals(a, b)

Equality function for entity pointers.

Return

True if the equality relation holds, false otherwise.

Parameters
  • a: LHS of the equality.

  • b: RHS of the equality.

tme_entity_ptr_hash(e)

Hash function for entity pointers.

Return

Hash value for the entity pointer.

Parameters
  • e: Entity pointer whose hash should be computed.

struct TmeVocabulary

Vocabulary containing reserved entity identifiers.

It is necessary for the reasoner to know in advance which entity identifiers belong to special entities, such as the top and bottom concepts. This information is specified via a TmeVocabulary instance.

Public Members

TmeEntityPtr const top_concept

Entity identifier of the top concept.

TmeEntityPtr const bottom_concept

Entity identifier of the bottom concept.