- From: Jeremy Carroll <jjc@hplb.hpl.hp.com>
- Date: Fri, 27 Jul 2001 14:55:39 +0100
- To: <www-rdf-comments@w3.org>
- Message-ID: <JAEBJCLMIFLKLOJGMELDEEOFCBAA.jjc@hplb.hpl.hp.com>
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.
Attachments
- application/octet-stream attachment: damlCollectionExample.daml
- application/octet-stream attachment: roundTripped.daml
Received on Friday, 27 July 2001 09:55:43 UTC