Hi,<br><br> In some platforms  (specially mobile world) there is no java. We could depend on java IF there were tools that we cannot have/use in other languages. Taking a quick look to the documentation you wrote i think there is nothing we cannot do in plain C.<br>
<br>My comments:<br><br><br><div class="gmail_quote">On Tue, Jul 21, 2009 at 6:06 PM, Antoni Mylka <span dir="ltr">&lt;<a href="mailto:antoni.mylka@gmail.com">antoni.mylka@gmail.com</a>&gt;</span> wrote:<br><div>  <br></div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
1. RDFS2Tex - the doc generator. It has two &quot;renderers&quot;: one that<br>
outputs LaTeX and one that ouputs HTML.<br>
<br>
Input:<br>
  - a directory containing rdf files,<br>
  - the namespace to document<br>
  - a list of &quot;local&quot; namespaces (inside NIE, like NFO, NMO, NCO...)<br>
Output:<br>
  - a html file with the documentation of classes and properties<br>
    from the given namespace,<br>
  - all references to entities from &quot;local&quot; namespaces are turned to<br>
    links, external entities are not turned to links<br>
Algorithm:<br>
  - take triples from all files into a single model<br>
  - apply RDFS inference to get all sub/superclasses and<br>
    sub/superproperties<br>
  - iterate over all classes from the given namespace and generate<br>
    output<br>
  - iterate over all properties from the given namespace and generate<br>
    output<br>
Rewriting<br>
  - could probably be much clearer with a reasonable object model and<br>
    a template engine, i.e. with ruby/redland and erb, or with<br>
    java/velocity<br>
  - if in java, it could be ported to sesame to drop the number of jars<br>
    in the &#39;lib&#39; folder from 18 to 3 (sesame and two slf4j jars)<br>
  - but requires RDFS inference to work properly, otherwise you won&#39;t<br>
    get those full lists of (sub|super)(classes|properties), AFAIK<br>
    redland doesn&#39;t have this and using virtuoso seems like overkill<br>
Quality:<br>
  - mediocre, it cries for a template engine, but it seems to work<br>
</blockquote><div><br>I did something similar to this in C + Redland [1]. It uses two turtle files (X.ontology, X.description) and the same algorithm. I stopped doing it waiting for this documentation discussion, so it is not complete (it generates proper links to classes/properties with &quot;real URIs&quot; [the uri of the resource points to a valid HTML with the documentation]).<br>
<br> You can use a proper data model to get the direct super/sub class/properties, and then you dont need &quot;RDFS inference&quot; anymore. The problem is that you cannot easily find &quot;all superclasses of class X&quot;, but anyway this is only useful to get &quot;all properties available for class X&quot; and AFAICS this information is not available in the HTML documents.<br>
<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2. RDFS2NRL - an ugly hack, seems obsolete now<br>
<br>
Quality<br>
   - works, but is obsolete in the XESAM/OSCAF setup <br></blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
3,4,5. the converters are completely obsolete, should be deleted<br>
</blockquote><div> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
6. Another tool we developed in NEPOMUK is the nrlvalidator (which<br>
requires unionsail and infsail). There is some CLI interface, but it was<br>
meant to be accessed with a java API. They currently live within the<br>
aperture-tools package in the aperture sourceforge repository.<br>
</blockquote><div><br> I wrote something similar [2]. It is call data-validator, and i use it to validate my test-data generators against the ontology.<br><br> It is written in C + Redland, and at the moment it doesn&#39;t validate data errors, but it should be easy to fix that.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>Rewriting:<br>
    - very difficult, would require a rule-based inference engine,<br>
      there is one in Jena, and infsail is a port from the Jena-one<br>
      to sesame made by Gunnar Grimnes from DFKI. IMHO nearly impossible<br>
      with redland, dunno about virtuoso, or CWM</blockquote><div><br> Maybe not all the ultra-fancy validations can be done with redland, but at least all the common mistakes generating data i have found while testing tracker, are<br>
detected with my pet-validator.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    - it&#39;s IMHO important because such a tool would be the only way<br>
      to ensure we deliver on the backward-compatiblity promise</blockquote><div><br>I never used it for that. But it is a good use-case.<br><br>Regards,<br><br>Ivan<br></div></div><br>[1] <a href="http://git.gnome.org/cgit/tracker/tree/utils/services/ttl2html.c">http://git.gnome.org/cgit/tracker/tree/utils/services/ttl2html.c</a> <br>
[2] <a href="http://git.gnome.org/cgit/tracker/tree/utils/services/data-validator.c">http://git.gnome.org/cgit/tracker/tree/utils/services/data-validator.c</a><br>