Grupo de Sistemas Inteligentes

Linked Mashups Ontology (LiMOn) Specification

V0.1 - 04 June 2012

This version: http://www.gsi.dit.upm.es/ontologies/limon/ (RDF/XML, HTML)
Latest version: http://www.gsi.dit.upm.es/ontologies/limon/
Editors: José Ignacio Fernández, Carlos Iglesias, Mercedes Garijo
Authors: José Ignacio Fernández, Carlos Iglesias, Mercedes Garijo
Contributors: See acknowledgements

Creative Commons License


Abstract

Linked Mashup Ontology is a model that integrates the properties and fields that are provided by current component repositories in the web. Its name comes for its approach of bringing Linked Data to Mashup-Driven Development. It allows describing mashups and their components for integrating and sharing mashup information such as categorization or dependencies. This document contains the description of the ontology.


Table of Contents

  1. Linked Mashups Ontology at a glance
  2. Linked Mashups Ontology overview
    1. Examples
  3. Cross-reference for Linked Mashups Ontology Classes and Properties

Appendixes

  1. Changelog
  2. Acknowledgements

1. Linked Mashups Ontology at a glance

An alphabetical index of LiMOn terms, by class (concepts) and by property (relationships, attributes), are given below. All the terms are hyperlinked to their detailed description for quick reference.

2. Linked Mashups Ontology overview

Diagram of LiMOn
Diagram of LiMOn, high resolution version: PNG)

2.1. Examples

The Google Maps API annotated with LiMOn metadata:

<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
   xmlns:ctag="http://commontag.org/ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:limon="http://www.ict-omelette.eu/schema.rdf#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:skos="http://www.w3.org/2004/02/skos/core#">
  <skos:Concept rdf:about="http://www.ict-omelette.eu/omr/categories/mapping">
    <rdfs:label>Mapping</rdfs:label>
  </skos:Concept>
  <ctag:Tag rdf:about="http://www.ict-omelette.eu/omr/tags/display">
    <rdfs:label>display</rdfs:label>
  </ctag:Tag>
  <ctag:Tag rdf:about="http://www.ict-omelette.eu/omr/tags/mapping">
    <rdfs:label>mapping</rdfs:label>
  </ctag:Tag>
  <ctag:Tag rdf:about="http://www.ict-omelette.eu/omr/tags/places">
    <rdfs:label>places</rdfs:label>
  </ctag:Tag>
  <ctag:Tag rdf:about="http://www.ict-omelette.eu/omr/tags/viewer">
    <rdfs:label>viewer</rdfs:label>
  </ctag:Tag>
  <limon:Service rdf:about="http://www.programmableweb.com/api/google-maps">
    <ctag:tagged rdf:resource="http://www.ict-omelette.eu/omr/tags/display"/>
    <ctag:tagged rdf:resource="http://www.ict-omelette.eu/omr/tags/mapping"/>
    <ctag:tagged rdf:resource="http://www.ict-omelette.eu/omr/tags/places"/>
    <ctag:tagged rdf:resource="http://www.ict-omelette.eu/omr/tags/viewer"/>
    <dc:description>The Google Maps API allow for the embedding of Google Maps onto web pages of outside developers,
 using a simple JavaScript interface or a Flash interface. It is designed to work on both mobile devices as well as
 traditional desktop browser applications. The API includes language localization for over 50 languages, region localization
 and geocoding, and has mechanisms for enterprise developers who want to utilize the Google Maps API within an intranet.
 The API HTTP services can be accessed over a secure (HTTPS) connection by Google Maps API Premier customers.</dc:description>
    <dc:source rdf:resource="http://www.programmableweb.com/api/google-maps"/>
    <limon:api rdf:resource="http://code.google.com/apis/maps/index.html"/>
    <limon:apiBlog rdf:resource="http://googlegeodevelopers.blogspot.com/"/>
    <limon:apiForum rdf:resource="http://groups-beta.google.com/group/Google-Maps-API?pli=1"/>
    <limon:authentication>API Key</limon:authentication>
    <limon:categorizedBy rdf:resource="http://www.ict-omelette.eu/omr/categories/mapping"/>
    <limon:clientInstallRequired>false</limon:clientInstallRequired>
    <limon:dataFormat>JSON</limon:dataFormat>
    <limon:dataFormat>KML</limon:dataFormat>
    <limon:dataFormat>VML</limon:dataFormat>
    <limon:dataFormat>XML</limon:dataFormat>
    <limon:developerAccountRequired>false</limon:developerAccountRequired>
    <limon:developerKeyRequired>true</limon:developerKeyRequired>
    <limon:protocol>JavaScript</limon:protocol>
    <limon:provider rdf:resource="http://google.com"/>
    <limon:rating>0.8201093479130551</limon:rating>
    <limon:readOnlyWithoutLogin>true</limon:readOnlyWithoutLogin>
    <limon:sslSupport>false</limon:sslSupport>
    <limon:termsAndConditions rdf:resource="http://code.google.com/apis/maps/terms.html"/>
    <limon:usageFees>None specified</limon:usageFees>
    <limon:usageLimits>50,000 geocode requests per day</limon:usageLimits>
    <limon:vendorApiKit>JavaScript library</limon:vendorApiKit>
    <rdfs:label>Google Maps API</rdfs:label>
  </limon:Service>
