Data/Boards.ie

From SIOC Wiki

Jump to: navigation, search

Download the data from Data#Boards.ie. You can ask questions on the #sioc irc chat channel on the irc.freenode.net server or the SIOC-Dev mailing list.

Contents

[edit] What the data looks like

The top-level sioc:Site document links to every sioc:User (and on to FOAF files) and to each top-level sioc:Forum. Forums link to subforums and sioc:Threads, which finally link to each individual sioc:Post published in these threads. The posts link to each other based on replying and quoting. The FOAF files link to each other, describing a social network based on the users' "buddy lists".

[edit] General structure

[edit] URIs

We differentiate between

  1. URIs for HTML pages
  2. URIs pointing to their corresponding RDF/XML page (using rdfs:seeAlso)
  3. URIs for SIOC concepts

1. This is the ususal URL where the vBulletin forums, threads, posts and user profile pages can be retrieved, e. g.

http://boards.ie/vbulletin/forumdisplay.php?f=1
http://boards.ie/vbulletin/showpost.php?p=54636504
http://boards.ie/vbulletin/member.php?u=31714

When there are <sioc:link> and <sioc:links_to> properties in the data, they always point to HTML pages.

2. The URIs for RDF/XML are constructed by appending sioc.php? followed by the type of the SIOC concept (site, forum, thread, post and user), the vBulletin ID of the object and optionally a paging parameter. To get e. g. the RDF data for thread #190769 we would append the following to the base URL http://boards.ie/vbulletin/:

sioc.php?sioc_type=thread&sioc_id=190769&page=2

For the FOAF files the structure of the URI looks a bit different, it just uses foaf.php?u=userid This gives us URIs like that for the first pages of the RDF/XML documents:

http://boards.ie/vbulletin/sioc.php?sioc_type=site  (no id appended as there is only one site)
http://boards.ie/vbulletin/sioc.php?sioc_type=forum&sioc_id=1
http://boards.ie/vbulletin/sioc.php?sioc_type=thread&sioc_id=1
http://boards.ie/vbulletin/sioc.php?sioc_type=post&sioc_id=1
http://boards.ie/vbulletin/sioc.php?sioc_type=user&sioc_id=1
http://boards.ie/vbulletin/foaf.php?u=1

The <rdfs:seeAlso> property is used to point to URIs like these

3. The unique identifiers for the SIOC concepts themselves are the same as the HTML pages displaying them for sioc:Site sioc:Forum sioc:Thread and sioc:Post. sioc:User and foaf:Person are exceptions as they are not considered information resources. Their URIs are constructed by appending #user to the URI of the HTML user profile page or #person to the RDF/XML URI of the FOAF file:

http://boards.ie/vbulletin/foaf.php?u=3289#person
http://boards.ie/vbulletin/member.php?u=3289#user

[edit] foaf:Document

Each page is a foaf:Document. Its "primary topic" is always a SIOC concept (site, forum, etc.) which is also described in further detail in the same document.

If we take a look at the top-level document http://boards.ie/vbulletin/sioc.php?sioc_type=site we see a section <foaf:Document> as shown in the example below. Besides information about the title and description of this document, it tells us that it has the <foaf:primaryTopic> http://boards.ie/vbulletin/, which is the URI for the sioc:Site itself.

<foaf:Document rdf:about="">
	<dc:title>SIOC profile for "boards.ie"</dc:title>
	<dc:description>A SIOC profile describes the structure and contents of a community site (e.g., weblog) in a machine processable form. For more information refer to the <a href="http://rdfs.org/sioc&quot;>SIOC project page</a></dc:description>
	<foaf:primaryTopic rdf:resource="http://boards.ie/vbulletin/"/>
	<admin:generatorAgent rdf:resource="http://wiki.sioc-project.org/index.php/PHPExportAPI?version=1.01"/>
	<admin:generatorAgent rdf:resource="http://sw.deri.org/svn/sw/2005/08/sioc/vbulletin/"/>
</foaf:Document>


[edit] sioc:Site

In continuation of the example from above, we now look at the section of the same document that actually describes the sioc:Site.

It lists links to each (public) forum of the site using <sioc:host_of>, the example below shows that the site has a forum with the URI http://boards.ie/vbulletin/forumdisplay.php?f=1 . It also has a usergroup that lists every registered user via <sioc:has_member>.

<sioc:Site rdf:about="http://boards.ie/vbulletin/">
	<sioc:host_of rdf:resource="http://boards.ie/vbulletin/forumdisplay.php?f=1"/>
	<sioc:host_of rdf:resource="http://boards.ie/vbulletin/forumdisplay.php?f=2"/>
	[... many more forums ...]
	<sioc:has_Usergroup rdf:resource="http://boards.ie/vbulletin/memberlist.php#usergroup"/>
</sioc:Site>

<sioc:Usergroup rdf:about="http://boards.ie/vbulletin/memberlist.php#usergroup">
	<sioc:has_member>
		<sioc:User rdf:about="http://boards.ie/vbulletin/member.php?u=1#user">
			<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=user&sioc_id=1"/>
		</sioc:User>
	</sioc:has_member>
	[... many more users ...]
</sioc:Usergroup>

The data for sioc:Site is paged, each page displays 20 users and 20 fourms. A rdfs:seeAlso is used to point to the URI for the next page:

<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=site&page=2"/>

[edit] sioc:Forum

Each discussion forum is a generic sioc:Forum. But in the case of our vBulletin board it is also an instance of the more specific type sioct:MessageBoard.

On a forum's page you can see which threads it contains and links to those threads. This is expressed by using <sioc:parent_of>. In the example below you can see that this forum contains threads #190394 and #190769. If there are more than 20 threads the forum's data will be paged (again using rdfs:seeAlso).

You can also see if this forum is a sub-forum of another one, by looking for <sioc:has_parent>. In our example you can see that it is in fact a subforum of forum #177.

<sioct:MessageBoard rdf:about="http://boards.ie/vbulletin/forumdisplay.php?f=475">
	<rdf:type rdf:resource="http://rdfs.org/sioc/ns#Forum" />
	<sioc:link rdf:resource="http://boards.ie/vbulletin/forumdisplay.php?f=475"/>
	<dc:title>Galway City</dc:title>
	<dc:description>Fast growing city in the west.</dc:description>
	<sioc:has_parent>
		<sioc:Forum rdf:about="http://boards.ie/vbulletin/forumdisplay.php?f=177">
			<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=forum&sioc_id=177"/>
		</sioc:Forum>
	</sioc:has_parent>
	<sioc:parent_of>
		<sioc:Thread rdf:about="http://boards.ie/vbulletin/showthread.php?t=190394">
			<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=thread&sioc_id=190394"/>
		</sioc:Thread>
	</sioc:parent_of>
	<sioc:parent_of>
		<sioc:Thread rdf:about="http://boards.ie/vbulletin/showthread.php?t=190769">
			<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=thread&sioc_id=190769"/>
		</sioc:Thread>
	</sioc:parent_of>
	[... many more threads ...]
       <rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=forum&sioc_id=475&page=2"/>
</sioct:MessageBoard>

[edit] sioc:Thread

The data for a thread shows which posts it contains via <sioc:container_of>. It can be paged when there are more than 20 posts in total. You can see the forum which contains this thread by looking for <sioc:has_parent>

<sioc:Thread rdf:about="http://boards.ie/vbulletin/showthread.php?t=2055195633">
	<sioc:link rdf:resource="http://boards.ie/vbulletin/showthread.php?t=2055195633"/>
	<sioc:num_views>1079</sioc:num_views>
	<dc:title>Weekly Soccer game (kick about)</dc:title>
	<dcterms:created>2007-12-05T13:03:03Z</dcterms:created>
	<sioc:has_parent>
		<sioc:Forum rdf:about="http://boards.ie/vbulletin/forumdisplay.php?f=475">
			<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=forum&sioc_id=475"/>
		</sioc:Forum>
	</sioc:has_parent>
	<sioc:container_of>
		<sioc:Post rdf:about="http://boards.ie/vbulletin/showpost.php?p=54582327">
			<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=post&sioc_id=54582327"/>
			<sioc:next_by_date rdf:resource="http://boards.ie/vbulletin/showpost.php?p=54589700"/>
		</sioc:Post>
	</sioc:container_of>
</sioc:Thread>

[edit] sioc:Post

Each post in a thread is a generic sioc:Post. But similar with sioc:Forum/sioct:MessageBoard each sioc:Post is at the same time a sioct:BoardPost.

A post has a creator and it has a link to the creator's user account profile page and another link to a FOAF file.

A post can have links to posts that it replies to.
You can see that <sioc:reply_of> is used to declare the example post as a reply of another post with the URI http://boards.ie/vbulletin/showpost.php?p=54636434 This information was derived from the fact that post #54636434 was quoted in the content of our example post. As mulit-quotes are possible, some post are replys to more than one other posts.
Some posts are don't contain quotes, but still can be replys to others, as there is information about the reply structure in the database, but this is not 100% accurate, because it is impossible to find out what the author of a post actually wanted to replying to.

If the author posted a link to any http or ftp resource it will be listed as a <sioc:links_to>, which can be seen in the example.

