How should I connect name parts to the appropriate full name?

Priority 2, Best Practice Established

Problem Statement

When representing names or other appelations, it is common to both represent full names and parts of the names as individual entities within the graph. It then becomes important to connect the components of a name to the full name from which they were taken.

For example, given "John Smith" and "Joe Smith" as alternate names for the same person, and Given "John" and "Joe" as first names for the person, how do we associate "Joe" as the first name of "Joe Smith"?

Best Practice:

In the CRM, this is done using the predicate P106 is composed of to link the two appelations. For example:

_:john_smith a crm:E41_Appellation; 
  rdfs:label "John Smith".

_:john a crm:E41:Appellation;
  rdfs:label "John";

_:john_smith crm:p106_is_composed_of _:john.

If this knowledge is present, it should be represented in the graph.

Discussion:

(From David, via email, 9/19/2016)

I don't think Schema or FOAF handles this problem at all...they both just have predicates that link to strings, so you can't differentiate at all between, say, multiple first names.

Reference:

Linked Open Data FAQs

Defining Types

How do I specify types for entities?
Priority 1
✔ Best Practice Established
How do I specify types for predicates?
Priority 1
✔ Best Practice Established
What existing extensions to the CIDOC-CRM should I use?
Priority 2
✔ Best Practice Established

Defining URL Structures

What URL should I use for unknown Actors?
Priority 2
✔ Best Practice Established
What is the root URL for each AAC Partner?
Priority 2
✔ Best Practice Established
What is returned when a URL is dereferenced?
Priority 3
✔ Best Practice Established
Which ID is most appropriate for URL construction?
Priority 3
✔ Best Practice Established

Labeling

What are best practices for modeling text strings?
Priority 2
✔ Best Practice Established
What is best practice for labeling external authorities?
Priority 3
✔ Best Practice Established
How do I handle strings in languages other than english?
Priority 4
✔ Best Practice Established

Modeling

How do I handle complexity in knowledge representation?
Priority 1
✔ Best Practice Established
How do I model lists of entities or multiple values?
Priority 2
✔ Best Practice Established
How should I model parts of Actor names?
Priority 2
✔ Best Practice Established

Reconciliation

How do I reconcile objects to authorities?
Priority 2
✔ Best Practice Established
Which entity should I link to in an authority file?
Priority 2
✔ Best Practice Established

Triplestores, RDF, and Inferencing

Which namespace should I use for the CIDOC CRM as LOD?
Priority 1
✔ Best Practice Established
How do I create an RDF representation of an entity?
Priority 3
✔ Best Practice Established
Where should AAC-created vocabularies be hosted?
Priority 3
✔ Best Practice Established
What serialization of RDF should I publish?
Priority 4
✔ Best Practice Established