Inst:birthDate rdfs:domain inst:Person
На практике все перечисленные утверждения задаются с помощью синтаксиса RDF/XML. Дополним рассмотренный в предыдущей лекции документ RDF введенными выше свойствами для классов Group и Person:
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> <rdf:RDF <!-- Задание используемых пространств имен --> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" <!-- Задание базового URI --> xml:base="http://www.someInstitute.edu/institute"> <!-- Задание класса факультета --> <rdfs:Class rdf:ID="Dep"/> <!-- Задание класса группы как подкласса класса факультета --> <rdfs:Class rdf:ID="Group"> <rdfs:subClassOf rdf:resource="#Dep"/> </rdfs:Class> <!-- Задание класса личности --> <rdfs:Class rdf:ID="Person"/> <!-- Задание класса студента как подкласса классов группы и личности --> <rdfs:Class rdf:ID="Student"> <rdfs:subClassOf rdf:resource="#Group"/> <rdfs:subClassOf rdf:resource="#Person"/> </rdfs:Class> <!-- Задание типов данных классов для меток и дат --> <rdfs:Datatype rdf:about="&xsd;token"/> <rdfs:Datatype rdf:about="&xsd;date"/> <!-- Задание свойства seniorStudent для класса Group --> <rdf:Property rdf:ID="seniorStudent"> <rdfs:domain rdf:resource="#Group"/> <rdfs:range rdf:resource="#Person"/> </rdf:Property> <!-- Задание свойства groupName для класса Group --> <rdf:Property rdf:ID="groupName"> <rdfs:domain rdf:resource="#Group"/> <rdfs:range rdf:resource="&xsd;token"/> </rdf:Property> <!-- Задание свойства fullName для класса Person --> <rdf:Property rdf:ID="fullName"> <rdfs:domain rdf:resource="#Person"/> </rdf:Property> <!-- Задание свойства birthDate для класса Person --> <rdf:Property rdf:ID="birthDate"> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="&xsd;date"/> </rdf:Property> <!-- Задание подсвойства firstName для свойства fullName --> <rdf:Property rdf:ID="firstName"> <rdfs:subPropertyOf rdf:resource="#fullName"/> <rdfs:range rdf:resource="&xsd;token"/> </rdf:Property> <!-- Задание подсвойства surName для свойства fullName --> <rdf:Property rdf:ID="surName"> <rdfs:subPropertyOf rdf:resource="#fullName"/> <rdfs:range rdf:resource="&xsd;token"/> </rdf:Property> <!-- Задание подсвойства secondName для свойства fullName --> <rdf:Property rdf:ID="srcondName"> <rdfs:subPropertyOf rdf:resource="#fullName"/> <rdfs:range rdf:resource="&xsd;token"/> </rdf:Property> </rdf:RDF>
Документ RDF, в котором задаются экземпляры классов, созданных в последнем примере предыдущей лекции, и значения их свойств будет иметь следующий вид:
<?xml version="1.0"?> <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> <rdf:RDF <!-- Задание используемых пространств имен --> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:inst="http://www.someInstitute.edu/institute#"> <!-- Задание базового URI --> xml:base="http://www.someInstitute.edu/institute"> <!-- Задание экземпляра класса для факультета --> <inst:Dep rdf:ID="myDep"/> <!-- Задание экземпляра класса для группы --> <inst:Group rdf:ID="myGroup"> <inst:groupName rdf:resource= "http://www.someInstitute.ed/groupid/128"/> <inst:seniorStudent rdf:resource= "http://www.someInstitute.ed/studid/12345"/> </inst:Group> <!-- Задание экземпляра класса Student c именем studIvanov1 --> <inst:Student rdf:ID="studIvanov1"> <!-- Задание полного имени --> <inst:fullName> <inst:firstName rdf:datatype= "&xsd;token">Иван</inst:firstName> <inst:surName rdf:datatype= "&xsd;token">Иванович</inst:surName> <inst:secondName rdf:datatype= "&xsd;token">Иванов</inst:secondName> </inst:fullName> <!-- Задание даты рождения --> <inst:birthDate rdf:datatype="&xsd;date">1991-05-17</birthDate> </inst:Student> <!-- Задание экземпляра класса Student c именем studPetrov --> <inst:Student rdf:ID="studPetrov"/> <!-- Задание полного имени --> <inst:fullName> <inst:firstName rdf:datatype= "&xsd;token">Петр</inst:firstName> <inst:surName rdf:datatype= "&xsd;token">Петрович</inst:surName> <inst:secondName rdf:datatype= "&xsd;token">Петров</inst:secondName> </inst:fullName> <!-- Задание даты рождения --> <inst:birthDate rdf:datatype="&xsd;date">1991-12-05</birthDate> </inst:Student> </rdf:RDF>
В данном примере значения свойств задаются либо ссылкой на ресурс (как для класса myGroup), либо непосредственно в документе (как для классов studIvanov и studPetrov).
В некоторых случаях значение свойства само может являться фрагментом документа XML, т.е. содержать разметку. В этом случае типом данных для свойства является тип rdf:XMLLiteral. В RDF/XML этот тип задается с помощью атрибута rdf:parseType со значением «Literal». Например, если свойство birthDate в классах Student предыдущего примера предназначено для отображения в документе HTML (XHTML) курсивом, то его можно записать в следующем виде:
<inst:birthDate rdf:parseType ="Literal"> <span style="font-style:italic">1991-05-17</span> </birthDate> … <inst:birthDate rdf:parseType ="Literal"> <span style="font-style:italic">1991-12-05</span> </birthDate>
Лекция 14
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (509)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |