[rdfweb-dev] Integrating SIOC and FOAF

CaptSolo captsolo at gmail.com
Sat Oct 8 03:06:46 UTC 2005

Hi, All!

We have developed an ontology called SIOC [1] to describe information on
online community sites.
SIOC means Semantically-Interlinked Online Communities.

How does it relate to FOAF?

Some of main concepts in SIOC are equivalent or similar to concepts in FOAF.
[ See the figure attached showing main concepts ]

- sioc:User and foaf:Person
- sioc:Usergroup and foaf:Group
- sioc:Post and foaf:Document

We would like to integrate SIOC with FOAF to make allowing existing
applications to start to use this information. There are a couple of
possible ways how to do that and I'd be glad to receive your suggestions on
how to do it best:

1) Subclass SIOC terms from FOAF terms
It is the easiest way and will not require applications exporting SIOC to
use FOAF at all.
But the downside of this is that majority of applications [that "understand"
FOAF, but not SIOC] won't make any use of this information because they
probably will not infer that, e.g., sioc:User is a foaf:Person.

2) Use FOAF terms directly.
That would mean attaching SIOC properties to FOAF terms.
E.g., :personA sioc:creator_of :post1 .

This is the most common practice for extensions of FOAF, but (1) you loose
some integrity of your ontology and (2) if an application "knows" SIOC, but
not FOAF it won't understand all information again.

Next question is how do you describe what FOAF classes may have SIOC what
Is it correct to say that sioc:creator_of has domain of foaf:Person?

2.1) Use FOAF terms + define SIOC terms
Keep SIOC terms in the ontology for backward compatibility and in order to
define the ontology more precisely.
But when creating data use FOAF as in 2)

3) Use both FOAF + SIOC
Can we make a resource subclass of sioc:User and foaf:Person at the same
Even if we can, this looks ugly and is redundant.

What way would you suggest?

Choice #2 looks best to me. But we loose the ability to precisely define the
ontology as some of main concepts of SIOC are outside our control then.
That's why choices #2.1 and #3 are also worth considerhing.
P.S. We also considered subclassing sioc:User from foaf:OnlineAccount as it
matches the meaning of sioc:User more correctly (being user's account on a
system). But then we run into trouble because OnlineAccount won't be a
member of foaf:Group and also won't be creator of foaf:Document. In the end,
if using OnlineAccount we will use much of benefits of having FOAF instance
in the first place, because main useful concepts in FOAF are foaf:Person
(and to a lesser degree foaf:Group).

[1] SIOC Project Page: http://rdfs.org/sioc

Also if you have general comments about SIOC or would like to contribute to
the SIOC Specification, we'll be glad to hear from you :)

Best regards,
Uldis Bojars

[ http://captsolo.net/info/ ]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.usefulinc.com/pipermail/foaf-dev/attachments/20051008/157=

More information about the foaf-dev mailing list