RDF моделирование списка элементов имени
Я исследую перевод приложения на использование RDF. Одним из препятствий является то, как это приложение моделирует имена людей. Он поддерживает прямые полные имена в виде одной строки, но также поддерживает разложенные имена, например, человек X дал имя Френс, за которым следует второе имя Ян, за которым следует фамилия Румф .
Структура данных выглядит примерно так:
enum Role {
...
GIVEN_NAME,
FAMILY_NAME,
...
}
record NameElement(role: Role, value: String) {}
record AnnotatedName(NameElement... elements) {}
для создания экземпляра, например:
var name = new AnnotatedName(
new NameElement(GIVEN_NAME, "Frens"),
new NameElement(GIVEN_NAME, "Jan"),
new NameElement(FAMILY_NAME, "de Vries")
);
Это позволяет преобразовать имя в строку, в то же время выражая компоненты имени. Таким образом, он фиксирует роли элементов имени (например, данные имена, фамилии), а также их порядок (данные имена не везде являются первыми). Кроме того, он позволяет использовать несколько имен. Например, на нескольких языках / сценариях. Или даже псевдонимы, используемые в разных регионах мира.
Я поигрался с некоторыми конструкциями RDF, но ни одна из них не является удовлетворительной:
# list of strings misusing data types as tags
:frens :name ( "Frens"^^:givenName "Jan"^^:givenName "de Vries"^^:familyName ) .
# list of blank nodes
:frens :name ( [ :givenName "Frens" ]
[ :givenName "Jan" ]
[ :familyName "de Vries" ] ) .
# single blank node with unordered 'elements'
:frens :name [ a :AnnotatedPersonName ;
:fullName "Frens Jan de Vries" ;
:givenName "Frens" ;
:givenName "Jan" ;
:familyName "de Vries" ] .
Существующие онтологии для имен HD?Есть ли существующая онтология, которая покрывает такую «высокую точность»? FOAF и vcard обладают некоторыми соответствующими свойствами, но не могут улавливать этот уровень семантики.
Списки?Одним из основных «препятствий» при переносе этого подхода на RDF является используемое понятие порядка. Если возможно, я бы хотел держаться подальше от болота Списка / Контейнера на земле RDF ...