W3C home > Mailing lists > Public > public-lod@w3.org > December 2009

Re: Contd: [pedantic-web] question about sioc / foaf usage

From: Kingsley Idehen <kidehen@openlinksw.com>
Date: Tue, 01 Dec 2009 17:16:58 -0500
Message-ID: <4B1595DA.7060605@openlinksw.com>
To: nathan@webr3.org
CC: Linked Data community <public-lod@w3.org>, pedantic-web@googlegroups.com, SIOC-Dev <sioc-dev@googlegroups.com>
Nathan wrote:
> Hi All,
>
> To follow on a conversation I'm having with Kingsley at the minute, and
> to make it public, I'm also cc'ing in public-lod, pedantic-web and the
> sioc user list, as it is to do with all 3. Please do give feedback and
> correct me where I'm wrong. Especially if you can inline comment where
> something is wrong in my understanding.
>
> Kingsley Idehen wrote:
>   
>> Nathan wrote:
>>     
>>> so do / should the Post, HTML Document and RDF Document all have
>>> different Identifiers?
>>>       
>> If you want to make a statement (create a record) describing anything
>> you need an Identifier for the subject of your description. If you want
>> said description (a graph pictorial) to be fully explorable using HTTP
>> (what Linked Data is about) then you shouldn't use the URL (Address of a
>> Resource) as its Identifier. An HTTP GET against a URL has specific
>> consequences distinct from an HTTP GET against a Generic HTTP scheme URI
>> (a genuine Identifier/Name that Identifies an Object/Resource/Data
>> Item/Entity).
>>
>> Rather than do the whole 303 and hash URI dance (counter productive
>> since it dances around the issue of Data Identity), see if this document
>> of Data Object Identity clarifies things for you re. Identifiers.
>>
>> Links:
>>
>> 1.
>> http://www.cs.cmu.edu/afs/cs.cmu.edu/user/clamen/OODBMS/Manifesto/htManifesto/node4.html
>>
>>     
>
> okay.. here's the set-up; I have:
>
> * a "Post" which is a <sioc:Post>
> * a HTML Document which contains (among other things) a human readable
> representation of the <sioc:Post> at an URL
> * a RDF Document which contains a graph pictorial of the <sioc:Post>
> which is published at an URL
>
> to describe or reference the <sioc:Post> I have to give it a URI:
>   <http://example.lod/uri/post-123>
>
> to describe or reference the HTML Document I have to give it a URI:
>   <http://example.lod/uri/html-document-123>
> in addition the HTML document has an URL
>   <http://example.lod/documents/html-document-123.html>
>
> to describe or reference the RDF Document I have to give it a URI:
>   <http://example.lod/uri/rdf-graph-123>
> in addition the RDF document has an URL
>   <http://example.lod/documents/rdf-document-123.rdf>
Assumption: your Identifiers are slash terminated (i.e. Slash style of 
Generic HTTP URI).
>
> now, I'm assuming the RDF Document will need to be self describing (also
> contain a graph pictorial about itself, as well as the <sioc:Post> -
> here's a very simplified version of the triples it'd contain.
>   
So the RDF data container (resource)  is:

<http://example.lod/documents/rdf-document-123.rdf>, right?

