Basic semantic sitemap in RDFa for Drupal

8 views
Skip to first unread message

Stephane Corlosquet

unread,
Nov 27, 2009, 7:39:41 PM11/27/09
to RDFa mailing list, sioc...@googlegroups.com, Lin Clark
Hi,

There is a patch under review for annotating the "Recent content" page with RDFa in Drupal 7 core. This page lists the latest activity on a given Drupal site: title, author, number of comments and last updated date for each page. I've setup Drupal 7 with this patch at http://drupalrdf.openspring.net/tracker for reviews. We think it could be a potentially be good entry point for semantic web aware crawlers which could find here the relevant pages to update their index, a basic semantic sitemap in fact.
 
Do you think this is something SearchMonkey or Sindice would be able to take advantage of? Is it useful in general? Are we using the right RDF mappings? Is there any other elements we should annotate on this page?

regards,
Stephane.

Stephane Corlosquet

unread,
Nov 30, 2009, 9:36:41 AM11/30/09
to Steven Pemberton, RDFa mailing list, sioc...@googlegroups.com, Lin Clark
Hi Steven,

Thanks for your feedback!

On Mon, Nov 30, 2009 at 8:58 AM, Steven Pemberton <Steven.P...@cwi.nl> wrote:
Looks good to me.

There's something slightly odd with classifying people's names as being in the same language as the document:

       <http://drupalrdf.openspring.net/user/20> a sioc:User ;
            foaf:name "lucerukimam"@en .

good point. This is inherited from the xml:lang="en" attribute of the html tag of the document. Is there anyway in RDFa to reset this language tag in the markup? is adding xml:lang="" to the tag containing the foaf:name the right way to do it?


and I don't see the need for duplicating the data on number of replies in @content:

 <td class="replies" property="sioc:num_replies" content="4" datatype="xsd:integer">4</td>

I agree, however the value of the td tag is sometimes enriched with some extra HTML markup, for example when you are logged in it tells you how many new comments have been added since you list visited the page, and you will see something like the screenshot [1] which corrresponds to this markup
<td datatype="xsd:integer" content="21" property="sioc:num_replies" class="replies">21<br/><a href="/node/149#new">19 new</a></td>

we thought it's less markup to add the content attribute in the td tag rather than wrapping 21 with some extra HTML markup.


Steph.
PS: for the records, the ticket on the Drupal issue tracker is http://drupal.org/node/614508

[1] http://skitch.com/scor/njcry/recent-content-drupalrdf.openspring.net

 

when

 <td class="replies" property="sioc:num_replies" datatype="xsd:integer">4</td>

would do just as well.

Best wishes,

Steven Pemberton

Stephane Corlosquet

unread,
Nov 30, 2009, 10:13:30 AM11/30/09
to nat...@webr3.org, sioc...@googlegroups.com
Nathan,

SIOC allows to make the difference between a person and all the accounts she owns on various sites. The name given in a user account might be different than the name of that person, it might be a nickname, or even a fake name. In many cases however, as you point out, this username will be the person's name but we've tried to remain generic here and differentiate between the sioc:User and the foaf:Person. The same foaf:Person might have several accounts on the same site (e.g. one as admin and another one as his real name). I'm happy to revisit this but I think we should keep these info on sioc:User and foaf:Person separate. John? Alex? Uldis?

Steph.


On Mon, Nov 30, 2009 at 9:51 AM, Nathan <nat...@webr3.org> wrote:
Stephane Corlosquet wrote:
> Hi Steven,
>
> Thanks for your feedback!
>
> On Mon, Nov 30, 2009 at 8:58 AM, Steven Pemberton
> <Steven.P...@cwi.nl>wrote:
>
>> Looks good to me.
>>
>> There's something slightly odd with classifying people's names as being in
>> the same language as the document:
>>
>>        <http://drupalrdf.openspring.net/user/20> a sioc:User ;
>>             foaf:name "lucerukimam"@en .
>>

shouldn't this be:
       sioc:account_of <http://drupalrdf.openspring.net/user/20#person> .

<http://drupalrdf.openspring.net/user/20#person> a foaf:Person ;
       foaf:name "lucerukimam"@en ;

since foaf:name relates to a foaf:person and sioc:User is simply an
account of said Person


Nathan

unread,
Nov 30, 2009, 10:24:48 AM11/30/09
to Stephane Corlosquet, sioc...@googlegroups.com
maybe the following is more semantically correct since sioc:User is a
subclass of foaf:OnlineAccount:
foaf:accountName "lucerukimam"@en .

or even:
rdfs:label "lucerukimam"@en .

apologies for the intrusion; I'm looking at this from the other side,
namely "what predicate would one use in a sparql query" to access this
data. (+ with so many people using drupal, a vast amount of data will be
going in to the cloud when drupal 7 comes out)

many regards,

nathan

Nathan

unread,
Nov 30, 2009, 9:51:06 AM11/30/09
to sioc...@googlegroups.com, Steven Pemberton, RDFa mailing list, Lin Clark
Stephane Corlosquet wrote:
> Hi Steven,
>
> Thanks for your feedback!
>
> On Mon, Nov 30, 2009 at 8:58 AM, Steven Pemberton
> <Steven.P...@cwi.nl>wrote:
>
>> Looks good to me.
>>
>> There's something slightly odd with classifying people's names as being in
>> the same language as the document:
>>
>> <http://drupalrdf.openspring.net/user/20> a sioc:User ;
>> foaf:name "lucerukimam"@en .
>>

