[foaf-dev] foaf:topic and dcterms:subject

Dan Brickley danbri at danbri.org
Thu Apr 23 12:03:03 CEST 2009

On 23/4/09 10:37, Danny Ayers wrote:
> I was looking for a 'topic' term and landed on dcterms:subject [1]
> first, but then yesterday chatting with Leigh he mentioned foaf:topic
> [2]...
> I'm guessing the old DC Elements dc:subject would often be used with
> literal object, but the DC Terms definition explicitly suggests a
> non-literal object. So unless I'm missing something, these properties
> have very similar semantics (only real difference being foaf:topic
> rdfs:range foaf:Document).


"The foaf:topic property relates a document to a thing that the document 
is about."

You mean "domain" I think.

> foaf:topic is presumably already too well deployed to deprecate, so to
> get some kind of alignment might it make sense to make foaf:topic
> rdfs:subPropertyOf dcterms:subject ?
> (dcterms:subject rdfs:subPropertyOf dcelements:subject which might
> mess up a few inferences if a literal object is used)
> Maybe for max connectivity in published data it would be best to
> include both properties (same ?s&  ?o)..?
> Thoughts?

They're a little different. DC's notion of subject is a relationship 
between a document(-like-object) and a subject code (think SKOS). FOAF's 
topic construct is a relationship between a document and the thing 
itself, ie. the thing the subject code itself represents. A specific 
restriction on foaf:topic is where the thing is the *primary* topic of 
the document, hence foaf:primaryTopic. So foaf:topic is useful even just 
as a primitive for defining foaf:primaryTopic, which allows us to use 
(some) documents as an indirect identification strategy for the things 
they describe.

I tried to draw out some of the relationships here:


(note the lack of namespace prefixes, and the currently fictional "it" 
property, which I propose we add to FOAF)

Does this help?


More information about the foaf-dev mailing list