Home >> Media Group >> Research >> ViPER
Downloads -- Documentation -- Developers -- Discussion
LAMP     The Language and Media Processing Laboratory

Specification for the LAMP AppLoader's Configuration

The LAMP AppLoader is a program that loads applications from RDF descriptions. It is currently under heavy developement in support of the ViPER project.

This page describes is the namespace URL for the basic application preferences. To create a useful application, you will also have to use the menu namespace. If you wish to have a list of most recently used files, you should probably update a history in the user preference space with the mru namespace. If you want to interpret command-line arguments and system variables as RDF, use the prefs namespace.

The Java-specific stuff should perhaps be in its own namespace, with this core apploader schema being more language agnostic. I'll look into making the changes necessary if the issue ever arises (for example, if we decide to allow use Jython for some things, or someone wishes to use the schema for another apploader written in C#).

RDF (Resource Description Framework) PoweredIt should be noted that, thanks to HTTP/1.1 Content Negotiation, this page can be requested as application/rdf+xml, and as such is valid rdf. If you wish to download the rdf from your browser, you may download it in RDF/XML and RDF/N3

Schema Encoded in RDF/N3

@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd:  <http://www.w3.org/2000/10/XMLSchema#> .

@prefix : <#> .

:Bean
	a rdfs:Class ;
	rdfs:label "Java bean" ;
	rdfs:comment """Represents an instance of a Java bean.
Useful for loading or referring to Java classes. Note that I call them
beans, as beans are classes that have no-arg constructors and a few
other things. The no-arg constructor is what is important."""@en .

:className
	a rdfs:Property ;
	rdfs:domain :Bean ;
	rdfs:range xsd:Name ;
	rdfs:comment "The name of the bean's java class"@en .
:requires
	a rdfs:Property ;
	rdfs:domain :Bean ;
	rdfs:range :Bean ;
	rdfs:comment """Makes sure that the required bean is loaded
before this one is. Note that this should definitely be included if
you have pass a bean to another bean's property."""@en .

:shellCommand
	a rdfs:Property ;
	rdfs:domain :Bean ;
	rdfs:range xsd:string ;
	rdfs:comment "The command line argument to load a bean's main"@en .

:Core
	a :Bean ;
	rdfs:comment """This bean is loaded by default. Set its label 
to change the title. Set its lal:abbr to the name of the binary
file that launches the application."""@en .

:BeanProperty
	a rdfs:Class ;
	rdfs:label "Java bean property"@en ;
	rdfs:comment "Resource that describes a javabean property."@en .
:propertyOf
	a rdfs:Property ;
	rdfs:domain :BeanProperty ;
	rdfs:range :Bean .
:setProperty 
	a rdfs:Property ;
	rdfs:domain :BeanProperty .
:propertyName
	a rdfs:Property ;
	rdfs:domain :BeanProperty ;
	rdfs:range xsd:Name .
:propertyValue
	a rdfs:Property ;
	rdfs:domain :BeanProperty .