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 ...

0 ответов

Другие вопросы по тегам