[rdfweb-dev] BirthdayIssue
Morten Frederiksen
mof-rdf at mfd-consult.dk
Wed Mar 9 22:58:45 UTC 2005
Hi all,
The inaugural issue in this process experiment has to be the birthday issue...
The current contents of the wiki page [1] is below (handy backup?), sans
markup.
Personally, I'm not sure which option I'd rather go with, but I know that
there might be more options out there...
[1] http://rdfweb.org/topic/BirthdayIssue
Regards,
Morten
BirthdayIssue
Status: Active
Owner: mortenf
1 Summary
For somewhat obvious social reasons, it would be nice to have a property that
somehow gave indication of the age, birthday and/or birthdate of a person,
first and foremost for birthday reminders. The origin of this issue is
unclear, but at least Danny Ayers has suggested it in a mail to rdfweb-dev,
with earlier mentions by danbri on rdfweb-dev and a later resurrection by
Adam Atlas as well as an action follow-up by Libby.
1.1 Problems
Some want to express the exact date and time of their birth, some don't want
to give out their age, some don't mind other people knowing their approximate
age but don't want to receive birthday greetings...
At the same time there might be security reasons to think about, as semantic
bots may soon be able to know your mothers birthday.
When thinking about the different options, it might be wise to also consider
the microparsing issue -- whether it is easy to locate an exact date or easy
to locate e.g. all dates with a given year, month, or day (or a combination
thereof).
1.2 Usage history
danbri's original FOAF file uses foaf:dateOfBirth.
LiveJournal exposes information with foaf:dateOfBirth.
1.3 Options
This option list is mostly gleaned from Libby's mail.
OneProp
The simplest possible solution would be just one predicate, foaf:dateOfBirth
(or foaf:birthday, but that doesn't seem to be in use anywhere, and could be
confused with the yearly recurring event), containg a regular W3CDTF date
(yyyy-mm-dd). This approach is also used by Paul Ford in his Hacking Congress
column (schema), even if the date notation isn't W3CDTF. This approach is
simple, but doesn't giver users much to choose from, and makes it hard(er) to
query for e.g. birthdays next month or tomorrow (generally, usually you know
the date of tomorrow).
OnePropBis
A variation on the date format for a single property is to allow an arbitrary
ISO8601 date, as suggested by Ian Davis: ISO8601 lets you miss out a year by
replacing it with a dash: <foaf:birthday>--06-15</foaf:birthday> Looks a bit
cryptic though. This approach is flexible for producers, but puts a burden on
consumers, that need to handle many different formats.
TwoProp
Another option is just two non-overlapping properties as suggested by Richard
Cyganiak, one with only the year (yyyy) and one with month and day (mm-dd).
This option makes it possible to cater for the no-age camp as well as the
no-presents camp, at the cost of a more complicated query when you want the
combination.
TwoPropBis
A variation on the theme of two properties is the one suggested by Bill
Kearney: Two properties, one with a complete date (yyyy-mm-dd), one with just
month and day (mm-dd). This approach keeps the simple approach, and adds a
predicate for those wishing to hide their age, again at the consumers
disadvantage.
ThreeProp
Yet another option is three separate datatyped properties as suggested by
Benjamin Nowack, one with the year (yyyy), one with the month (mm), and one
with the day (dd). There might be a problem with using the datatypes, since
relevant day type (xsd:gDay) suggests monthly recurrence, not yearly, as per
XML Schema Part 2: gDay is a gregorian day that recurs, specifically a day of
the month such as the 5th of the month. Arbitrary recurring days are not
supported by this datatype. The ·value space· of gDay is the space of a set
of calendar dates as defined in § 3 of [ISO 8601]. Specifically, it is a set
of one-day long, monthly periodic instances. Without the datatyping, this
option is the most flexible and at the same time still somewhat easy to
consume, even if it does require a more complicated query for the
combination.
Bio
The bio vocabulary could be used. The date (or recurrence) still needs to be
expressed, but the burden would then be on the bio maintainer. This options
basically sidesteps the issue (although it's actually ?OneProp in another
vocabulary, using yyyy-mm-dd), but one advantage would be the fact that there
would not be a need for yet another property indicating place of birth, as
that is integrated into the bio vocabulary.
iCal
RDF/iCal might be an option, but the same datatype problems as with the
?ThreeProp options exist. Also, iCal demands that all parts of the date are
indicated -- essentially an iCal-version of ?OneProp with iCal support
(yyyy-mm-dd).
More information about the foaf-dev
mailing list