# Subjects

# Required Properties

# ID

The unique XARK ID.

# RevisionID

The unique XARK ID of this revision of this entity.

# Parent

The unique XARK ID of the Artifact this belongs to. This must be a local Artifact (part of the same file/database/account).

# Type

A URI representing the type of subject.

URI Description
https://xark.org/zark#person Person
https://xark.org/zark#place Place (geographic, geopolitical, or physical address / structure)
https://xark.org/zark#animal Animal (pet, etc.)
https://xark.org/zark#thing Thing (physical object)
https://xark.org/zark#organization Organization (corporate, academic, religious, etc.)

This may be expanded over time. Software should allow full access to view unrecognized types, but may opt to not allow users to edit the associated claims and other data, since the software may not have the business logic for representing that type.

# TypeScript Definition for JSON

import { XarkId } from "./ValueTypes"

interface IRecord {
	id: XarkId
	revisionId: XarkId

export { IRecord }
import { XarkUri } from "./ValueTypes"
import { IRecord } from "./IRecord"
import { IClaim } from "./IClaim"

interface ISubject extends IRecord {
	type: XarkUri
	claims?: IClaim[]

export { ISubject }

# JSON Example

# XMP (XML+RDF) Example

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"