Home | Index

SearchMonkey Guide

SearchMonkey Guide

A Manual for SearchMonkey Developers and Publishers

Abstract

The SearchMonkey Guide contains information for SearchMonkey developers and publishers. It includes full documentation for the online developer tool, tutorials and best practices, overviews of microformats and RDF, and reference material for APIs and XML schemas used to build SearchMonkey applications.

For developer assistance with SearchMonkey, join the SearchMonkey Yahoo! Group for Developers. For publisher assistance with SearchMonkey, join the SearchMonkey Yahoo! Group for Site Owners.


Table of Contents

1. Overview
About This Guide
Audience
Chapter Summaries
Understanding SearchMonkey
Example SearchMonkey Applications
Data Service Types
Developer Quickstart
2. Developer Guide
Application Dashboard
DataRSS Primer for Developers
Creating Custom Data Services
Converting OpenSearch to DataRSS
Creating a (Page) Custom Data Service
Creating a (Web Service) Custom Data Service
Data Service Best Practices
Data Service Screens (Page)
Step 1: Basic Info
Step 2: URLs
Step 3: Data Extraction
Step 4: Confirmation
Data Service Screens (Web Service)
Step 1: Basic Info
Step 2: Inputs
Step 3: Test Data
Step 4: Endpoint
Step 5: Confirmation
Creating Presentation Applications
Presentation Templates
Infobars
Enhanced Results
Presentation Application Versioning
Presentation Application PHP Structure
Yahoo! Index Data
Creating a Presentation Application
Presentation Application Best Practices
Title Best Practices
Summary Best Practices
Image Best Practices
Link Best Practices
Key/Value Pair Best Practices
Presentation Application Screens
Step 1: Basic Info
Step 2: URLs
Step 3: Data Services
Step 4: Appearance
Step 5: Confirmation
Step 6: Publication
Warnings and Errors
3. Site Owner Guide
Factors to Consider When Choosing a Data Delivery Method
Comparing Data Delivery Methods
XML-Based Atom Feeds
eRDF/RDFa Markup
Microformats
OpenSearch
Custom Data Services
Submitting Feeds
The Process of Creating a Feed
Selecting Content for the Feed
Selecting Pages (URLs)
General Content Guidelines
Ineligible Content
Understanding DataRSS
DataRSS Elements and Attributes
DataRSS Vocabularies
DataRSS in SearchMonkey Data Services
Creating the Feed
Standard Feed Requirements
Constructing the Feed
Submitting the Feed
Leveraging the Data Web
Microformats
Supported Microformats
RDF
Enhanced Results User Agent
A. DataRSS Specification
Adjunct Syntax Specification
DataRSS Elements
adjunctcontainer
adjunct
item
meta
DataRSS Attributes
Relax NG Compact Syntax
B. searchmonkey-profile Vocabulary Specification
Overview
Declaring the searchmonkey-profile Vocabulary
Vocabulary Overview
Supported Prefixes
The rel Vocabulary
rel Categories
Common Rels
Encyclopedia/Reference/Info Pages
Business/Commercial/Directory Pages
News/Events/Gossip Pages
Shopping/Commerce/Product Pages
Social Networking Pages
Travel/Destination Pages
The rel Reference
rel:Resource
rel:Activity
rel:Address
rel:Agent
rel:Analysis
rel:Append
rel:Article
rel:Audio
rel:Author
rel:Automobile
rel:Business
rel:Card
rel:CheckAvailability
rel:Cluster
rel:Comparison
rel:CurrentWorkExperience
rel:Customer
rel:Degree
rel:Delete
rel:Destination
rel:Discussion
rel:Documentation
rel:Edit
rel:Employer
rel:Event
rel:Feed
rel:Flight
rel:Friend
rel:Give
rel:History
rel:Hotel
rel:Image
rel:Link
rel:Listing
rel:Location
rel:Map
rel:Media
rel:Menu
rel:Name
rel:Neighborhood
rel:NewsItem
rel:Notify
rel:Organization
rel:Overview
rel:Owner
rel:Partner
rel:Person
rel:Photo
rel:Photoset
rel:Posting
rel:Procure
rel:Product
rel:Profile
rel:Quiz
rel:Restaurant
rel:Review
rel:Reviewer
rel:Section
rel:SendEmail
rel:SendToPhone
rel:Service
rel:Specification
rel:Symptom
rel:Task
rel:Text
rel:Trip
rel:Thumbnail
rel:Treatment
rel:Video
rel:Videoset
rel:Weather
rel:WorkExperience
The property Vocabulary
Property Categories
Common properties
Business/Commercial/Directory
News/Events/Gossip
Shopping/Commerce/Product
Property Domain and Range
The datatype Vocabulary
Datatype Values
The property Reference
dc:contributor
dc:coverage
dc:creator
dc:date
dc:description
dc:format
dc:identifier
dc:language
dc:publisher
dc:relation
dc:rights
dc:source
dc:subject
dc:title
dc:type
tagspace:tag
tagspace:tags
rdf:type
atom:updated
media:bitrate
media:channels
media:duration
media:fileSize
media:framerate
media:height
media:medium
media:samplingrate
media:type
media:width
reference:externalLinks
reference:references
reference:summary
context:position
vcal:dtend
vcal:dtstart
vcal:duration
vcard:adr
vcard:bday
vcard:country-name
vcard:email
vcard:fax
vcard:fn
vcard:homeAdr
vcard:homeTel
vcard:locality
vcard:mobileEmail
vcard:mobileTel
vcard:nickname
vcard:org
vcard:personalEmail
vcard:postal-code
vcard:region
vcard:role
vcard:street-address
vcard:tel
vcard:title
vcard:tz
vcard:workAdr
vcard:workEmail
vcard:workTel
geo:box
geo:elevation
geo:floor
geo:location
geo:point
social:connections
social:recommendations
page:displays
page:comments
review:title
review:maxRating
review:rating
review:minRating
foaf:geekcode
foaf:gender
foaf:homepage
foaf:nick
foaf:openid
foaf:plan
foaf:tipjar
foaf:weblog
job:degree
job:duration
job:experience
job:function
job:hireType
job:industry
job:salaryFrom
job:salaryTo
job:salaryType
product:availability
product:listPrice
product:manufacturer
product:priceFrom
product:priceTo
product:shippingCost
product:shippingWeight
commerce:acceptsCredit
commerce:accessibility
commerce:ambiance
commerce:attire
commerce:businessCategory
commerce:corkage
commerce:cuisine
commerce:features
commerce:hoursOfOperation
commerce:mealOptions
commerce:parkingOptions
commerce:priceRange
commerce:priceRangeHighest
commerce:priceRangeLowest
commerce:seatingOptions
commerce:serviceOptions
commerce:smoking
commerce:takesReservations
news:lead
news:organizations
news:people
finance:stockTickers
assert:boolean
assert:dateTime
assert:decimal
assert:float
assert:integer
assert:nonempty
assert:nonzero
assert:positive
assert:uri
assert:zero
Defining New Classes and Properties
Examples
DataRSS Example
RDFa Example
eRDF Example
C. PHP Reference
SearchMonkey PHP Whitelist
DOM Class Whitelist
Other Class Whitelist
String Functions Whitelist
Array Functions Whitelist
Variable Functions Whitelist
Output Functions Whitelist
Date Functions Whitelist
Regex Functions Whitelist
JSON Functions Whitelist
Math Functions Whitelist
Reflection Functions Whitelist
Other Functions Whitelist
The Data Class
public static function get()
Parameters
Returns
public static function getImage()
Parameters
Returns
public static function getStars()
Parameters
Returns
public static function getStarsFromNum()
Parameters
Returns
public static function xpath()
Parameters
Returns
public static function xpathString()
Parameters
Returns
D. FAQ: SearchMonkey and the Semantic Web

