Proposal for SIOC extension reg. wikis

6 views
Skip to first unread message

Fabrizio Orlandi

unread,
Nov 30, 2008, 2:19:44 PM11/30/08
to SIOC-Dev
Hi all,

in order to be able to model most of the common wiki features with
SIOC, Alex. and me are proposing the following new classes /
properties in SIOC:

- To add a Category class, subclass of skos:Concept
- To add a hasDiscussion property that links a sioct:WikiArticle to a
sioc:Forum
- To add a backwardLink property, inverse of the links_to prop.
- To add a latestVersion (or hasLatestVersion) property that points to
the current latest WikiArticle (so domain/range = WikiArticle )
- To add earlierVersions and laterVersions properties declaring them
as transitive props. and as superclasses respectively of the
previous_version and next_version props.

Those properties will be added next week (probably Tuesday or
Wednesday).

Regards,

Fabrizio

Peter Ansell

unread,
Nov 30, 2008, 5:38:58 PM11/30/08
to sioc...@googlegroups.com
2008/12/1 Fabrizio Orlandi <fabrizi...@gmail.com>


- To add a hasDiscussion property that links a sioct:WikiArticle to a
sioc:Forum

Are WikiArticles instances of Forum themselves? If not, that restriction will render the hasDiscussion property useless on wiki sites where discussion pages are just plain wiki pages, where edits can be made to the entire page and hence not easily identifiable to a particular person like in typical Forum's.

Cheers,

Peter

Stephane Corlosquet

unread,
Dec 1, 2008, 5:38:35 AM12/1/08
to sioc...@googlegroups.com
Hi,

Some systems like Drupal generalize the concept of versionning to any type of content and not only wiki pages. Will there be a way to use the new terms you want to introduce to other sioct classes other than sioct:WikiArticle?


- To add earlierVersions and laterVersions properties declaring them
as transitive props. and as superclasses respectively of the
previous_version and next_version props.
You probably meant that earlierVersions/laterVersions would be superproperties of previous_version/next_version here.

regards,
Stephane.

Breslin, John

unread,
Dec 1, 2008, 8:39:37 AM12/1/08
to sioc...@googlegroups.com
Hi -

Sounds interesting - some comments / questions:

* We already have the Category class in SIOC Types
* We should stick with the naming convention I think - so
earlier_version / later_version etc. Does that mean you would have a
WikiArticle linking to multiple "early_version"(s) or
"later_version"(s)?
* Can't a latest_version be found from some rules?
* Regarding has_discussion, can't a sioct:WikiArticle just have a reply?
We've assumed that any content item can have reply posts or comments on
it - how does a WikiArticle differ?
* What is the purpose of the backward_link property? (what's the use
case - from a resource back to a wiki page?)

Thanks, John.

Fabrizio Orlandi

unread,
Dec 1, 2008, 9:30:30 AM12/1/08
to SIOC-Dev
On Nov 30, 10:38 pm, "Peter Ansell" <ansell.pe...@gmail.com> wrote:
> 2008/12/1 Fabrizio Orlandi <fabriziorla...@gmail.com>
>
> > - To add a hasDiscussion property that links a sioct:WikiArticle to a
> > sioc:Forum
>
> Are WikiArticles instances of Forum themselves? If not, that restriction
> will render the hasDiscussion property useless on wiki sites where
> discussion pages are just plain wiki pages, where edits can be made to the
> entire page and hence not easily identifiable to a particular person like in
> typical Forum's.

You are right, in this regard maybe the hasDiscussion prop. should be
more general defining domain=sioc:Item and range=/owl#Thing, so that
it can be reused in many other contexts.

Thanks!

Regards,

Fabrizio

Fabrizio Orlandi

unread,
Dec 1, 2008, 9:32:20 AM12/1/08
to SIOC-Dev
On Dec 1, 10:38 am, "Stephane Corlosquet" <scorlosq...@gmail.com>
wrote:
>
> Some systems like Drupal generalize the concept of versionning to any type
> of content and not only wiki pages. Will there be a way to use the new terms
> you want to introduce to other sioct classes other than sioct:WikiArticle?

previous_version and next_version are already included in the SIOC
ontology, and they have the sioc:Item class as Domain and Range so
that you can use them for Posts and Polls and all the other Post
subclasses. The same would be for earlier/laterVersions as they will
be superproperties of previous/next_version. The only reusing problem
could be with the latestVersion property if it will be declared with
domain/range = WikiArticle. Do you think it should be more general?

