|
I have been working as a software engineer for over ten years, using a variety of tools, frameworks, and backend persistent data stores. I primarily work in Java these days, using J2EE extensions, and mainly cozy up to Oracle (though I an conversant with other RDBMS). I also am familiar with XML, and have written XSDs for validation and XSLs for transformation. Most recently, I have been working for a few years at LLNL, primarily on various semantic graph technologies. Most recently, I have been working on research-oriented projects, leveraging recent publications in trying to discover pertinent structures in semantic graphs. Just before that, I worked on two projects also related to large scale semantic graphs, Analysis, Dissemination, Visualization, Insight, and Semantic Enhancement (ADVISE) and the Biodefense Knowledge Center (BKC), both of which were large-scale (on the order of billions of nodes) data fusion semantic graph applications. For BKC, I was mainly involved in data loading and transformation tasks, in a rather dynamic environment. ADVISE was the core of BKC, proving the underlying system for incorporating data from disparate systems and documents. (The high-level architecture was presented at UCLA at the behest of DHS, the slides are publicly available on the web and here). I was co-author of the XML-based ontology language, as well as the sole developer of the backend responsible for laying out a database schema based on a system's dynamic ontology (specified in the aforementioned ontology language). In developing the ontology language and parser, I incorporated a variety of features (node and link inheritance, for example) to facilitate the creation of easier and more understandable ontologies. There are a number of reasons why OWL was unsatisfactory for our purposes at the time (not the least of which was that it was a work in progress), more details will hopefully be published in a LLNL technical report. For the parser itself, I opted to create it as a library that could run outside the confines of the backend system, such that all client tools wishing to speak the same ontology language as ADVISE could simply call the library functions for parsing the ontology and then use the in-memory API to run inference and expand the ontology structures. To get the data from disparate systems into ADVISE, I also worked on the data ingest methodology, transforming it from an ad-hoc parser development methodology into a unified, UIMA-based, common framework for rapid data ingest capability. My resume is only available by request, and parts of it are scattered across social networking sites, but perhaps most cohesively at Linkedin. |


