[sc34wg3] Semicolon or not semicolon

Dmitry db3000 at mac.com
Thu Jan 31 13:07:52 EST 2008


 
On Thursday, January 31, 2008, at 09:43AM, "Lars Heuer" <heuer at semagia.com> wrote:
>Hi Dmitry,
>
>[...]
>>>And if that's something for CTM and we want support it directly (not
>>>via the work-around), we could create a rule like this:
>>>
>>>    ctx-binary-assoc ::= <topic-ref> <topic-ref>
>>>
>>>Within the "topic" production without changing CTM too much. Maybe it
>[...]
>
>While thinking harder about it, I recognised that this syntax wouldn't
>work without problems since we're just naming all identities
>
>     john works-for The-Beatles .      # Works
>     john o:works-for The-Beatles .    # May work, but requires some
>                                       # work
>     john o:works-for o:The-Beatles .  # Does not work
>
>The problem is that o:works and o:The-Beatles may be recognised as
>subject identifiers which belong to the topic "john".

That's why I would use explicit "~" prefix/operator for subject identifiers

john
    ~ o:John;
    ~ wiki:John;
    o:works_for The-Beatles.

"~" in this case is a predicate/operator that connects 'john' and o:John 

>
>Hmm... I think, I understand the never explained "binding identities
>to local identifiers" now. Iff we use a prefix we can decide if
>something is meant as assoc type or as additional identity. I wish
>Steve or you wouldn't have kept this secret.
>
>    john ~ o:works-for  # subject identifier
>         ' o:something  # item identifier
>         = o:bla        # subject locator
>         o:works-for o:TheBeatles    # Binary assoc.
>         plays(o:piano, o:Imagine)   # Tpl. invocation
>    .
>
>If a topic has more than one identity, all additional identities
>require a prefix. Taaadaaaaa! :)

That's why we have ',' 

We can re-write example this way:

john
    ~ o:John, wiki:John;
    # <http://#John>,<.....>;
    o:works_for The-Beatles.

and 'john' generates an item identifier related to CTM document.


Dmitry


More information about the sc34wg3 mailing list