Re: anon resources and rdf:parseType='daml:collection'

Thanks for this Jeremy.  I've forwarded your message to the RDFCore WG for
consideration.

Brian


Jeremy Carroll wrote:
> 
> I've noticed that the WG has been discussing the status of anonymous
> resources.
> 
> I wished to offer a use case in which it makes a significant difference
> whether anonymous resources are allocated a URI or not.
> 
> Use case, round-tripping of DAML
> ================================
> 
> A daml ontology is read in by an RDF processing system which supports
> rdf:parseType='daml:collection'.
> 
> The system then writes the ontology out, again with a writing subsystem that
> supports rdf:parseType='daml:collection'.
> 
> Jena 1.1.0 using the RDF/XML-ABBREV writer is one such system.
> 
> Soln 1:
> =======
> anonymous resources are not given URI's but are distinguished in model.
> ----------------------------------------------------------------------
> e.g. Jena 1.1.0
> 
> By looking for resources which:
> either:
> - are daml:nil
> or
> - are anonymous
> have exactly three properties being:
>   + rdf:type = daml:List.
>   + daml:first being a resource
>   + daml:rest subject to an iterative check
> we can recognise legitimate daml:collection and write them out.
> 
> Soln 2:
> =======
> anonymous resources are given URI's which cannot be distinguished
> from user-specified URI's within model.
> ------------------------------------------------------------------
> 
> Every non-empty daml:collection involved a list-cell with the three
> properties above. However, the list-cell is non-anonymous, and we cannot
> distinguish this from where the source document specified the URI-ref. Hence
> we need to write this node out without using the daml:collection parsetype.
> 
> ******************************************************
> 
> Example file
> ------------
> 
> The first attached file "damlCollectionExample.daml" shows three examples of
> use of daml:disjointUnionOf.
> The first example in daml:Class "Normal" shows the normal usage with
> rdf:parseType="daml:collection".
> The second two examples show how using the long-hand form (without
> rdf:parseType="daml:collection") some structure sharing can be done.
> 
> The second file "roundTripped.daml" shows the result of reading the first
> file with ARP 1.0.2 and writing it out with Jena 1.1.0 (using the
> RDF/XML-ABBREV writer). The point about this message is that without
> anonymous resources either:
> 
> + a writer needs to write out the "Normal" case using the (unreadable) long
> hand form
> 
> or:
> 
> + a writer will use the compact rdf:parseType="daml:collection" form more
> frequently than it should, and will make mistakes when there is structure
> sharing, particularly across files, preventing global analysis.
> 
> Enjoy
> 
> Jeremy Carroll
> HP Labs Bristol.
> 
>   --------------------------------------------------------------------------------
>                                  Name: damlCollectionExample.daml
>    damlCollectionExample.daml    Type: unspecified type (application/octet-stream)
>                              Encoding: quoted-printable
> 
>                         Name: roundTripped.daml
>    roundTripped.daml    Type: unspecified type (application/octet-stream)
>                     Encoding: quoted-printable

Received on Friday, 27 July 2001 11:10:13 UTC