>   <http://example.lod/uri/rdf-graph-123> <rdf:type> <foaf:Document> ;
> 	<dc:title> "SIOC Post profile for post-123"@en
> 	<foaf:primaryTopic> <http://example.lod/uri/post-123> .
>
>   <http://example.lod/uri/post-123> <rdf:type> <sioc:Post> .
>
> Q1: is <foaf:primaryTopic> correct here?
>   
Yep.
> to say that the <sioc:Post> is contained by this graph we'd add the triple:
>   <http://example.lod/uri/post-123>
> 	<sioc:link> <http://example.lod/uri/rdf-graph-123> .
>   
Redundant, but not necessarily incorrect. You can make redundant 
statements :-)
> then we need to say where the rdf graph can be found (provide it's URL):
>   <http://example.lod/uri/rdf-graph-123>
> 	<??????> <http://example.lod/documents/rdf-document-123.rdf> .
>   

<http://example.lod/documents/rdf-document-123.rdf> is a data set container so you identify it properly as in: <http://example.lod/documents/rdf-document-123.rdf#this>, via a simple URL to Generic HTTP URI hack, with Linked Data de-referencing in mind re. exploration of the description of this Thing/Object/Entity/Data Item. Note: a little change-up as I've added a new Identifier but taken the cheap # route via fragment identifier.

This also means your could have stated the following at the top:

  <http://example.lod/documents/rdf-document-123.rdf#this> <rdf:type> <foaf:Document> ;
	<foaf:primaryTopic> <http://example.lod/uri/post-123> .

  <http://example.lod/uri/post-123> <rdf:type> <sioc:Post>;
  <dc:title> "SIOC Post profile for post-123"@en.

OR even the following, assuming you'd already assigned these URIs and discovered that <http://example.lod/uri/rdf-graph-123> is basically the same as <http://example.lod/documents/rdf-document-123.rdf#this> i.e., RDF data set containers (documents or information resources):

  <http://example.lod/documents/rdf-document-123.rdf#this> <rdf:type> <foaf:Document> ;
        <owl:sameAs> <http://example.lod/uri/rdf-graph-123>;
	<foaf:primaryTopic> <http://example.lod/uri/post-123> .

  <http://example.lod/uri/post-123> <rdf:type> <sioc:Post>;
  <dc:title> "SIOC Post profile for post-123"@en.




> Q2: which ontology does one use for <??????> in the above triple?
>   
None.
> then we need to say that the HTML document is a document, that contains
> a human readable version of the <sioc:Post> (amongst other things)
>
>   <http://example.lod/uri/html-document-123>
> 	<rdf:type> <foaf:Document> ;
> 	<foaf:primaryTopic> <http://example.lod/uri/post-123> .
>
> Q3: is the HTML Document a <sioc:Container>, which is a container of the
> <sioc:Post>?
>     <http://example.lod/uri/html-document-123>
> 	<rdf:type> <foaf:Document> , <sioc:Container> ;
> 	<foaf:primaryTopic> <http://example.lod/uri/post-123> ;
> 	<sioc:container_of> <http://example.lod/uri/post-123> .
>   
Yes, esp. as <sioc:Post> <rdfs:subClassOf> <sioc:Item> .

Note same applies to the RDF data container as in:

<http://example.lod/uri/rdf-graph-123> <rdf:type> <foaf:Document> , <sioc:Container> ;
	<foaf:primaryTopic> <http://example.lod/uri/post-123> ;
	<sioc:container_of> <http://example.lod/uri/post-123> .

OR
<http://example.lod/uri/rdf-graph-123> <rdf:type> <foaf:Document> , <sioc:Container> ;
        <owl:sameAs> <http://example.lod/documents/rdf-document-123.rdf#this>;
	<foaf:primaryTopic> <http://example.lod/uri/post-123> ;
	<sioc:container_of> <http://example.lod/uri/post-123> .



> Q4: should we also say the description of the HTML Document is also
> contained by this graph?
>   <http://example.lod/uri/post-123>
> 	<sioc:link> <http://example.lod/uri/rdf-graph-123> .
>   

<http://example.lod/uri/rdf-graph-123> <sioc:link> <http://example.lod/uri/html-document-123>.
or even: 
<http://example.lod/uri/rdf-graph-123> <foaf:Topic> <http://example.lod/uri/html-document-123>.


> Q5: how do we specify the URL of the HTML Document?
>     <http://example.lod/uri/html-document-123>
> 	<?????> <http://example.lod/documents/html-document-123.html> .
>   
Remember the earlier statement re. the RDF document (resource):


 <http://example.lod/documents/rdf-document-123.rdf#this> <rdf:type> <foaf:Document> ;
        <owl:sameAs> <http://example.lod/uri/rdf-graph-123>;
	<foaf:primaryTopic> <http://example.lod/uri/post-123> .


Re. HTML resource description same thing applies re. association with the sioc:Post:

  <http://example.lod/documents/html-document-123.html#this> <rdf:type> <foaf:Document>;
  <foaf:primaryTopic> <http://example.lod/uri/post-123> .

  <http://example.lod/uri/post-123> <rdf:type> <sioc:Post>;
  <dc:title> "SIOC Post profile for post-123"@en.

OR

<http://example.lod/documents/html-document-123.html#this> <rdf:type> <foaf:Document> ;
   <owl:sameAs> <http://example.lod/uri/html-document-123>;
   <foaf:primaryTopic> <http://example.lod/uri/post-123> .
 

  <http://example.lod/uri/post-123> <rdf:type> <sioc:Post>;
  <dc:title> "SIOC Post profile for post-123"@en.


> I think that's enough for now; all feedback welcome!
>
> regards
>
> nathan
>
>   
Bar any typos or cut&paste snafus, I've hopefully answered your questions.
Ultimately, the file (information resource, document, data container) 
has its own set of attributes e.g. format (dcterms:format), actual file 
name (not title of the content), creation date etc.. Distinct from the 
description of its content (hence the use of foaf:primaryTopic as 
conduit to content description graph).

Link:

1. 
http://linkeddata.uriburner.com/about/html/http://news.cnet.com/8301-13577_3-10407056-36.html?tag=newsEditorsPicksArea.0 
- example of Linked Data graph that describes an document (information 
resource) in a manner distinct from its content (see the data exposed by 
foaf:primaryTopic) .


-- 


Regards,

Kingsley Idehen	      Weblog: http://www.openlinksw.com/blog/~kidehen
President & CEO 
OpenLink Software     Web: http://www.openlinksw.com
Received on Tuesday, 1 December 2009 22:17:33 UTC

This archive was generated by hypermail 2.3.1 : Sunday, 31 March 2013 14:24:24 UTC