Поработаем тройка за тройкой, а потом можно будет подумать, есть ли способы подчистить презентацию. Во-первых, вы начали с объявления префикса и идентификации ресурса с типом person:
@prefix schema: <http://schema.org/> .
@prefix : <http://stackoverflow.com/q/24891549/1281433/> .
:person1 a schema:Person .
Затем вы хотите добавить место работы. Что ж, место работы будет иметь значение и будет иметь тип Place или Контактная точка. Допустим, это место. Затем добавляем:
:person1 schema:workLocation :place62 .
:place62 a schema:Place .
Теперь это место может быть связано с PostalAddress с помощью свойства schema:address:
:place62 schema:address :address89 .
:address89 a schema:PostalAddress .
Существует множество свойств, которые мы могли бы использовать для описания PostalAddress. В этом случае у нас может быть что-то вроде (используя образцы значений с этой страницы):
:address89 schema:addressLocality "Mountain View" .
:address89 schema:addressRegion "CA" .
:address89 schema:postalCode "94043" .
:address89 schema:streetAddress "1600 Amphitheathre Pkwy" .
Теперь почтовый адрес также работает со свойствами из ContactPoint, поэтому вам могут понадобиться некоторые из них, но вы можете определить их таким же образом. Итак, теперь у вас есть эти данные:
@prefix schema: <http://schema.org/> .
@prefix : <http://stackoverflow.com/q/24891549/1281433/> .
:person1 a schema:Person .
:person1 schema:workLocation :place62 .
:place62 a schema:Place .
:place62 schema:address :address89 .
:address89 a schema:PostalAddress .
:address89 schema:addressLocality "Mountain View" .
:address89 schema:addressRegion "CA" .
:address89 schema:postalCode "94043" .
:address89 schema:streetAddress "1600 Amphitheathre Pkwy" .
Если вы не собираетесь повторно использовать место и адрес (что вы могли бы сделать, если вы описываете группу людей в одном и том же месте), вы, вероятно, можете использовать пустые узлы вместо узлов URI. Делая это и используя некоторый синтаксический сахар, который предоставляет Черепаха, вы получаете:
@prefix schema: <http://schema.org/> .
@prefix : <http://stackoverflow.com/q/24891549/1281433/> .
:person1 a schema:Person ;
schema:workLocation [ a schema:Place ;
schema:address [ a schema:PostalAddress ;
schema:addressLocality "Mountain View" ;
schema:addressRegion "CA" ;
schema:postalCode "94043" ;
schema:streetAddress "1600 Amphitheathre Pkwy" ] ] .
person
Joshua Taylor
schedule
22.07.2014