# Claims
Claims
are the primary mechanism for decorating Subjects
with properties and relationships.
# 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 Subject
this belongs to. This must be a local Subject
(part of the same Artifact
). The local Subject
may in turn be related to a remote one, but Claims
must always be local.
# Category
There are three categories of claims
: Facts
, Relationships
, and Roles
.
- A
Fact
links aSubject
to a standalone value. - A
Relationship
links aSubject
to anotherSubject
. - A
Role
links aSubject
to anEvent
.
# Type
URI. The type of claim being made. See below for a list of standard claim types. This can be extended as needed or for private use.
# Optional Properties
# Value
The Value
is the thing being asserted. This can be a number, text value, a URN to a local Subject or Event ID, or a URL (including but not limited to a link to a remote Subject or Event). Values themselves should NOT contain a certainty since all claims can have an optional certainty.
WARNING
How date values are handled is still in flux. Dates almost always pair with locations, and are almost always then shared with other claims, so date values may be banned and required to instead be a relationship to an Event
record. This is still being worked out to balance efficiency with not duplicating information.
While values are theoretically optional, that is only because information may not yet be available. Claims with no Value
should be flagged as incomplete and needing resolution. For example, you might know someone was married but not know their spouse's name. So, you can't create a Subject
for the spouse yet, but you can still create the marriage relationship.
# Private
Boolean. If true, this should not be exported or shared by default.
WARNING
I'm still working out this concept. It could be as simple as a flag stating whether the claim should be published or not, which would allow easy creation of XARK files that could be shared or published online without, say, compromising sensitive information about living individuals. But it could also be a more nuanced policy.
# Veracity
An optional Veracity
value can be assigned for a claim, representing how the researcher feels about the claim's truthfulness or credibility. Possible values are False
, Probably False
, Possibly
, Probably True
, and True
. True
should be used when the claim is reasonably true, and Probably True
should be used when there is reasonable doubt based on the source information, not based on supposedly-conflicting other sources that the claim would be true.
# Position
An optional Position value can be assigned for a claim, showing where in the artifact the claim appears. If the claim is shown multiple times in the artifact, this can be an array of values (order not preserved).
# Associated Events
WARNING
This is still in flux.
When a Claim
does not represent an Event Role, the claim may have links to Events that give the claim a geographic and temporal context. For example, a marriage relationship Claim
could be linked to various events related directly to that marriage -- the ceremony, the reception, the engagement announcement, a divorce proceeding, etc.
In other words, a Claim
should only be linked to Events
directly involved in that claim, not merely those that support or mention the relationship. For example, one should not link a census Event
to a marriage, even if the census provides evidence of a marriage.
Each linked Event
should provide a Context
value that relates the event's timeframe to the claim. The allowed values are Before
, Start
, During
, End
, Around
, and After
. For example, the Event
of a marriage ceremony would be at the Start
of a marriage relationship between the spouses, and a divorce event would be at the End
the relationship. (It is probably not a good practice to use death events to end marriages, as ALL relationships theoretically end upon death.)
The same Event
can be linked to many Claims
. For example, the same birth event may link to claims for the child's birth and the relationships they have to their parents. This is why the Role
field is important. However, as above, it should not be linked to the parent's marriage claim.
There is absolutely NO automatic linkage between claims of a relationship and claims of an event role. Being the "spouse" on a marriage event does NOT automatically create a marriage relationship claim between the spouses, nor vice versa.
The reason for this is that managing these links would be far too complex for software and the data model. The purpose of the Event Role is often to associate people who have a transient relationship to other people for that event, or to the event itself. For example, "photographer" is a role someone plays at an event, it isn't a lifelong relationship between the spouses of a wedding and their wedding photographer.
# TypeScript Definition for JSON
import { XarkId } from "./ValueTypes"
interface IRecord {
id: XarkId
revisionId: XarkId
}
export { IRecord }
import { XarkId, XarkDate, XarkUri } from "./ValueTypes"
import { IRecord } from "./IRecord"
import { IPosition } from "./IPosition"
import { INote } from "./INote"
interface IClaim extends IRecord {
subject: XarkId
category: "Fact" | "Relationship" | "Role"
type: XarkUri
value?: string | number | IPosition | XarkId | XarkUri
veracity?: "False" | "Probably False" | "Possibly True" | "Probably True" | "True"
private?: boolean
notes?: INote[]
}
export { IClaim }
# JSON Example
# XMP (XML+RDF) Example
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xark="https://xark.org/xark">
<rdf:Description>
<xark:class>https://xark.org/xark#subject</xark:class>
<xark:id>2de14dbf-1e78-43b4-aa93-0176befbaa8a</xark:id>
<xark:revision-id>2de14dbf-1e78-43b4-aa93-0176befbaa8a</xark:revision-id>
<xark:parent>5d01651e-9e9c-4240-a218-0176bef7de8f</xark:parent>
<xark:type>http://www.xark.org/xark#name-first</xark:subject>
<xark:value>Joseph</xark:value>
</rdf:Description>
</rdf:RDF>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xark="https://xark.org/xark">
<rdf:Description>
<xark:class>https://xark.org/xark#subject</xark:class>
<xark:id>e27bed33-525b-4fa1-947b-0176bf096339</xark:id>
<xark:revision-id>e27bed33-525b-4fa1-947b-0176bf096339</xark:revision-id>
<xark:parent>5d01651e-9e9c-4240-a218-0176bef7de8f</xark:parent>
<xark:type>http://www.xark.org/xark#name-last</xark:subject>
<xark:value>Sullivan</xark:value>
<xark:veracity>True</xark:veracity>
</rdf:Description>
</rdf:RDF>
# Claim Types
# Same-As
Value type: URI
This claim indicates that the Subject
is the same as another Subject
. The other Subject
is identified by either a URI (if the Subject
is a remote file) or just the XARK ID (if it is part of the same local document).
# Use Case: Tree Branches
Let's say I want to have my family in one tree, my wife's family in another tree, and us and our children in a third tree. I can create three separate Artifacts
(as separate files or in the same file), and where there are people in common across those branches, I can store my research for that person in one Artifact, and create "stubs" linking to that person from the other branches.
# Use Case: Distributed Research
This is really a variation on the first use case above. By splitting the family into branches, I can share the work with other researchers, creating key "links" of people in my tree to theirs. My version of those Subjects
may have no actual information, just the link, in which case I'm relying on that researcher's work. Or, I may do my own research on some of the same people, but by linking them, I can coordinate with the other researcher(s) and hopefully check each other's work. If I disagree with one of their claims about that person, as is bound to happen with conflicting evidence, I can just create my own claim on my version of that person.
# Use Case: Personas to Persons
As I collect artifacts (photos, documents, etc.), each will contain Subjects
and claims about those subjects. Many of them will be referring to the same actual person, organization, place, etc. I can treat each artifact as its own "world" with its own subjects and claims. Then, I can create a standalone Artifact
to represent my conclusions about who's who (i.e., my "family tree"). In that tree, I can synthesize the information gleaned from the various sources into a new Subject
with my conclusions about their life, relationships, etc., and I can link that Subject
back to every source artifact where I believe I found them mentioned.
# Use Case: Globally Shared Information
Keep in mind that a Subject
can be a place, organization, etc., not just a person. That means there is a significant opportunity for researchers, libraries, organizations, etc. to create and share a "canonical" set of subjects and claims relevant to other researchers.
For example, a county government could create and publish a XARK file with Subjects
and Claims
of interest to researchers, such as how and when the government was founded, where the seat of government was, who the elected officials were over time, etc. This need not be published by an official source, either -- the same sort of information could be published by a third-party service, whether commercial or public-access.
Also note that while the URI may resolve to a Subject
entity within another XARK file, it is not required to do so. I can, for example, create a Subject
representing a county and link it to the Wikipedia page for that county. Certainly, linking to a solid remote XARK file is preferable, but requiring it would handicap the usefulness of having a remote Subject
until virtually all genealogical information about those subjects is also in XARK format, and I'm not willing to assume 100% adoption.