Just thought I'd mention that there is of course nothing
in rdf that can stop anyone giving things names. So that
the blank node could be given a name such as
<tag:example.com/versionid>
<tag:example.com/versionid> a :Entry;
:title [ :value "Atom-Powered Robots Run Amok";
:type "text/plain" ];
:link [ :href <http://example.org/2003/12/13/atom03>;
:rel iana:alternate ];
:id <urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a>;
:updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
:summary [ :value "some text";
:type "text/plain" ].
And so I suppose you could treat
<urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a> as an Entry itself,
give it a title, a link, an id, etc
I am not sure this makes sense. I have formalised this doubt
in the Atom-OWL ontology by the following statement:
:Version a owl:Class;
rdfs:comment "Metadata about the state of a resource with
given :id at an :updated time."@en;
rdfs:subClassOf [ owl:complementOf :Id ].
Since :Entry and :Feed are subclasses of :Version, that means that
Entries or feeds cannot be ids. Perhaps that is too harsh.
Henry Story
On 12 Nov 2005, at 12:48, Henry Story wrote:
The way we got around this in Atom/OWL is to make the entry itself a
blank node, with atom:id being a property of it. The unique
identification of the entry node being provided by the combination of
the id, updated (and some other stuff - multiple language support
is a
complication).
Yes. The correct way to model it is therefore
[] a :Entry;
:title [ :value "Atom-Powered Robots Run Amok";
:type "text/plain" ];
:link [ :href <http://example.org/2003/12/13/atom03>;
:rel iana:alternate ];
:id <urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a>;
:updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
:summary [ :value "some text";
:type "text/plain" ].
ie, as Danny says, to apply the :title, :link, etc relations to a
blank node
of type :Entry. By defining :id as functional we allow different
blank node
:Entry s to have the same id, and so the contradiction we had
before no
longer exists.
This is not so complicated really, it is just easy to be mislead by
the 'id' word
and think that it must be a strong identity relation, rather than a
weaker one.
(ie, to think that the relation is not just functional, but also
inverse functional
symmetric and transitive)