У меня есть класс ChicagoPerson. Он имеет два свойства hasAge и hasZipCode, и их значения указаны ниже.
:ChicagoPerson :hasAge "30"
:hasZipCode "60543"
Это не имеет смысла. В этом фрагменте ChicagoPerson — это индивидуум (или ресурс) со значениями для двух упомянутых вами свойств.
Я хотел бы сказать, что hasAge и hasZipCode являются подсвойствами свойства hasColumn. Поэтому я упомянул это следующим образом.
:hasAge rdfs:subPropertyOf :hasColumn
:hasZipCode rdfs:subPropertyOf :hasColumn
Это правильный способ сделать это. Это означает, что если у вас есть вывод RDFS, у вас будут данные:
:ChicagoPerson :hasAge "30" ,
:hasZipCode "60543" ,
:hasColumn "30", "60543" .
Однако в моем RDF-графе нет ни одного класса, содержащего свойство hasColumn. Я имею в виду, что у меня нет чего-то вроде следующего:
:Table :hasColumn <literal>
Опять же, я думаю, вы путаете идею классов и отдельных лиц. Класс – это совокупность индивидуумов. Если у вас есть доступ к выводу RDFS, то аксиомы подсвойств, которые вы написали выше, позволят этому рассудку RDFS вывести дополнительные триплеты, о которых я упоминал. Дополнительные тройки, которые вы увидите,
:ChicagoPerson :hasColumn "30", "60543" .
не что-то с Таблицей в качестве предмета.
Разрешено ли в RDF определять свойство (например, hasColumn) без класса?
RDF на самом деле не имеет представления об определении свойств. В RDF есть только триплеты вида субъект, предикат, объект. Языки схем, такие как RDFS и OWL, присваивают особое значение определенным видам троек, обычно присваивая значение определенным предикатам. Например, в RDFS и OWL предикат rdfs:subPropertyOf приобретает особое значение.
У вас на самом деле есть логика RDFS, работающая с вашим набором данных?
person
Joshua Taylor
schedule
26.08.2016