Account Options

  1. Sign in
The old Google Groups will be going away soon.
Switch to the new Google Groups.
Google Groups Home
« Groups Home
Message from discussion Extensions and Extension Attributes
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Elias Torres  
View profile  
 More options Jul 13 2006, 10:38 am
From: Elias Torres <el...@torrez.us>
Date: Thu, 13 Jul 2006 10:38:15 -0400
Local: Thurs, Jul 13 2006 10:38 am
Subject: Extensions and Extension Attributes
As you already know we are putting the final touches on the Atom/RDF
store and as we work with James Snell from Abdera and author of many
extensions, he found a "bug" as we don't support extension attributes.

Our store doesn't capture in RDF elements containing extension
attributes so yesterday we started climbing this hill in our trek to
Atom/OWL mountain. Ben Szekely, Lee and I were discussing how do we want
to model extensions in a way that was not as structured as Powell's
approach and came up with some good ideas.

Here's the problem child #1:

<a:link rel="replies" href="foo" thr:count="10" xmlns:thr="urn:foo" />

Here's another problem child #2:

<a:id xmlns:x="urn:bar"
x:identifierType="lsid">urn:lsid:ex.org:entries:1</a>

#1 is not that bad:

 :link [ a :Link;
           :rel iana:alternate ;
           :to [ :src <http://example.org/>;] ;

           thr:count "10"; # notice JS extension
           ];

#2 is where the hill got a little steep:

[] :id "urn:lsid:ex.org:entries:1"^^xsd:anyURI .

However, Lee remembered to check the hiking module and found this gem:

http://www.w3.org/TR/rdf-schema/#ch_value

"""rdf:value is an instance of rdf:Property that may be used in
describing structured values."""

There's a note to see example 16 in the RDF primer, but that's not
right. Instead you must go to Section 4.4

http://www.w3.org/TR/2004/REC-rdf-primer-20040210/#rdfvalue

"""in some cases one of the parts of the structured value is often
thought of as the "main" value, with the other parts of the relation
providing additional contextual or other information that qualifies the
main value."""

The most relevant line: "...or other information that qualifies the main
value..."

[] :id [
    rdf:value "urn:lsid:ex.org:entries:1"^^xsd:anyURI

    # other contextual information..
] .

Now we can go into the extension attributes...

[] :id [
    rdf:value "urn:lsid:ex.org:entries:1"^^xsd:anyURI
    x:identifierType "lsid" ;
    random:property  "randomValue" .
] .

x:identifierType rdfs:type atom:extensionAttributeProperty;
atom:extensionAttributeProperty rdfs:subClassOf rdf:Property .

Now because of atom:extensionAttributeProperty we can figure what
extension attributes to attach back to the original element.

Now onto extensions.

atom:extension rdfs:type atom:extensionElementProperty;

<a:entry>
<gd:when startTime="2005-06-06" endTime="2005-06-07"
        valueString="This weekend"/>
</a:entry>

[ :extension "<gd:when startTime="2005-06-06" endTime="2005-06-07"
        valueString="This weekend" xmlns:gd="http://schemas.google.com/g/2005"
/>"^^rdf:XMLLiteral .
]

Luckily, the only two things we need to pass to extension elements:
xml:lang and xml:base and those can easily be added (unless there's a
conflict, but that's another hill to climb and we're not there yet since
we can only climb on hill at a time).

Now in case someone brings up the I would like to query the name of the
extension (local and/or ns) etc, I would like to push that off to SPARQL
and a XPath extension against the XMLLiteral.

Additionally, we could support :simpleExtension.

<a:entry>
<s:when>Today</s:when>
</a:entry>

[
   s:when "Today" .
] .

s:when rdf:type atom:simpleExtensionElementProperty .
atom:simpleExtensionElementProperty rdfs:subClassOf rdf:Property .

Regards,

Ben, Lee and I.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.