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)


Reply via email to