Posts

Showing posts from June, 2017

Powerful Xml Analysis with Prolog

Image
Introduction SWI Prolog provides a Prolog-friendly version of Xpath which consists of defining Xpath expressions as Prolog  terms . The actual API is documented  here . There are a few hurdles which one has to face, coming from using standard Xpath expressions (e.g. with XSLT) and having to transpose them into the Prolog flavor. Having integrated this difference with the standard, one can quickly measure the immense flexibility offered by these Prolog xpath predicates for performing some complex Xml Analysis. Key to this is the possibility to use unification involving some Xml intermediate Node objects, using them as current (local) context nodes, which in Xpath is referred to as the “Axis”. Another concept of Xpath, the NodeSet, can also be covered elegantly by unification. I would like now to showcase this on a small example, using a fictitious tree description, and some imaginary information one would like to extract from it. Resources for ...

How I came up using logical relationships describing my problem-domain

I have end of last year (2016) started working part of my time as release manager with the  regular duty of building software artifacts out of legacy Java EE Components (web  applications, web services, batches). There are a number of tools which we use to: build and release software, namely Maven, Jenkins and Nexus define clusters and their properties for our applications to be deployed on check or adapt the apps configuration, then deploy the software artifacts monitor the deployed applications Each of these functions implies working with a different toolset, which implies a lot of user  navigation in complex directory structures, file systems or web hierarchies, with either an IDE such as Intellij, a directory/web browser, or by using tools like Git or BitBucket. Facing this complexity of information can at times be challenging, given that: our build system and toolset undergo regular changes the effort of navigating the information cannot be easily au...