> You probably meant that earlierVersions/laterVersions would be
> superproperties of previous_version/next_version here.
Yes, of course, superproperties instead of superclasses... ;)

Thanks!

Regards,

Fabrizio

Fabrizio Orlandi

unread,
Dec 2, 2008, 7:39:09 AM12/2/08
to SIOC-Dev
On Dec 1, 1:39 pm, "Breslin, John" <john.bres...@nuigalway.ie> wrote:
> Hi -
>
> Sounds interesting - some comments / questions:
>
> * We already have the Category class in SIOC Types

The purpose is to have a more specific Category class, subclass of
skos:Concept, that is able to model a typical wiki taxonomy. So I
think we should just add the skos:Concept superclass to the existing
Category class.

> * We should stick with the naming convention I think - so
> earlier_version / later_version etc.  Does that mean you would have a
> WikiArticle linking to multiple "early_version"(s) or
> "later_version"(s)?

Yes, using transitivity it is possible to infer, with a simple query,
all the early_version(s)/later_version(s) of a WikiArticle, without
the need to "jump" with a query on each previous/next_version to have
them all.

> * Can't a latest_version be found from some rules?
> * What is the purpose of the backward_link property? (what's the use
> case - from a resource back to a wiki page?)

It is possible to find the latest version reasoning on date and title
of each wiki version, but again you'd have to query on them all, on
the entire wiki dataset, but if we want to have also a browsing
capability, so that from a single wiki page we can point to the latest
one or to previous/next versions or to pages linking here (backlinks),
we should have these properties.

> * Regarding has_discussion, can't a sioct:WikiArticle just have a reply?
> We've assumed that any content item can have reply posts or comments on
> it - how does a WikiArticle differ?

I think it's different because I would not say that a wiki discussion
page is a reply of a WikiArticle, furthermore some wikis have a
typical structured discussion page and for instance IkeWiki has
already a hasDiscussion property that links the WikiArticle to the
discussion page. As I said to Peter Ansell we may have a general
hasDiscussion prop. with domain=sioc:Item and range=/owl#Thing, so
that it can be reused in many other contexts.

>
> Thanks, John.
Thank you,

Fabrizio

Uldis Bojars

unread,
Dec 9, 2008, 4:55:09 PM12/9/08
to SIOC-Dev

On Dec 2, 12:39 pm, Fabrizio Orlandi <fabriziorla...@gmail.com> wrote:
> On Dec 1, 1:39 pm, "Breslin, John" <john.bres...@nuigalway.ie> wrote:
>
> The purpose is to have a more specific Category class, subclass of
> skos:Concept, that is able to model a typical wiki taxonomy. So I
> think we should just add the skos:Concept superclass to the existing
> Category class.

a good idea. unless there are strong objections we can subclass
Category from skos:Concept.

> > * We should stick with the naming convention I think - so
> > earlier_version / later_version etc.  Does that mean you would have a
> > WikiArticle linking to multiple "early_version"(s) or
> > "later_version"(s)?
>
> Yes, using transitivity it is possible to infer, with a simple query,
> all the early_version(s)/later_version(s) of a WikiArticle, without
> the need to "jump" with a query on each previous/next_version to have
> them all.

There was a SIOC-Dev discussion of another SIOC property re. ordering
of items and transitivity. Diego Berrueta was saying then that it is a
bad idea. I do not know if that applies to the changes discussed here,
but might be worth a look:

http://groups.google.com/group/sioc-dev/browse_thread/thread/403060c5b7080507

Rob Styles from Talis was telling me (at VoCamp Oxford) re. their
solution to nested containers in SIOC and finding items in a given
container and its subcontainers (related to transitivity). Can't
recall details now but maybe someone here can tell more.

> > * Can't a latest_version be found from some rules?
>
> It is possible to find the latest version reasoning on date and title
> of each wiki version, but again you'd have to query on them all, on
> the entire wiki dataset, but if we want to have also a browsing
> capability, so that from a single wiki page we can point to the latest
> one or to previous/next versions or to pages linking here (backlinks),
> we should have these properties.

There is a need for finding the latest version of a page (= what
people are looking for in most cases) but there is a danger in using a
property like "latest_version" as this information changes with time.
What is the latest version today will not be the latest tomorrow.

