|
MacrosAndSyntax
Page for the Macros and Syntax OWLED task force
Macros and Syntax Task ForcePoint person: Alan Ruttenberg Idea is to allow for programmable extensions to syntax to enable easy construction of domain specific languages(DSLs) based on OWL. Inspired by the Common Lisp macro facility DetailsStarting point is the abstract (sans followup paper, unfortunately) submitted to OWLED 2007: See also, an example of macros prototyped in LSW, in reactions.lisp that allows one to write: (reaction !reaction1 ((2 !h) !o) <=> !h2o) Another example developed to illustrate how to write a certain class of rules useful for medical diagnosis. This one lets you write things like: (patient-with-symptoms !patient3 !coughs !sneezes !turnsBlue) My initial thoughts are to have macros expand into the functional syntax, represented as some data structure in the language in which the macros are implemented. An open question is whether that structure should be modified from the "outside", as with a DOM, or from the "inside", by implementing a lisp-like interpreter to do the macro-expansion. Another approach would be to operate at the RDF level, defining a translation from a simpler RDF document to a more complicated one via the use of SPARQL construct statements. You can prototype such a thing now with the DERI pipes transform pipe. Noteworthy: This page maintained by Alan Ruttenberg. Feel free to edit. |
Sign in to add a comment