SearchMonkey validator fails on given Event example
I am investigating the microformat and RDFa capabilities of SearchMonkey as part of a Semantic Web research project.
I noticed that the SearchMonkey validator (a.k.a. Object Finder) didn't identify event locations expressed using a combination of the hCalendar and hEvent microformats. In fact, the Example 2 for microformats provided in the Event guide (http://developer.search.yahoo.com/help/objects/event) didn't work either. The event itself is correctly recognized, and has a location consisting of a long string ("WallaceSpace 2 Dryden Street ...") with all the address details. The hCard structured address details are all listed under Partial Objects, as if the markup was somehow broken. However, the hCard markup itself is fine, as can be verified by removing the surrounding vevent class -- the location will then be recognized as a Local object.
The RDFa example code on the same page does seem to work in the Object Finder, showing both the Event and the Local object.
If I go from the Object Finder result page to the W3C RDF validator by pressing Parse RDF, the triples for the microformat example do not contain any link between the VEvent instance and the VCard instance, and the vcal:location property has a literal value (the long address as above). In the RDFa example I get the expected result, with a vcal:location property connecting the VEvent to the VCard instance.
Curiously, this behavior (although probably unintended) violates both the RDF Calendar ontology, which states that the vcal:location property should have a literal value, and the hCalendar specification, which states that the location may be expressed using hCard. The behavior of the Object Finder validator is exactly the opposite in both cases!
I wonder if this problem only affects the Object Finder validator tool, or does it also affect the whole index? I haven't done enough testing to find out.
Steps to reproduce:
1. Go to the Event help page at http://developer.search.yahoo.com/help/objects/event 2. Switch to the Microformats tab 3. Select and copy all the code from Example 2 4. Paste it to a HTML file and publish it somewhere on the web 5. Enter the URL of your file in the Validate your markup field and press Test Markup
Expected result: Both the Event object and Local object shown (as is the case for the RDFa example code) Actual result: Only the Event object is shown; vcard properties shown under Partial Objects
Best regards, Osma Suominen Semantic Computing Research Group Aalto University and University of Helsinki, Finland
Expected result: Both the Event object and Local object shown (as is the case for the RDFa example code)
Oops, in fact only a single Event object should be shown, with the vcard properties listed under it. This is how it works for the RDFa example. Some properties (vcal:description, vcal:summary and rdfs:seeAlso) are apparently not recognized as belonging to the event even in the RDFa example and are listed under Partial Objects, but this seems not to be a serious issue as they are just alternate properties for some of the recognized ones.