[Xesam] Validator

Leo Sauermann leo.sauermann at dfki.de
Mon Jul 27 08:10:29 PDT 2009


Hi,

I am fine with both Java and Python, I think we should limit the use of 
C to a minimum, to limit LoC.

I would not like to force anyone at this moment to change programming 
language, it would lower productivity of the individual developer, so 
anything we can do to make the ontology developers productive is fine 
with me... be it C or python or Java or all three.

Also, if Ivan, Antoni, and a few other volunteers make the development 
environment work, the ontology developers as such just need to run a few 
commandline arguments (apt-get X, do y, start z) and should be 
productive, without ever looking into the code.

my 2c:
.... it should run on windows also, though (I am a windows man :-(   
.... and with Java and maven, I know that it runs on all platforms 
normal developers use :-( ... that said, Python is also a sucker when it 
comes to platform-independence, many python tools depend on commandline 
tools by the OS.... and C is even worse, for OSX and Windows developers 
there is always problems to compile C programs written with many 
Gnu-utils in the background, ... but anyway, there is always a way to 
make it work :-)

It was Ivan Frade who said at the right time 27.07.2009 15:56 the 
following words:
> Hi Sebastian,
>
>  (i couldn't check the wiki page but...)
>  We can have the java tools in the repository in case somebody is 
> interested on it, but the main build (when you run "make distcheck" 
> should use only C or python or something "mobile friendly".

in general, I am not fine with the argument "mobile friendly", I think 
it does not hold to say "we must use C". so some questions to help me 
understand the mobile-friendly need....

for me, the only end-result of the process is this (for example)
http://www.semanticdesktop.org/ontologies/2007/11/01/pimo/pimo.trig

this is the way the file ends up there:
A TRIG file stored on the semanticdesktop.org web is updated by a 
5-minute cron job which reads from 
http://dev.nepomuk.semanticdesktop.org/repos/trunk/ontologies-public/,
where we have commit rights,

(once we have a new ontology and the SVN on oscaf.sf.net, I will change 
the cronjob to copy it from oscaf)

SO.... the end result is a trig file, some .htaccess files, some HTML 
files, on a svn server....
It ends up there when an ontology maintainer committed it to our SVN.
then the cronjob picks it up.
The ontology maintainer does not develop on a mobile device but on a 
linux/max/windows laptop or desktop .... (I assue, I mean, you use your 
laptops for hacking, no sane hacker uses android or iphone or maemo or 
so for development)

why would I need to develop the TRIG/HTML on a mobile device?

if the mobile device uses the ontologies:

* the mobile device can do a HTTP-get to download the ontologies,
* the developer for mobile devices can download the ontologies from 
SVN/HTTP/GIT (whereever) and run whatever script is needed to develop?

so, I am all fine with "all development tools must be in C because it is 
cross platform and rocks",
but the same works for java for our usual development environments -
I think I am missing some crucial information about why we must use C 
tools to generate trig files.
Anyway - see below, I think that Python is a much wiser choice than C,
because it means: much less lines of code!


>
>  Here we have two scenarios:
>
> 1) Release a tarball with the ontologies + HTML documentation so 
> distributions can build packages from it, and tracker, strigi, 
> kde-nepomuk depend on that package.
>     For this we should use python/C and autotools. We have already a 
> "soft validator" in C, plus a basic HTML generation also in C.
>
> This is the point we discuss on GCDS, and agree on the svn layout, use 
> autotools and write the HTML generation.
ok, we did all this with ant before,
sans the tarball (which ant could probably also do)
anyway, if we use cmake/autotools from now on, fine, but then you would 
have to do a lot of work because I nor Antoni are fluent in cmake/autotools.
its just a matter of our training here, which we could achieve when we 
look at an initial version done by autotool-savants.
>
> 2) Ontology development. While we work in the ontology we can provide 
> a patch for the ontology and use the validation tools to check 
> everything looks fine. For this you can use Antoni validator, if you 
> have java in your development envieronment and get advantage of the 
> "hard validator".
excellent, yes.
I would even say: if the patch does not break anything on your machine, 
commit it as is.
(we agreed that the trunk is unstable in previous mails)
>
>  I couldn't check the wiki page, but i guess antoni wrote down what is 
> his validator checking so i can cross-check what is missing in the C 
> version.
excellent.
>
>  What is blocking me now to write a proper HTML generator is to decide 
> what language to use. I can complete the C code, or rewrite the things 
> in python (nicer HTML template engines, easier string handling...). 
> Python looks nicer but i am not sure there is a turtle parser...
python has much better turtle parsers than C,
especially because python has, on the long run, the chance that there 
will be even better ones coming up.
http://www.deelan.com/dev/purple/
http://www4.wiwiss.fu-berlin.de/bizer/toolkits/#python (n3 == turtle)
http://esw.w3.org/topic/SemanticWebTools

as far as I remember, every sane RDF developer uses RDFLib for python 
hacking,

I would definitly go for python for this task, not C.

caveat: rdflib is cryptic to compile under windows (pity me again),
but at least I achieved it once in the past...

best
Leo
>
>  Regards,
>
> Ivan
>
>
> On Mon, Jul 27, 2009 at 4:22 PM, Sebastian Trüg <strueg at mandriva.com 
> <mailto:strueg at mandriva.com>> wrote:
>
>     so you agreed on using java tools then?
>     And Ivan, you will not provide an alternative?
>
>     Cheers,
>     Sebastian
>
>     On Monday 27 July 2009 00:29:15 Antoni Mylka wrote:
>     > Xesamies,
>     >
>     > After the discussion with Ivan, I've uploaded a little
>     specification of
>     > the validator we used in Nepomuk:
>     >
>     > https://sourceforge.net/apps/trac/oscaf/wiki/Validator
>     >
>     > Now I updated the validator code and wrote an ant task that
>     encapsulates
>     > it. Basically what you need to do is put a following bit of xml
>     inside
>     > build.xml:
>     >
>     > <onttest>
>     >       <ontologies dir="${oscaf.trunk.folder}">
>     >               <exclude name="**/README"/>
>     >               <exclude name="**/doc/**"/>
>     >               <exclude name="**/pimo/**"/>
>     >               <exclude name="**/tmo/**"/>
>     >               <exclude name="**/base/**"/>
>     >       </ontologies>
>     >       <baseontologies dir="${oscaf.trunk.folder}">
>     >               <include name="**/base/*"/>
>     >               <exclude name="**/README"/>
>     >       </baseontologies>
>     >       <testcases dir="tests" />
>     > </onttest>
>     >
>     > The ontologies, base ontologies and test cases are specified as ant
>     > FileSets: http://ant.apache.org/manual/CoreTypes/fileset.html It
>     allows
>     > for pretty fancy file choosing schemes.
>     >
>     > I've uploaded a tarball with the sources of the ant task, all
>     > dependencies and a build.xml script that compiles the java source,
>     > validates all NIE ontologies and a single example file. It's here:
>     >
>     > http://www.dfki.uni-kl.de/~mylka/nie-ant.tar.bz2
>     <http://www.dfki.uni-kl.de/%7Emylka/nie-ant.tar.bz2>
>     >
>     > Please
>     > - download, untar
>     > - edit the build.xml to point it at the oscaf ontologies trunk
>     folder
>     > - type 'ant'
>     > - and see the validation report (or some other problem in which case
>     > send me an email).
>     >
>     > Right now it detects 519 problems in NIE. All of them are due to
>     missing
>     > base ontologies:
>     > - W3C Geo
>     > - Masahide Kanzaki EXIF
>     > - a little hack that states that all XSD datatypes are rdf datatypes
>     >
>     > The missing base ontologies are included in the tarball.
>     >
>     > I would like to create a tools/java folder in SVN and upload the
>     > build.xml, the jars and the testcases there. I wouldn't change
>     anything
>     > in the 'ontologies' folder. If anyone is allergic to java he/she
>     won't
>     > have to check it out at all.
>     >
>     > More testcases will come in near future. Stay tuned.
>     >
>     > Any objections?
>     >
>     > Antoni Mylka
>     > antoni.mylka at gmail.com <mailto:antoni.mylka at gmail.com>
>     >
>     > _______________________________________________
>     > Xesam mailing list
>     > Xesam at lists.freedesktop.org <mailto:Xesam at lists.freedesktop.org>
>     > http://lists.freedesktop.org/mailman/listinfo/xesam
>     _______________________________________________
>     Xesam mailing list
>     Xesam at lists.freedesktop.org <mailto:Xesam at lists.freedesktop.org>
>     http://lists.freedesktop.org/mailman/listinfo/xesam
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Xesam mailing list
> Xesam at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xesam
>   


-- 
_____________________________________________________
Dr. Leo Sauermann       http://www.dfki.de/~sauermann 

Deutsches Forschungszentrum fuer 
Kuenstliche Intelligenz DFKI GmbH
Trippstadter Strasse 122
P.O. Box 2080           Fon:   +43 6991 gnowsis
D-67663 Kaiserslautern  Fax:   +49 631 20575-102
Germany                 Mail:  leo.sauermann at dfki.de

Geschaeftsfuehrung:
Prof.Dr.Dr.h.c.mult. Wolfgang Wahlster (Vorsitzender)
Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats:
Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
_____________________________________________________

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freedesktop.org/archives/xesam/attachments/20090727/722b202f/attachment-0001.htm 


More information about the Xesam mailing list