# Base: entry.2004-05-24.1305.n3 @prefix xsd: . @prefix rdf: . @prefix : . <> a :Entry ; :author [ a :Person ; :email ; :name "Henry Story"^^xsd:string ; :url ] ; :content [ a :Content ; :data "I completely agree with bitsko's argument above. It took me some time to understand where he was going, but in the end it clicked.

In any case there are other ways of achieving similar simplifactions of Danny's original model that now come to my mind.

  • One of them is that the link object feels quite superfluous, especially in N3. In N3 every property is a link between two resources, so the idea of modeling a link object between resources feels redundant. Especially between the feed and its successor (next) and its predecessor (prev). In N3 it is clear that that should be simply replaced by a successor and predecessor property. Furthermore we can allready observe in the current example's archived feed that the start relation is redundant: An archive feed in N3 is simply a number of triples with as object the url of the main feed. This removes the relation we had between the Feed and the Link object in our original diagram.
  • The other simplification we can make to the orignal diagram is move the title and other info from the Feed class into the Entry class. Ie we can refactor our inheritance diagram with a containement relation between a feed and its header entry. A well known refactoring: 'Replace Inheritance with Delegation', p. 352, Refactoring, by Martin Fowler.
  • This makes the feed into a very specialised Entry container.
  • service.edit type links in RESTish world seem unecessary since that is just the url of the entry or feed itself.
  • service.post type links should just be a specialised relation between a feed and a resource. What type that resource has in OWL I don't yet know. It just seems a very general type of thing.
This leaves us then with the following diagram, which is even simpler that the one using inheritance I described previously.
So perhaps there is some more work to be done on the content object.
We do of course loose the threading ability that we see here, but that should be easy to reconsitute by adding a in-reply-to relation between entries. Oh heck. Let me add it right now..."^^rdf:XMLLiteral ; :type "text/html" ] ; :copyright "Creative Commons" ; :created "2004-06-24T13:05:00.000 GMT+02:00"^^xsd:dateTime ; :id ; :title [ a :Content ; :data "Other improvements"^^rdf:XMLLiteral ; :type "text/simple" ] .