PROPOSAL: CHANGES for CURIEs

Below is a schematic of the necessary changes. It should be adequate  
for understanding the scope and effect of the changes.

The only deviator will be RDF/XML which, for historical reasons, we  
cannot change.

I tried to align it a bit with Turtle's @prefix syntax. That's a  
little nasty for OWL/XML e.g., <prefix prefix=""..> but, whatever :)

If we can make a decision about this on Wed, that'd rock.

I'll try to have a draft of a comment note to the XHTML wg. At the  
worst (they disband) at least future folks would have something to  
work from.

=========================
				ABSTRACTLY
CURIE DEFINITION:
		Declaration of a curie prefix is called PREFIX (or PREFIXDECL or  
whatever).
		The prefix itself is an NCName (as is the case now).
		The expansion is an anyURI

CURIE REFERENCE:
		The prefix itself is an NCName (as is the case now).
		You can have
		The local name follows SPARQL production 100:
			[100]  PN_LOCAL  ::=  ( PN_CHARS_U | [0-9] ) ((PN_CHARS|'.')*  
PN_CHARS)?
			I'll call this LOCAL
		and non-normatively references it.

PROCESSING MODEL:
		Last PREFIX declaration wins for a given prefix (this follows N3 &  
Turtle)
		I believe the processing model needs to be added everywhere...Boris  
or Peter, can you confirm?

		Text could be:
	""""When there are more than one prefix declaration for the same  
prefix, the last declaration overrides all the earlier ones."""

=================================
				MANCHESTER SYNTAX

Substantive changes occur in:
	http://www.w3.org/2007/OWL/wiki/ManchesterSyntax#IRIs.2C_Integers. 
2C_Literals.2C_and_Entities

CURIE DEFINITION:
	The productions
		ontologyDocument ::=  { namespace } ontology
		namespace ::= 'Namespace:' [ prefix ] full-IRI
	are replaced with:
		ontologyDocument ::=  { prefix } ontology
		prefix ::= 'Prefix:' [ prefix ] full-IRI


CURIE REFERENCE:
	The production rule
		curie := [ [ prefix ] ':' ] reference
	are replaced with:
		curie := [ [ prefix ] ':' ] LOCAL

=================================
			FUNCTIONAL SYNTAX

CURIE DEFINITION:
Substantive changes occur in:
	http://www.w3.org/2007/OWL/wiki/Syntax#Functional-Style_Syntax
	The production
		prefixDefinition := 'Namespace' '(' [ prefix ] '=' namespace ')'
	is replaced with:
		prefix ::= 'Prefix' '(' [ prefix ] '=' full-IRI ')'


CURIE REFERENCE:
Substantive changes occur in:
	http://www.w3.org/2007/OWL/wiki/Syntax#IRIs_and_Namespaces
	The production rule
		curie := [ [ prefix ] ':' ] reference
	is replaced with:
		curie := [ [ prefix ] ':' ] LOCAL

Then need to add processing instructions and adjust examples and  
references to "namespace". It'd be good to have a bit which says, "We  
deviate from the CURIE draft in such and such a way and follow SPARQL."

=================================
	XML SYNTAX

Pretty  much the same as in:
	<http://www.w3.org/mid/782D37BF-C450-47A5-A922- 
D9EDC2252353@cs.man.ac.uk>
except that the element name is PREFIX or PREFIXDECL (appropriately  
capitalized). I like using the leading @ to mark curies and thus keep  
IRI as the only such attribute.

The text should include the processing model sentence.

I'm happy to make these and related changes across these documents if  
the working group so approves.

Cheers,
Bijan.

Received on Monday, 23 March 2009 18:34:51 UTC