<sioct:BoardPost rdf:about="http://boards.ie/vbulletin/showpost.php?p=54636504">
	<rdf:type rdf:resource="http://rdfs.org/sioc/ns#Post" />
	<sioc:has_creator>
		<sioc:User rdf:about="http://boards.ie/vbulletin/member.php?u=29810#user">
			<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=user&sioc_id=29810"/>
		</sioc:User>
	</sioc:has_creator>
	<foaf:maker>
		<foaf:Person rdf:about="http://boards.ie/vbulletin/foaf.php?u=29810#person">
			<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/foaf.php?u=29810"/>
		</foaf:Person>
	</foaf:maker>
	<dcterms:created>2007-12-12</dcterms:created>
	<sioc:content>where is drom?It's where Salthill Devon (http://www.salthilldevon.ie/) play.</sioc:content>
	<content:encoded><![CDATA[[QUOTE=JIZZLORD;54636434]where is drom?[/QUOTE]It's where [URL="http://www.salthilldevon.ie/"]Salthill Devon[/URL] play.]]></content:encoded>
	<sioc:links_to rdfs:label="Salthill Devon" rdf:resource="http://www.salthilldevon.ie/"/>
	<sioc:reply_of>
		<sioc:Post rdf:about="http://boards.ie/vbulletin/showpost.php?p=54636434">
			<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=post&sioc_id=54636434"/>
		</sioc:Post>
	</sioc:reply_of>
</sioct:BoardPost>

If the post contains an image, there will be a link to it like in the following excerpt of another post:

<sioct:BoardPost rdf:about="http://boards.ie/vbulletin/showpost.php?p=54742177">
	<dcterms:hasPart>
		<dcmitype:Image rdf:about="http://a1259.g.akamai.net/f/1259/5586/5d/images.art.com/images/-/Good-Clown--C10101183.jpeg"/>
	</dcterms:hasPart>
</sioct:BoardPost>

When it comea to sioc:User and foaf:Person there is an important distinction to make: A foaf:Person holds an online account. This online account is the sioc:User. So in our sense a user is not a person, but only an account that belongs to a person (and this person can have several user accounts on differnt sites.) A person uses her sioc:User account to create posts, so the triples denoting authorship are of the form sioc:User sioc:creator_of sioc:Post

[edit] sioc:User

Each user account links to the FOAF profile of the user.

The sioc:Role just displays a name for different roles like "Registered User", "Moderator", "Banned User", "Administrator".

<foaf:Person rdf:about="http://boards.ie/vbulletin/foaf.php?u=3289#person">
	<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/foaf.php?u=3289"/>
	<foaf:holdsAccount>
		<sioc:User rdf:about="http://boards.ie/vbulletin/member.php?u=3289#user">
			<sioc:name>mike65</sioc:name>
			<sioc:has_function>
				<sioc:Role>
					<sioc:name>Moderator</sioc:name>
				</sioc:Role>
			</sioc:has_function>
		</sioc:User>
	</foaf:holdsAccount>
</foaf:Person>

[edit] foaf:Person

The documents for foaf:Person are a bit different than the rest - they lack the <foaf:Document> section described in the section "General Structure" above (this is because a different exporter produced these files, but it should be updated in the future to generate the same output as for the SIOC RDF documents) Also the FOAF file URIs have a different structure http://boards.ie/vbulletin/foaf.php?u=''userid'' and the URI for the person itself has a #person appended.

The example shows that a person hold an online account, which is a sioc:User.

A person can have marked others as "buddies" in his vBulletin profile, those are displayed using <foaf:knows>.

<foaf:Person rdf:about="http://boards.ie/vbulletin/foaf.php?u=3289#person">
	<foaf:name>mike65</foaf:name>
	<foaf:nick>mike65</foaf:nick>
	<foaf:depiction rdf:resource="http://boards.ie/vbulletin/images/avatars/Looney_Tunes_-_Sylvester.gif"/>
	<foaf:knows>
	 	<foaf:Person rdf:about="http://boards.ie/vbulletin/foaf.php?u=1854#person">
		 	<foaf:nick>dahamsta</foaf:nick>
		 	<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/foaf.php?u=1854"/>
	 	</foaf:Person>
 	</foaf:knows>
 	<foaf:knows>
	 	<foaf:Person rdf:about="http://boards.ie/vbulletin/foaf.php?u=4051#person">
		 	<foaf:nick>Tristrame</foaf:nick>
		 	<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/foaf.php?u=4051"/>
	 	</foaf:Person>
 	</foaf:knows>
 	<foaf:holdsAccount>
	 	<foaf:OnlineAccount rdf:about="http://boards.ie/vbulletin/member.php?u=3289#user">
		 	<foaf:accountName>mike65</foaf:accountName>
		 	<foaf:accountServiceHomepage rdf:resource="http://boards.ie/vbulletin/" /> 
		 	<rdfs:seeAlso rdf:resource="http://boards.ie/vbulletin/sioc.php?sioc_type=user&sioc_id=3289" />
	 	</foaf:OnlineAccount>
 	</foaf:holdsAccount>
</foaf:Person>
Personal tools