I’ve been working more on modeling conferences. My real interest is to provide data which is useful to people wanting to build tools to work with the program, like things which help you keep track of the session you want to see, or things that render the conference program in pretty ways. What I really want is a RSS-style template of how to describe an entire conference in XML. The fact that that XML will “happen” to be RDF is a bonus which most people won’t care about. I want lots of nice ways to hook this into Twitter, iCal etc. I think by adding a bit of extra restriction, it’ll be far more practical for people to build tools to use the data. I’m using RDF as it has lots of interesting properties, but I’m not, like, married to it or anything. It might make more sense to express the conference in XML and just map it to RDF for the people who want to suck up the linked data. (SPARQLy vampires?)
There’s a number of key uses for conference data; all intersect but have quirks:
- for the committee, and venue:
- Planning the Conference
- Running the Conference
- for delegates:
- Evaluating the event (should I bother going?) << social events are key here!
- Planning before the event (what should I see?)
- Planning at the event (where should I be?)
- Reference after the event (who did that paper?)
- For speakers:
- When am I on?
- Who am I on after/before?
- For the wider community
- The list of papers, speakers etc. This is really the bit that needs to be preserved long-term and is much lower-resolution. 10 years from now, nobody needs to know if the paper was presented before or after lunch.
The ISWC “dogfood” ontology is a great place to start, and they’ve done much of the heavy lifting, so I think what I should look at doing is working out how to use their work as much as possible. My real interest is in making the structured program data useful before, during, and shortly after the event.
The key thing is that different conferences are structured in different ways. I am basing this on my own experience which may be limited in ways I can’t see. My ideal result is a set of models for various size of conference-like events. I’ll be building the websites using PHP & MySQL. Code may be available on request.
All events should have a cal:summary, cal:dtstart and cal:dtend (with an exception noted below)
A ConferenceEvent can be MultiDayConferenceEvent or SingleDayConferenceEvent. A MultiDay conference has 2 or more Sub-Events which are each SingleDayEvents.
A SingleDayEvent is either a SingleStreamEvent, a StreamedByTrackEvent or a StreamedByLocationEvent (it could have other more unusual ways to divide up sessions but I think that’s beyond the scope of what’s easily renderable), as are events streamed by track, but with multiple simultaneous events in the same track (make it Track-Foo-A and Track-Foo-B!). The idea of this is that each days events tend to be organised by time, in one axis, and by location, or more rarely by track in the other axis). To pick a not-so-random-example, WWW2006 was streamed by location, but generally events in the same room were in the same track. nb Ochil (c) which has a different track in the afternoon. A possible extension would be a “streamed” event, where every subevent is someont:inStream of a resource.
Any kind of SingleDayEvent will have many sub-events:
- It may have some ConferenceTimeSlotEvents which are the slots into which the other events are supposed to fit. Looking at the Ochil morning events in the Wed WWW2006 example, events don’t always neatly sit in slots. The timeslots are just there as they are supposed to be drawn on the days program.
- A SingleDayEvent will have subevents for each session, break and social event of the day. These should be either PlenaryEvents (indicating that they are relevant to the majority of delegates attending their parent event, and should be drawn all-the-way-over on the program), or not. If not then their location or track is used to decide which column they appear in. All sub events of a StreamedByTrackEvent should be either PlenaryEvents or have a track. StreamedByLocation isn’t a problem, as events must have a location. Possibly there should be one other which is “DisplayAsPlenary” for things like evening meetings which are not plenaries, but are rendered on programs in the same manner. Break Events are generally plenary or DisplayAsPlenary.
Any sub-event of a single day event can have one level of sub-events itself (except ConferenceTimeSlots). Well, actually in RDF anything can pretty much have any number of sub events, but they are considered out-of-scope. Sub-Events of Sessions may be individual papers, or an after dinner talk at a meal. These do not have to have cal:dtstart and cal:dtend set, but they may. It should be assumed that delegates will mostly be selecting their attendance from the immediate sub-events of a SingleDayEvent.
It’s quite common for a big conference to have sub-events, such as workshops. In this case, the workshop may be represented as an all-day event in the main program, but can be a SingleDayEvent in it’s own right, with it’s own slots, locations etc. In my own experience, such workshops have been single-streamed but there’s no requirement for that.
Tracks should have a title specified by a specific predicate (not sure what at this stage) and should have an optional colour code.
Tracks, Events and Locations can be assigned tags. Specifically twitter & flickr tags.
Oh, my final idea for Dev8D is for us to set up a semantic mediawiki for the conference and put a sameas:… seealso:… link in the conference data for every location, day, session, person, talk etc. and allow the delegates to generate a pile of secondary data. This is kinda interesting as they’re a bunch of hackers, not academics.
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.