Whereas over the long haul there are lots of semantic changes [1] we'd like to 
make to the XDI that Higgins is exposing, in the very short term there is an 
urgent need to make it far less verbose and more developer/human friendly the 
XDI on a syntactic level. I'm concerned about the aesthetics and verbosity. 

Here is a sample of what Higgins is creating today: [2] 
(http://wiki.eclipse.org/Higgins_PDS_Access#XDI_Representation).

I've collected here [3] some suggestions for how it could be improved. I repeat 
[3] here:

The XDI below contains a repeated idiom for representing complex attributes 
(object-valued predicates) that is far more verbose than required. Every 
section represented like this:

<xdi:xdi>
  <xdi:s 
xri="$value$hash$sha$256!f68f4bb3513a89c6ea41b6eeffe6af0ea2a7d2f3f172b72bf26ecb29d9713020">
    <xdi:p xri="$value">
      <xdi:data><![CDATA[urn:efa25e71-5b6f-4844-b139-4ed26dd1c3e5]]></xdi:data>
    </xdi:p>
  </xdi:s>
</xdi:xdi>

...should be written like this:

<xdi:ref xri="=(urn:efa25e71-5b6f-4844-b139-4ed26dd1c3e5)"/>

Similarly, since in every case above there is only a single value for a 
literal, every section that looks like this:

    <xdi:p xri="+(http://www.w3.org/2006/vcard/ns#postal-code)">
      <xdi:xdi>
        <xdi:s 
xri="$value$hash$sha$256!0a38e8a3c328b1616ac3c34720d0ceb578bd3f5e8bfff9841bb0804dd4d2b5eb">
          <xdi:p xri="$value">
            <xdi:data><![CDATA[55555-1234]]></xdi:data>
          </xdi:p>
        </xdi:s>
      </xdi:xdi>
    </xdi:p>

...should look like this:

<xdi:p xri="+(http://www.w3.org/2006/vcard/ns#postal-code)">
  <xdi:data><![CDATA[55555-1234]]></xdi:data> <-- Drummond/Markus please verify
</xdi:p>

Other Ideas

*Should we be using the JSON serialization of XDI instead of the XML 
serialization?

*It would be nice if XDI had a convention for URI shortening based on a default 
namespace. That if relative entityIDs were used (e.g. "#245") we wouldn't have 
to have these long entityIDs like this one used below: 
"urn:efa25e71-5b6f-4844-b139-4ed26dd1c3e5". 

* In addition to a default (per document) namespace, if arbitrary namespace 
definitions were allowed then instead of "http://www.w3.org/2006/vcard/ns#n"; we 
could say "vcard:n" (where vcard="http://www.w3.org/2006/vcard/ns#";)

*The above example could be significantly shortened if it only described a 
single address (the second address doesn't have any illustrative value).

For reference here is an RDF representation of a single persona (Contactable_1) 
and their address, name and telephone number. Some "cheating" is going on here: 
entityIDs have been hand-crafted to be pretty (e.g. :Address_1 vs. 
:efa25e71-5b6f-4844-b139-4ed26dd1c3e5):

 :Contactable_1
     rdf:type p:Contactable ;
     p:role  p:Buyer ;
     vcard:adr :Address_1 ;
     vcard:n :Name_1 ;
     vcard:tel Voice_1 .
 
 :Address_1
     rdf:type vcard:Address ;
     vcard:extended-address "Suite 1000"^^xsd:string ;
     vcard:locality "Peoria"^^xsd:string ;
     vcard:postal-code "61604"^^xsd:string ;
     vcard:region "IL"^^xsd:string ;
     vcard:street-address
             "123 S Main Street"^^xsd:string .
 
 :Name_1
     rdf:type vcard:Name ;
     rdfs:label "Name_1"^^xsd:string ;
     vcard:family-name "Jones"^^xsd:string ;
     vcard:given-name "Alice"^^xsd:string .
 
 :Voice_1
     rdf:type vcard:Voice ;
     rdf:value "tel:+358-555-1234567" 


[1] http://wiki.eclipse.org/Higgins_XDI_Harmonization
[2] http://wiki.eclipse.org/Higgins_PDS_Access#XDI_Representation
[3] http://wiki.eclipse.org/Higgins_PDS_Access#Comments_on_the_above_XDI

_______________________________________________
higgins-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/higgins-dev

Reply via email to