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

Specification for the LAMP AppLoader's Command Line and System Variable Parsing

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 describing how an application parses and interprets command line arguments and system variables. RDF that uses this schema may be used to generate documentation for a program or to implement the command line parsing.

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 : <#> .


:Preference
	a rdfs:Class ;
	rdfs:comment """A preference is a handler for prefrences from
sources beyond the rdf data in the user and system rdf passed to the app
loader. This includes command line argument and flags, as well as system
properties and java vm properties. This class itself shouldn't be used;
instead, use one of its subclasses - PreferenceTrigger or
PreferenceFlag.

The usage statement is gathered from the prefs; the usage statement
doesn't print anything about the config information, which should be
documented at the appropriate URL. """@en ;
	rdfs:label "preference trigger or flag"@en .

:PreferenceTrigger
	a rdfs:Class ;
	rdfs:subClassOf :Preference ;
	rdfs:comment """A preference that takes an argument, as in
'-f file.xml' or '-DlongName=file.xml'. A pref trigger can load
preferences from command line arguments and java properties. The usage
statement is gathered from the triggers. The rdfs:label is used as the
long argument, e.g. --label, while the lal:abbr is used for the short
argument. Note that  a trigger takes an argument, unlike a flag, which
is just defined by its existance. """@en ;
	rdfs:label "preference trigger"@en .

:PreferenceFlag
	a rdfs:Class ;
	rdfs:subClassOf :Preference ;
	rdfs:comment """A preference that takes no argument, as in
'-h' or '--version'. A pref flag sets a preference to true, from 
command line arguments and java properties. The rdfs:label is used as
the long argument, e.g. --help, while the lal:abbr is used for the
short argument, (-h). Note that flags don't take arguments."""@en ;
	rdfs:label "preference flag"@en .


:longName
	a rdfs:Property ;
	rdfs:domain :Preference ;
	rdfs:range xsd:Name ;
	rdfs:comment """The preference is set if a java property is
found with this name. """@en .

:abbr
	a rdfs:Property ;
	rdfs:domain :Preference ;
	rdfs:range xsd:string ;
	rdfs:comment """The preference is set if a single-dash command
line argument is found with this as the key. """@en .

:invokes
	a rdfs:Property ;
	rdfs:domain :Preference ;
	rdfs:range xsd:Name ;
	rdfs:comment """The name of a java class that implements
TriggerHandler to invoke when this is set. """@en .