If someone does incremental crawling of such information they may end
with different versions being pointed to as "the latest". We could say
they should recrawl all versions every time their "latest_version"
property changes, but that would lead to many unnecessary recrawling.

Should we be concerned with this? And what are the solutions /
alternatives?

> > * Regarding has_discussion, can't a sioct:WikiArticle just have a reply?
> > We've assumed that any content item can have reply posts or comments on
> > it - how does a WikiArticle differ?
>
> I think it's different because I would not say that a wiki discussion
> page is a reply of a WikiArticle, furthermore some wikis have a
> typical structured discussion page and for instance IkeWiki has
> already a hasDiscussion property that links the WikiArticle to the
> discussion page. As I said to Peter Ansell we may have a general
> hasDiscussion prop. with  domain=sioc:Item and range=/owl#Thing, so
> that it can be reused in many other contexts.

has_discussion is different enough from generic replies then.

(btw, range=owl:Thing is the same as no range at all)

Uldis

[ http://captsolo.net/info/ ]

Uldis Bojars

unread,
Dec 9, 2008, 5:13:08 PM12/9/08
to SIOC-Dev
On Nov 30, 7:19 pm, Fabrizio Orlandi <fabriziorla...@gmail.com> wrote:

> - To add a backwardLink property, inverse of the links_to prop.

SIOC has some inverses even though http://dig.csail.mit.edu/breadcrumbs/node/72
says you would not need them.

But in this case expressing backward links could be done with just the
links_to property. E.g., for expressing that post_x has a backward
link from post_y:
> post_y sioc:links_to post_x .

Would that accomplish the same thing as the backward_link property?

Uldis

[ http://captsolo.net/info/ ]

Diego Berrueta

unread,
Dec 10, 2008, 7:02:23 AM12/10/08
to sioc...@googlegroups.com
El mar, 09-12-2008 a las 13:55 -0800, Uldis Bojars escribió:
> > > * We should stick with the naming convention I think - so
> > > earlier_version / later_version etc. Does that mean you would have a
> > > WikiArticle linking to multiple "early_version"(s) or
> > > "later_version"(s)?
> >
> > Yes, using transitivity it is possible to infer, with a simple query,
> > all the early_version(s)/later_version(s) of a WikiArticle, without
> > the need to "jump" with a query on each previous/next_version to have
> > them all.
>
> There was a SIOC-Dev discussion of another SIOC property re. ordering
> of items and transitivity. Diego Berrueta was saying then that it is a
> bad idea. I do not know if that applies to the changes discussed here,
> but might be worth a look:
>
> http://groups.google.com/group/sioc-dev/browse_thread/thread/403060c5b7080507

My point is that if the property is transitive, you may have problems to
identify the version that immediately precedes the current one. For a
deeper discussion, the SWD working group faced a similar problem with
SKOS's broader/narrower properties, see [1]. Their solution was to
create both properties (broader and broader_transitive), see [2].

[1] http://www.w3.org/2006/07/SWD/track/issues/44
[2] http://www.w3.org/TR/2008/WD-skos-reference-20080829/#L2413

Best,

Diego.

Alexandre Passant

unread,
Dec 10, 2008, 7:05:55 AM12/10/08
to sioc...@googlegroups.com
Indeed.
But as Fabrizio mentioned earlier, this backward_link property was
designed with a browsing approach in mind, and not only a querying
one.
If you get a single wiki document, and don't have access to the whole
wiki knowledge base (i.e. RDF store), you cannot (easily) retrieve the
documents linking to it (with that sioc:links_to property).
Yet, a backward_link property allows to export the incoming link in
the SIOC export of a wiki page, thus allowing to navigate to these
incoming pages, with Tabulator for instance.

Best,

Alex.


>
> Uldis
>
> [ http://captsolo.net/info/ ]
> >
>

Alexandre Passant

unread,
Dec 10, 2008, 7:09:21 AM12/10/08
to sioc...@googlegroups.com
On Wed, Dec 10, 2008 at 12:02 PM, Diego Berrueta
<diego.b...@fundacionctic.org> wrote:
>
> El mar, 09-12-2008 a las 13:55 -0800, Uldis Bojars escribió:
>> > > * We should stick with the naming convention I think - so
>> > > earlier_version / later_version etc. Does that mean you would have a
>> > > WikiArticle linking to multiple "early_version"(s) or
>> > > "later_version"(s)?
>> >
>> > Yes, using transitivity it is possible to infer, with a simple query,
>> > all the early_version(s)/later_version(s) of a WikiArticle, without
>> > the need to "jump" with a query on each previous/next_version to have
>> > them all.
>>
>> There was a SIOC-Dev discussion of another SIOC property re. ordering
>> of items and transitivity. Diego Berrueta was saying then that it is a
>> bad idea. I do not know if that applies to the changes discussed here,
>> but might be worth a look:
>>
>> http://groups.google.com/group/sioc-dev/browse_thread/thread/403060c5b7080507
>
> My point is that if the property is transitive, you may have problems to
> identify the version that immediately precedes the current one. For a
> deeper discussion, the SWD working group faced a similar problem with
> SKOS's broader/narrower properties, see [1]. Their solution was to
> create both properties (broader and broader_transitive), see [2].

Sure, that's why we propose a transitive property but keep the
original one (non-transitive) - and define subproperty relationships
between both.
Hence, you can keep a simple link to the immediately previous / next
one, but also get the list of all the previous / next ones.

Best,

Alex.

Our proposal was indeed inspired by what is done in SKOS

Alexandre Passant

unread,
Dec 10, 2008, 7:15:10 AM12/10/08
to sioc...@googlegroups.com
Actually, in most wikis, the last version is a permalink (ex:
http://en.wikipedia.org/wiki/SIOC), so that the property will always
link to the same URI. (so the SIOC export should also have the same
URI)
Yet the content of the page / export indeed changes, but I don't know
how crawler deal with that.
I guess an option would be to re-crawl the latest page as soon as a
document linking to that permalink with the 'latest_version' property
is created ?

Hope that helps,

Best,

Alex.

Uldis Bojars

unread,
Dec 10, 2008, 9:30:18 AM12/10/08
to sioc...@googlegroups.com
On Wed, Dec 10, 2008 at 12:05 PM, Alexandre Passant <al...@passant.org> wrote:

> But as Fabrizio mentioned earlier, this backward_link property was
> designed with a browsing approach in mind, and not only a querying
> one.
> If you get a single wiki document, and don't have access to the whole
> wiki knowledge base (i.e. RDF store), you cannot (easily) retrieve the
> documents linking to it (with that sioc:links_to property).
> Yet, a backward_link property allows to export the incoming link in
> the SIOC export of a wiki page, thus allowing to navigate to these
> incoming pages, with Tabulator for instance.

Does anything prevent one from including backward links in the same
SIOC export of a wiki page and still using sioc:links_to? For example:

--- ( start of SIOC export of wikipage_X ) ---
... some data about wikipage_X
wikipage_Y sioc:links_to wikipage_X .
--- ( end of SIOC export of wikipage_X ) ---

Might seem unnatural if thinking in RDF/XML, but if we look at this in
N3 / Turtle then it looks as good as any other data.

Uldis

[ http://captsolo.net/info/ ]

Uldis Bojars

unread,
Dec 10, 2008, 2:25:41 PM12/10/08
to SIOC-Dev

On Nov 30, 7:19 pm, Fabrizio Orlandi <fabriziorla...@gmail.com> wrote:

> - To add a latestVersion (or hasLatestVersion) property that points to
> the current latest WikiArticle (so domain/range = WikiArticle )
> - To add earlierVersions and laterVersions properties declaring them
> as transitive props. and as superclasses respectively of the
> previous_version and next_version props.

A thought about versioning of WikiArticles and of items in general:

The current model is "flat" - it makes versions of an wiki page to
also be wiki pages. When people look at a wiki, however, they
generally look for or search for a wiki page (with the last version of
its content). They have a clear distinction between wiki pages and
their versions and they would be disappointed if search for a term
would return 1000 versions of the same wiki page. How can we model
versioning in SIOC in such a way that it is easy to distinguish
between items and their versions?

A possible solution is to have separate classes - sioc:Item and
sioc:ItemVersion (subclassed for the wiki use case if needed).

Only the sioc:Item would need a sioc:current_version property to point
to the last version. Versions themselves would be linked to one
another in the same way as Fabrizio described earlier. Each version
can point to the item it is a version of by a new property
sioc:version_of.

Uldis

[ http://captsolo.net/info/ ]
Reply all
Reply to author
Forward
0 new messages