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 <[email protected]
<mailto:[email protected]>> 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
> [email protected] <mailto:[email protected]>
>
> _______________________________________________
> Xesam mailing list
> [email protected] <mailto:[email protected]>
> http://lists.freedesktop.org/mailman/listinfo/xesam
_______________________________________________
Xesam mailing list
[email protected] <mailto:[email protected]>
http://lists.freedesktop.org/mailman/listinfo/xesam
------------------------------------------------------------------------
_______________________________________________
Xesam mailing list
[email protected]
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: [email protected]
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
_____________________________________________________
_______________________________________________
Xesam mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/xesam