0/7
Module 7

Agents & Identifiers

Give people and organisations persistent, unambiguous identities in linked data.

Why Names Are Not Enough

"Jane Smith" is not a reliable identifier — there are thousands of them. In linked data, agents (people and organisations) must be identified by IRIs, not names. Names go in rdfs:label or schema:name; they help humans but are not used for matching.

Two Approaches to Agent IRIs

1. Reuse an existing identifier system

The cleanest option is to use an identifier that already exists and is maintained by an authoritative body:

  • ORCID — for individual researchers: https://orcid.org/0000-0001-2345-6789
  • ROR — for research organisations: https://ror.org/038sjwq14
  • linked.data.gov.au — for Australian Government organisations
  • ABN/ACN — Australian business numbers usable as IRI suffixes

2. Mint your own IRI

If no authoritative identifier exists, construct one following your organisation's IRI pattern:

agent-iri-patterns.ttl
# Pattern 1: Use an existing system (ORCID)
<https://orcid.org/0000-0001-2345-6789>
    a schema:Person ;
    schema:name  "Jane Smith"@en .

# Pattern 2: Pre-structured org pattern
<https://data.idnau.org/pid/org/abm>
    a schema:Organization ;
    schema:name  "Australian Bureau of Meteorology"@en .

# Pattern 3: UUID suffix for new agents
<https://example.org/agent/a3f8c2d1-9b4e-4f0a-b2c3-d4e5f6a7b8c9>
    a schema:Person ;
    schema:name  "Alex Johnson"@en .

External Identifier References

Even when you mint your own IRI, you can record external system identifiers using schema:identifier. This lets other systems cross-reference your agent record:

external-ids.ttl
@prefix sdo:   <https://schema.org/> .
@prefix stdid: <https://linked.data.gov.au/def/std-ids/> .

<https://example.org/agent/1>
    a sdo:Organization ;
    sdo:name         "Example Research Institute"@en ;
    sdo:identifier   [
        sdo:propertyID  stdid:ror ;
        sdo:value       "https://ror.org/038sjwq14"
    ] ;
    sdo:identifier   [
        sdo:propertyID  stdid:abn ;
        sdo:value       "12 345 678 901"
    ] .

Agent-to-Agent Relationships

Relationships between agents use the qualified relations pattern from DCAT. Rather than a simple predicate, you create a dcat:Relationship resource that carries both the related agent and a role concept:

agent-relationship.ttl
@prefix dcat:  <http://www.w3.org/ns/dcat#> .
@prefix a2ar:  <https://linked.data.gov.au/def/agent-roles/> .

<https://orcid.org/0000-0001-2345-6789>
    dcat:qualifiedRelation [
        a dcat:Relationship ;
        dcat:hadRole   a2ar:affiliateOf ;
        dcat:relation  <https://ror.org/038sjwq14>
    ] .
🪪 Exercise — Build an Agent Record

Fill in the form to generate a linked data agent record.

Maps to rdf:type
Goes into schema:name — not used for identification
This becomes the agent's IRI directly
e.g. https://linked.data.gov.au/org/abm
Preview
Course complete! You now know how to model RDF triples, build SKOS vocabularies with VocExcel, design persistent IRIs, reuse and match external vocabularies, query with SPARQL, and describe agents with standard identifiers — the full workflow from spreadsheet to linked data knowledge graph.
← Module 6