> >>> * What's the criteria to use DB.DBA.procedureName or procedureName? > >>> Does the latter resolve to the former qualified name or does it depend > >>> on the user? I see a lot of code written in the DB.DBA.* catalog, then > >>> I see lots of procedures with no qualification and I also see some > >>> places where they are qualified.
Unqualified procedure names are bad thing in general, because they've resolved at run time. So better use qualified names. > >>> * Most procedures have an extensive list of parameters that need > to be > >>> documented ( in my code at least ). Since there is no current doc > >>> parser, generator, etc, what if we use a modified inline TTL > dialect > >>> to declare metadata for procedures? Comments, links to > documentation, > >>> author metadata, etc. > >>> Since the source text is stored on the database itself, then it > can be > >>> easy to extract this using a sponger and saving it onto a graph, > etc. Before that, we probably need a good XSLT+SPARQL to get a useful report from collected RDF data. This XSLT+SPARQL is the very next thing to implement, only maintainance of existing code has higher priority. After that, extractor might be a good example of XSLT+SPARQL. But I'm sure that comments should have an absolutely minimal markup, javadoc/doxygen style, and the markup should be optional, to not repel people from writing comments at all. > >>> One more thing. > >>> Since procedures live as isolated enities in the database, we have an > >>> advantage over traditional IDEs. Depending on the granularity of the > >>> parse tree and the metadata ( these comments ), you can achieve pretty > >>> incredible usability feats. > >>> You start the coding experience with a faceted browser over your > >>> procedures. You can type and search a la spotlight, or filter by > >>> author, or look for tags, etc. > >>> > >>> And then we fall into full integration with SVN if you want to > >>> roundtrip... but, wait! Virtuoso is WebDAV server! LOL. I don like the idea of writing new procedures via WebDAV but I understand that this is my personal preference. OTOH I agree that reading procedures via WebDAV can be convenient for debugging in complicated cases. But low priority for me, anyway. Re minor things like +=, ||= etc. --- I want that too but I continuously get better things to do. In English we have "f-word", in Virtuoso/PL we have "f-operator" --- a "for" with ugly expressions in parentheses. Best Regards, Ivan Mikhailov OpenLink Software http://virtuoso.openlinksw.com