</rdf:RDF>

An example of Yahoo Pipe annotated with LiMOn metadata:

<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
   xmlns:ctag="http://commontag.org/ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:hrests="http://www.wsmo.org/ns/hrests#"
   xmlns:limon="http://www.ict-omelette.eu/schema.rdf#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:rosm="http://www.wsmo.org/ns/rosm/0.1#">
  <limon:Service rdf:about="http://pipes.yahoo.com/pipes/pipe.info?_id=0g8N7Hu82xGydYNOJjBjOg">
    <dc:description>This Pipe seaches Bloglines, BlogPulse, Findory, Google Blog Search, Google News,
Ice Rocket, Technorati, Yahoo! News, and MSN Live News.</dc:description>
    <dc:source rdf:resource="http://pipes.yahoo.com/pipes/pipe.info?_id=0g8N7Hu82xGydYNOJjBjOg"/>
    <limon:describedBy>
      <rosm:Service>
        <rosm:supportsOperation>
          <rosm:Operation>
            <hrests:hasAddress rdf:resource="http://pipes.yahoo.com/pipes/pipe.info?_id=0g8N7Hu82xGydYNOJjBjOg&amp;_render=rss"/>
            <rosm:requestURIParameter>
              <rdf:Description>
                <rdfs:label>
                  <rdf:Description>
                    <ctag:tagged>
                      <rdf:Description>
                        <rdfs:label>text</rdfs:label>
                      </rdf:Description>
                    </ctag:tagged>
                    <rdfs:label>textinput1</rdfs:label>
                  </rdf:Description>
                </rdfs:label>
              </rdf:Description>
            </rosm:requestURIParameter>
          </rosm:Operation>
        </rosm:supportsOperation>
      </rosm:Service>
    </limon:describedBy>
    <limon:endpoint rdf:resource="http://pipes.yahoo.com/pipes/pipe.info?_id=0g8N7Hu82xGydYNOJjBjOg"/>
    <limon:uses rdf:resource="http://api.technorati.com"/>
    <limon:uses rdf:resource="http://bloglines.com"/>
    <limon:uses rdf:resource="http://blogpulse.com"/>
    <limon:uses rdf:resource="http://blogsearch.google.com"/>
    <limon:uses rdf:resource="http://findory.com"/>
    <limon:uses rdf:resource="http://google.com"/>
    <limon:uses rdf:resource="http://icerocket.com"/>
    <limon:uses rdf:resource="http://live.com"/>
    <limon:uses rdf:resource="http://news.google.com"/>
    <limon:uses rdf:resource="http://news.search.yahoo.com"/>
    <limon:uses rdf:resource="http://rss.findory.com"/>
    <limon:uses rdf:resource="http://search.live.com"/>
    <limon:uses rdf:resource="http://search.yahoo.com"/>
    <limon:uses rdf:resource="http://technorati.com"/>
    <limon:uses rdf:resource="http://yahoo.com"/>
    <rdfs:label>Aggregated News Alerts</rdfs:label>
  </limon:Service>
