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

RE: Streaming OWL Parsers

From: Peter Crowther <Peter.Crowther@networkinference.com>
Date: Sat, 15 Feb 2003 14:23:05 -0000
Message-ID: <3BE4D3F0FB726240966DEF40418472B5012CBE@ni-lon-server1.ad.networkinference.com>
To: "Jos De_Roo" <jos.deroo@agfa.com>
Cc: "WebOnt WG" <www-webont-wg@w3.org>

> 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?

> >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.

		- Peter
Received on Saturday, 15 February 2003 09:23:40 GMT

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