W3C home > Mailing lists > Public > www-webont-wg@w3.org > February 2003

RE: Streaming OWL Parsers

From: Jos De_Roo <jos.deroo@agfa.com>
Date: Sat, 15 Feb 2003 17:10:02 +0100
To: Peter.Crowther@networkinference.com
Cc: "Jos De_Roo" <jos.deroo@agfa.com>, "WebOnt WG" <www-webont-wg@w3.org>
Message-ID: <OF4EDACF21.053C412D-ONC1256CCE.00565C8A-C1256CCE.0058DB24@agfa.be>


Peter Crowther wrote:
>> From: Jos De_Roo [mailto:jos.deroo@agfa.com]
>> We have a testcase with a blob component that can
>> deliver tens of millions of ***triples*** and I don't
>> experience any scalabilty problems with that, to the contrary,
>> it's much easier/faster to have distributed graph control.
>
>Glad to hear that.  How do you load it, or does it deliver the same
>triples each time?

No need to load the whole. There's some mechanical
finding out what triples are needed (query, proof etc).
The amount of triples delivered could indeed largely vary.

>> >We can stream OWL/XML, but not OWL/RDF, due to this annoying problem
>> >that the triples describing a single concept nested to an arbitrary
>> >depth may appear in an arbitrary order.
>>
>> What kind of nesting are you talking about?
>
>I'll take one of many examples for illustration.
>
>Consider an object property R:
>
>          <owl:ObjectProperty rdf:ID="R" />
>
>and a class C:
>
>          <owl:Class rdf:ID="C" />
>
>It is possible to construct a class D that implies that all R-successors
>must satisfy C:
>
><owl:Class rdf:ID="D">
>  <rdfs:subClassOf>
>    <owl:Restriction>
>      <owl:onProperty rdf:resource="#R" />
>      <owl:hasValue rdf:resource="#C" />
>    </owl:Restriction>
>  </rdfs:subClassOf>
></owl:Class>
>
>It is possible to extend this to another level by replacing the use of C
>with a complex class (note that I can't find any examples of this in the
>Guide, by the way, which is what I tenbd to use for cut'n'paste examples
>:-):
>
><owl:Class rdf:ID="D">
>  <rdfs:subClassOf>
>    <owl:Restriction>
>      <owl:onProperty rdf:resource="#R" />
>      <owl:hasValue>
>        <owl:Class>
>          <rdfs:subClassOf>
>            <owl:Restriction>
>              <owl:onProperty rdf:resource="#R" />
>              <owl:hasValue rdf:resource="#C" />
>            </owl:Restriction>
>          </owl:Restriction>
>        </rdfs:subClassOf>
>      </owl:hasValue>
>    </owl:Restriction>
>  </rdfs:subClassOf>
></owl:Class>
>
>I've defined a concept with one level of nested sub-concept, and how to
>go from level n to level n+1 (and even if my syntax is off, as I suspect
>it is, the principle holds).  By induction, it is possible to define a
>concept with an arbitrary level.
>
>Now convert this RDF/XML to the non-striped form of RDF/XML --- which is
>permissible --- and rearrange those triples in arbitrary order.

My experience with restrictions is very restricted...
We only seem to derive that ?i :R ?X. when we can prove that
?i a ?Y. ?Y rdfs:subClassOf ?Z. ?Z owl:onProperty :R; owl:hasValue ?X.
and that's in arbitrary triple order (not different from other cases).

-- ,
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
Received on Saturday, 15 February 2003 11:10:38 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:57:57 GMT