</rdf:RDF>

3. Cross-reference for LiMOn classes and properties

Below see a comprehensive list of all LiMOn classes, properties and their descriptions.

Classes and Properties (full detail)


Classes

Class: limon:Component

Component - Any component that can be employed in a web mashup
Status: unknown
Properties include: termsAndConditions developerKeyRequired describedBy commercialLicense usageFees uses clientInstallRequired categorizedBy
Used with: uses
Has sub class Service Widget
OWL Class

[#] [back to top]


Class: limon:Service

Service - A web service, either WS-* or RESTful, which can be used for building a web application
Status: unknown
Properties include: protocol example apiPage sslSupport endpoint api dataFormat authenticationScheme
Sub class of Component
OWL Class

[#] [back to top]


Class: limon:Widget

Widget - An UI fragment that can be combined on a workspace to build a web application mashup
Status: unknown
Sub class of Component
OWL Class

[#] [back to top]


Properties

Property: limon:api

API - The API URL of the component
Status: unknown
Domain: Service
Object Property

[#] [back to top]


Property: limon:apiPage

API forum - The page that documents the API of the component
Status: unknown
Domain: Service
Datatype Property

[#] [back to top]


Property: limon:authenticationScheme

authentication scheme - The authentication scheme employed for this component, e.g., HTTP authentication, no authentication, OAuth, etc.
Status: unknown
Domain: Service
Datatype Property

[#] [back to top]


Property: limon:categorizedBy

categorized by - The category of the component, according to a given component taxonomy
Status: unknown
Domain: Component
Range: skos:Concept
Object Property

[#] [back to top]


Property: limon:clientInstallRequired

client install required - Property that indicates whether or not this component requires client-side code to run properly
Status: unknown
Domain: Component
Range: xsd:boolean
Datatype Property

[#] [back to top]


Property: limon:commercialLicense

commercial license - The commercial license that is required to use this component
Status: unknown
Domain: Component
Datatype Property

[#] [back to top]


Property: limon:dataFormat

data format - The format of the data exchanged with this resource, e.g. XML, JSON, HTML, etc.
Status: unknown
Domain: Service
Datatype Property

[#] [back to top]


Property: limon:describedBy

described by - The low-level description of this component, typically a W3C widget description, a WSDL file, a WADL file, or a WSMO description
Status: unknown
Domain: Component
Object Property

[#] [back to top]


Property: limon:developerKeyRequired

developer key required - Property that indicates whether using this component requires acquiring a developer key
Status: unknown
Domain: Component
Range: xsd:boolean
Datatype Property

[#] [back to top]


Property: limon:endpoint

endpoint - The URL that has to be accessed to use this component
Status: unknown
Domain: Service
Object Property

[#] [back to top]


Property: limon:example

example - An example of usage of this component
Status: unknown
Domain: Service
Datatype Property

[#] [back to top]


Property: limon:protocol

protocol - The protocol employed by this component, e.g., HTTP, SOAP, etc.
Status: unknown
Domain: Service
Datatype Property

[#] [back to top]


Property: limon:provider

provider - The vendor that provides the service of this component
Status: unknown
Object Property

[#] [back to top]


Property: limon:rating

rating - The user-aggregated rating of this component
Status: unknown
Datatype Property

[#] [back to top]


Property: limon:sslSupport

SSL support - Property that indicates whether this component has support for SSL
Status: unknown
Domain: Service
Range: xsd:boolean
Datatype Property

[#] [back to top]


Property: limon:termsAndConditions

terms and conditions - The terms and conditions of usage of this component
Status: unknown
Domain: Component
Object Property

[#] [back to top]


Property: limon:uses

uses - Any other component that this component uses or might use to work normally
Status: unknown
Domain: Component
Range: Component
Object Property

[#] [back to top]


A Changelog

2012-06-04

B Acknowledgements

This documentation has been generated automatically from the most recent ontology specification in OWL using a python script called SpecGen. The style formatting has been inspired on FOAF specification.

This work has been funded by the European Union through the Omelette project.