Think about Loose Coupling | |
PerlMonks |
Meditating on Perl, Python and the Semantic Webby ack (Deacon) |
on Dec 19, 2009 at 05:01 UTC ( [id://813483]=perlmeditation: print w/replies, xml ) | Need Help?? |
I have been working on a project with the National Labs over the past several months. A central element of that work has been an effort to bring much of the information and computatiom power of the Labs into a Service Oriented Architecture paradigm and the Semantic Web constructs are at the heart of that part of the work. Not being that familiar with the Semantic Web constructs, I embarked on a concerted effort to teach myself about it. So I have read through several books. But, for me, there is no substitute for doing some actualy programming on a topic to really do a "deep dive" into the material. So I latched onto Segara, Evans and Taylors' "Programming the Semantic Web" (published by O'Reilly. I like O'Reilly's books, in general, and had some really good learning on their similar book "Programming Collective Intelligence." I am a Perl programmer, through and through, and have been laboring with trying to convert the Python constructs that seem so prevalent in these SOA, Semantic Web, and Web Data Minimg "tutorials". Out of this last few months' efforts, two questions have emerged for me. First, why is Python so prevalent in this genere of discourse? What makes Python so preferred in the world of Collective Intelligence, Semantic Web, etc.? Second, why is Perl so conspicuously NOT involved in those domains? I have searched extensively in CPAN and we only have a tiny handful of modules. Similarly, there are virtually no books on the topics that use Perl or are Perl-oriented. Perl seems like an absolute natural programming language for these types of applications. I have tought myself enough Python that I don't have to struggle too hard when learning from the books. That progress learning Python, however, has taught me that I'm hard pressed to see or know why Python would be any better than Perl. Superficially, it seems that Python may be a little more compact (with constructs like its List Comprehensions); but my experience so far is that it is no easier to understand or read than obfuscated Perl which can be just as compact...and just as obscure. I take exception to the assertion in all of those books that "Python is used because it is so naturally understandable"; I don't see that at all. So I'm curious (knowing that quite a few of you know Python much beter than I do and you all, here in the Monestary know Perl, of course) if anyone can explain the predilection for Python for those types of applications...and the dirth of Perl in them. Just curious. UPDATE: I guess I should know better than to post just before going away for a while. I really appreciate all the comments, observations, and contributions to this inquiry. I will try to go through, shortly, all of the responses and make some comments and thank each of you. But before I do that I thought I should follow up with a discovery that I made not long after I posted this. I was rummaging around on CPAN trying some different keywords than I had used previously. As one respondent noted, I stumbeled upon the RFA keyword (a more seasoned Semantic Web affectionado would probably have thought that RFA would be obvious; but I being the numbie to the semantic web, not thought of it). Turns out that there is a whole plethora of modules related to that keyword and all are rich in semantic web support. So I eagerly went about downloading and installing (or trying to install) the most useful to my learning purposes (RFA::Core, RFA::Redland, RFA::Query, and a couple of others). I am not a stranger to having to install, manually, modules from CPAN so even though none of them had packages that were ActiveState Perl Package Manager compatible modules) I embarked upon manually installing them on my Windows XP machine. Most of the supporting modules installed just fine; but the main ones (e.g., RFA::Core, RFA::Query, etc.) failed. Each was missing some key microsoft .dll's...so I went about updating and installing what was supposedly necessary. Then the installs proceeded to fail due to missing tools that...according to the on-line net groups...appear to be unique to unix (and unix-like) systems. So while it appears that CPAN does, indeed, have a pretty rich semantic web toolset, it looks like I can access and use none of them. For what it's worth, while I am at best a very, very newbie to Python, when I try to code the examples from "Programming the Semantic Web" in Python, I have similar problems and cannot get most of the examples to work in Python, either. UPDATE 2:My Bad! I erroneously referred to those CPAN nodules as RFA::xxxxx...that should've been RDF::xxxxx. "RDF" is "Resource Description Framework"...pretty much the very core of the "Semantic Web". Don't know where I got "RFA"...must've been been slip of my aging mental cogs.
ack
Albuquerque, NM
Back to
Meditations
|
|