List of Figures

1.1. From Basic to Enhanced
1.2. Structure of a SearchMonkey Application
2.1. Application Dashboard
2.2. Basic Info Screen
2.3. URLs Screen
2.4. Data Extraction Screen
2.5. Preview Pane: Data Extraction Screen
2.6. Confirmation Screen
2.7. Data Services Library Submission Screen
2.8. Basic Info Screen
2.9. Inputs Screen
2.10. Test Data Screen
2.11. Endpoint Screen
2.12. Preview Pane: Endpoint Screen
2.13. Confirmation Screen
2.14. Data Services Library Submission Screen
2.15. Example Infobar: Acme Movies
2.16. Example Enhanced Result: Acme Movies
2.17. Basic Info Screen
2.18. URLs Screen
2.19. Data Services Screen
2.20. Appearance Screen
2.21. Preview Pane: Appearance Screen
2.22. Confirmation Screen
2.23. Confirmation Screen
3.1. Triples Diagram
3.2. Mapping the Data Service to the Application
3.3. RDF Triples for Joe's Home Page
C.1. PHP Insert Buttons

List of Tables

C.1. SearchMonkey Icons

List of Examples

2.1. Example DataRSS
2.2. Extracting a Photo from a Page with XSLT
3.1. Example DataRSS
3.2. Contact Information in hCard Format
3.3. Joe's Home Page with RDFa Markup
3.4. Joe's Home Page with eRDF Markup