shouldn't this be:

Stephane Corlosquet

unread,
Dec 2, 2009, 11:48:05 AM12/2/09
to nat...@webr3.org, sioc...@googlegroups.com
Nathan,


On Mon, Nov 30, 2009 at 10:24 AM, Nathan <nat...@webr3.org> wrote:
maybe the following is more semantically correct since sioc:User is a
subclass of foaf:OnlineAccount:
       foaf:accountName "lucerukimam"@en .

or even:
       rdfs:label "lucerukimam"@en .

apologies for the intrusion; I'm looking at this from the other side,

this is great! that's what we need: people who will make use of the data which will be produced by CMS.
 
namely "what predicate would one use in a sparql query" to access this
data.

I don't get your point, whether it's foaf:accountName or foaf:name you can still get the data regardless.

Steph.
 
(+ with so many people using drupal, a vast amount of data will be
going in to the cloud when drupal 7 comes out)

Note that some mappings (like the name of each user) will be predefined out of the box but the administrators will be able to change it and adapt it to their particular use case. Making a system that matches all the use cases is really challenging, and that's why we try to make it generic and let people specialize their system as they see fit.

Steph.
 

Nathan

unread,
Dec 2, 2009, 12:16:29 PM12/2/09
to sioc...@googlegroups.com
Stephane Corlosquet wrote:
> Nathan,
>
>
> On Mon, Nov 30, 2009 at 10:24 AM, Nathan <nat...@webr3.org> wrote:
>
>> maybe the following is more semantically correct since sioc:User is a
>> subclass of foaf:OnlineAccount:
>>
>> <http://drupalrdf.openspring.net/user/20> a sioc:User ;
>> foaf:accountName "lucerukimam"@en .
>>
>> or even:
>> <http://drupalrdf.openspring.net/user/20> a sioc:User ;
>> rdfs:label "lucerukimam"@en .
>>
>> apologies for the intrusion; I'm looking at this from the other side,
>>
>
> this is great! that's what we need: people who will make use of the data
> which will be produced by CMS.
>
>
>> namely "what predicate would one use in a sparql query" to access this
>> data.
>
>
> I don't get your point, whether it's foaf:accountName or foaf:name you can
> still get the data regardless.

mnnnnghhh.. not really if you're gonna sparql for:
select * where { ?s <foaf:accountName> "lucerukimam"@en }

it won't return the same as:
select * where { ?s <foaf:name> "lucerukimam"@en }

quote: "The foaf:accountName property of a foaf:OnlineAccount is a
textual representation of the account name (unique ID) associated with
that account."

and a sioc:User is a subclass of foaf:OnlineAccount

question/point is more, why not use what's provided instead of swapping
to something else.

Breslin, John

unread,
Dec 4, 2009, 5:21:52 AM12/4/09
to sioc...@googlegroups.com, nat...@webr3.org

I think what Stephane has said makes sense – a person may have multiple accounts even on one site hence the need to differentiate…

 


--

You received this message because you are subscribed to the Google Groups "SIOC-Dev" group.
To post to this group, send email to sioc...@googlegroups.com.
To unsubscribe from this group, send email to sioc-dev+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sioc-dev?hl=en.

Nathan

unread,
Dec 4, 2009, 5:59:31 AM12/4/09
to Breslin, John, SIOC-Dev
ahh confusion, just me being unclear as normal, on a later reply I
clarified that I was reffering to the use of foaf:name rather than
foaf:accountName .

As in why use foaf:name when foaf:accountName is prop of
foaf:OnlineAccount which sioc:User is a subclass of.

purely from the standpoint of sparql'ing this later; personally if i
wanted to search for an account or such like first point of call would
be foaf:accountName "lucerukimam"@en

and if I wanted to find the Person, then by their foaf:firstName,
foaf:surname, foaf:name or foaf:mbox_sha1sum and so on.

regards!

Nathan

Breslin, John wrote:
> I think what Stephane has said makes sense - a person may have multiple
> accounts even on one site hence the need to differentiate...

Paul A Houle

unread,
Dec 4, 2009, 9:57:13 AM12/4/09
to sioc...@googlegroups.com, nat...@webr3.org
Breslin, John wrote:
>
> I think what Stephane has said makes sense � a person may have
> multiple accounts even on one site hence the need to differentiate�
>
>
It gets worse than that. People have multiple accounts for different
reasons.

For instance, there's this girl who has about 1000 Decepticons
registered on a certain social voting site. (The front page of that site
seems to be dominated by other people who are doing the same thing.) She
doesn't want you to know that the same person "owns" all the accounts,
and will take all kinds of measures to make it hard for you to do so,
but a person who's interested in understanding or stopping social media
spam will want to be able to make an assertion that those 1000 accounts
belong to her, or, at the very least, are suspected of belonging to the
same person.

More innocently, I've got about 10 email accounts that I use for
different purposes; yes, part of this is wanting to show different faces
to different people -- another part is making sure that
business-critical e-mail messages don't get lost in a flood of less
important messages.

I worked on a voice chat that allowed individuals to register one
"account" tied to a specific e-mail address, but then allowed them to
create N "nicknames" that other users could see. We wanted to let people
play multiple identity games, within reason, but we needed some way to
control users who went too far. We reserved the right to terminate any
user who we knew was using multiple e-mail addresses: on the other hand,
we kept the fact that Nickname A and Nickname B were the same person
confidential. Yahoo does something pretty similar.

Reply all
Reply to author
Forward
0 new messages