Я понимаю, что named node
в RDF - это узел, который имеет имя (то есть может быть идентифицировано IRI), и что blank node
- это узел, который не назван (т.е. не описан через IRI) .
Правильно ли говорить, что узел представляет ресурс в RDF? В этом случае и именованные, и пустые узлы будут считаться ресурсами.
Рассматривая схему RDF, я вижу ряд XML тегов, которые, по-видимому, представляют узлы (как пустые, так и именованные). Например:
<rdf:Description rdf:about="http://.../SomeObject">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
<rdfs:subClassOf rdf:resource="http://.../OtherClass"/>
<rdfs:subClassOf rdf:nodeID="node1e2d5tndrx143"/>
</rdf:Description>
и
<rdf:Description rdf:nodeID="node1e2d5tndrx60">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Datatype"/>
<owl:oneOf rdf:nodeID="node1e2d5tndrx61"/>
</rdf:Description>
(и поскольку этот узел ссылается на другой пустой узел)
<rdf:Description rdf:nodeID="node1e2d5tndrx61">
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/>
<rdf:first>1</rdf:first>
<rdf:rest rdf:nodeID="node1e2d5tndrx62"/>
</rdf:Description>
Мне кажется, что доступные ресурсы в эту конкретную конечную точку API входят эти три узла, один из которых называется http://www.w3.org/2001/XMLSchema#float
, а два пустых (node1e2d5tndrx60
, node1e2d5tndrx61
)
Эта ссылка - https://lists.w3.org/Archives/Public/public-esw-thes/2004Nov/0061.html - по-видимому, старый w3.org по теме rdf:about
против rdf:ID
против rdf:nodeID
упоминает, что пустые узлы указываются с помощью атрибута rdf:nodeID
.
Если оба эти узла являются «ресурсами» в этой конкретной конечной точке API (я предполагаю, что это так - пожалуйста, дайте мне знать, если это неверно), насколько я знаю, я никогда не смогу запросить пустой узел напрямую, но в этом конкретном документе RDF пустые узлы используются для ограничить, какие объекты разрешены (через свойство rdf:range
) для тройки, которая задает свойство / предикат hasObjectClass
:
<rdf:Description rdf:about="http://.../hasSomeObjectClass">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
<rdfs:label>Some Object Class</rdfs:label>
<rdfs:domain rdf:resource="http://..../SomeObject"/>
<rdfs:range rdf:nodeID="node1e2d5tndrx60"/>
</rdf:Description>
Насколько я понимаю, тройки используют предикат: hasSomeObjectClass (<subj> <pred> <obj>
) будет: * 10 36 *
- Включить / включить только те объекты, которые имеют
rdf:type
"SomeObject" - Включить / включать только те объекты, которые имеют "подтип" пустого узла
node1e2d5tndrx60
Наконец, в пустом узле node1e2d5tndrx60
я вижу, что есть ограничение owl
- любой допустимый объект может рассматриваться как часть списка. Предположительно список объектов, которые разделяют определенный класс?
Вопрос
Глядя на свойство домена ресурса hasSomeObjectClass
, я могу найти:
- Узел, который представляет
SomeObject
класс - Многие узлы, которые имеют свойство
rdfs:subClassOf
и ссылаются на SomeObject
в качестве ресурса
Так с точки зрения того, как разрешается тройная спецификация, в которой предикат определяет домен этого типа, я концептуально понимаю, как это можно применять / разрешать.
Однако я не вижу связи между пустым узлом и как ограничение диапазона может быть применено / разрешено. Легко ли объяснить на концептуальном уровне, как используются пустые узлы с точки зрения разрешения указанных троек?
Я очень, очень новичок в мире связанных данных. Пожалуйста, дайте мне знать, как можно улучшить этот вопрос!