> 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