Mauri, Thanks. The EEA folks have their hands in a lot of citizen science, and it would be great to get them involved.
Rod:
1. My idea for the challenge was that people needn't blog, but simply post pictures on-line. (Though if some luddites want to blog, that's great - we'll handle it.) I definitely agree that harvesting Twitter feeds is something we should do (both within and without the challenge).
2. This is one of the biggest cans of worms I know.
I agree that we'll usually avoid owl:sameAs, but for different reasons than the one you give.
It is true that sameAs is too strong for most of our purposes. But it can give us a lot. For example, if we want to smush together everything everyone knows about a particular taxon, we need to deal with the fact that we're unlikely to be using the same URIs for that taxon. And so we need to somehow "equate", e.g.,
http://spire.umbc.edu/ethan/aedes_aegyptiwith
urn:lsid:ubio.org:namebank:2593947
That way, if I assert
ethan:Aedes_aegypti rdfs:subClassOf viralVector
and someone reports an observation of
urn:lsid:ubio.org:namebank:2593947
and someone queries for observations of viralVectors, the observation will show up.
So should we say
http://spire.umbc.edu/ethan/aedes_aegyptiowl:sameAs
urn:lsid:ubio.org:namebank:2593947
?
There are (at least) two problems with doing so. One is that most of us model species (and other taxa) as classes, and using sameAs requires treating them as individuals, i.e. using OWL Full. The other problem, as you point out, is that owl:sameAs asserts identity, which means that any property of one is a property of the other. But that includes properties like where a taxon is on the tree of life, and, for Aedes aegypti, there's disagreement about that.
The thing is that, aside from properties regarding where things are on the tree of life, we generally do want the properties of ethan:Aedes_aegpti to adhere to uBio:2593947. To give a real example: one of the main points of our semantic eco-blogging exercise was to show how easy it is to define a "class of concern", and then to find all the observations of things belonging to that class. If I'm interested in species from the Global Invasive Species Database, I can simply define the class ISSG-GISDThing (as I do here:
http://spire.umbc.edu/ontologies/lists/ISSG-GISD.owl) and then make class membership assertions about all the species in the database:
http://spire.umbc.edu/ethan/Aedes_albopictusrdfs:subClassOf ISSG-GISDThing
etc.
I can further define a class ThingsICareAbout, and then assert
ISSG-GISDThing rdfs:subClassOf ThingsICareAbout.
Now I can issue queries like "Show all observations of things that I care about." (This would be a good way to manage Twitter feeds, if the world takes your advice and starts semantic twittering.)
----
Note that owl:equivalentClass gives the same problems and benefits. (If A and B are equivalent classes, then they share all superClasses and subClasses.) Further, semantic web browsers and rdf reasoners are, typically, highly idiosyncratic with respect to the built-in semantics that they provide. I've been meaning to do a collection of experiments to determine precisely how a variety of rdf constructs behave under a variety of rdf engines, but haven't yet.
In the meantime, since no lives are at stake, for the purposes of this demonstration, I propose using sameAs (for individuals) and equivalentClass (much more often, for classes).
I concede this may be a mistake.
Joel.