[oslc-core] Proposed change to JSON formatting rules for Query responses

Arthur Ryman ryman at ca.ibm.com
Wed Aug 4 15:25:21 EDT 2010


Steve,

We also discussed how to create the result for a query. The result is 
determined by the properties that are selected via oslc.select. The only 
missing information is the type of the collection URI (query base) and the 
name of the membership property. However, given the design below, we 
simply omit the rdf:type of the query base and use rdfs:member as the 
membership property. There is an example on the wiki [1]. The query is:

http://braintwistors.example.com/ems10/Project?oslc.select=dc:identifier

Here the query base is http://braintwistors.example.com/ems10/Project and 
it's rdf:type is ems:ProjectList. The membership property is 
ems:memberProject.. The rdf:type of the members is ems:Project. In 
general, is rdfLtype is unknown then use <rdf:Description>. The result 
(omitting the <rdf:RDF> and <oslc:ResponseInfo> is:

<ems:ProjectList xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dcterms="http://purl.org/dc/terms/" xmlns:ems="
http://open-services.net/software-metrics/"
   rdf:about="http://braintwistors.example.com/ems10/Project">
   <ems:memberProject>
      <ems:Project rdf:about="
http://braintwistors.example.com/ems10/Project/2009">
         <dcterms:identifier>2009</dcterms:identifier>
      </ems:Project>
   </ems:memberProject>
   <ems:memberProject>
      <ems:Project rdf:about="
http://braintwistors.example.com/ems10/Project/3707">
         <dcterms:identifier>3707</dcterms:identifier>
      </ems:Project>
   </ems:memberProject>
   <ems:memberProject>
      <ems:Project rdf:about="
http://braintwistors.example.com/ems10/Project/3998">
         <dcterms:identifier>3998</dcterms:identifier>
      </ems:Project>
   </ems:project>
   <!--
      Other members of this ProjectList resource have been omitted for
      brevity.
   -->
</ems:ProjectList> 

[1] 
http://open-services.net/bin/view/Main/OslcSimpleQuerySemanticsV1?sortcol=table;up=#Including_Selected_Collection_Me

Regards, 
___________________________________________________________________________ 

Arthur Ryman, PhD, DE


Chief Architect, Project and Portfolio Management

IBM Software, Rational

Markham, ON, Canada | Office: 905-413-3077, Cell: 416-939-5063
Twitter | Facebook | YouTube







From:
Steve K Speicher <sspeiche at us.ibm.com>
To:
oslc-core at open-services.net
Date:
08/04/2010 01:49 PM
Subject:
Re: [oslc-core] Proposed change to JSON formatting rules for    Query 
responses
Sent by:
oslc-core-bounces at open-services.net



Here's the what was discussed at today's Core WG meeting and proposed 
changes:

If no Query Resource Shape information is available, use defaults of 
<rdf:Description> and <rdfs:member>

<rdf:RDF 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
   xmlns:dcterms="http://purl.org/dc/terms/"
   xmlns:oslc="http://open-services.net/ns/core#">

     <oslc:ResponseInfo rdf:about="
http://example.com/myquery?oslc.query=oslc_cm.inprogress=true">
         <dcterms:title>Blog Service Query Results for term 
[remote]</dcterms:title>
     </oslc:ResponseInfo>
 
     <rdf:Description rdf:about="http://example.com/myquery">
 
        <rdfs:member rdf:resource="http://example.com/blogs/comment/5" />
        <rdfs:member rdf:resource="http://example.com/blogs/comment/4" />
        <rdfs:member rdf:resource="http://example.com/blogs/comment/1" />
        <rdfs:member rdf:resource="http://example.com/blogs/comment/2" />
        <rdfs:member rdf:resource="http://example.com/blogs/comment/3" />
 
       <!-- etc. etc. -->
 
     </rdf:Description>

</rdf:RDF>

For JSON, I think leaving the oslc:results is fine in this case since we 
don't have a RDF standard for JSON we are based on

Thanks,
Steve Speicher | IBM Rational Software | (919) 254-0645


Steve K Speicher/Raleigh/IBM wrote on 08/03/2010 07:20:45 PM:

> From: Steve K Speicher/Raleigh/IBM
> To: oslc-core at open-services.net
> Date: 08/03/2010 07:20 PM
> Subject: Re: [oslc-core] Proposed change to JSON formatting rules 
> for Query responses
> 
> After re-reviewing the section on Member List Pattern from Query 
> section [1], I would recommend this approach:
> 
> In cases where Shape definition is not provided, use the default 
> shape definition for query results where:
> 
> Default membership property of <oslc:result> (notice singular form 
> of results) on the resource type of <oslc:QueryResult>
> 
> Note: for JSON the default would be to utilize "oslc:results" 
> (notice plural form of result) for JSON array name (see thread below)
> 
> Here's what it would look like in RDF/XML:
> 
> <rdf:RDF 
>    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>    xmlns:dcterms="http://purl.org/dc/terms/"
>    xmlns:oslc="http://open-services.net/ns/core#">
> 
>      <oslc:ResponseInfo rdf:about="">
>          <dcterms:title>Blog Service Query Results for term [remote]
> </dcterms:title>
>      </oslc:ResponseInfo>
> 
>      <oslc:QueryResult rdf:about="">
> 
>         <oslc:result rdf:resource="http://example.com/blogs/comment/5" 
/>
>         <oslc:result rdf:resource="http://example.com/blogs/comment/4" 
/>
>         <oslc:result rdf:resource="http://example.com/blogs/comment/1" 
/>
>         <oslc:result rdf:resource="http://example.com/blogs/comment/2" 
/>
>         <oslc:result rdf:resource="http://example.com/blogs/comment/3" 
/>
> 
>        <!-- etc. etc. -->
> 
>      </oslc:QueryResult>
> 
> </rdf:RDF>
> 
> I'd like to discuss this during tomorrow's core WG call to see if 
> this could be incorporated into the query result representation 
guidance.
> 
> [1] http://open-services.net/bin/view/Main/OSLCCoreSpecQuery?
> sortcol=table;up=#Member_List_Patterns
> 
> Thanks,
> Steve Speicher | IBM Rational Software | (919) 254-0645

> 
> Patrick Streule <patrick_streule at ch.ibm.com> wrote on 08/03/2010 
12:38:36 PM:
> 
> > From: Patrick Streule <patrick_streule at ch.ibm.com>
> > To: Steve K Speicher/Raleigh/IBM at IBMUS
> > Cc: oslc-core at open-services.net
> > Date: 08/03/2010 12:44 PM
> > Subject: Re: [oslc-core] Proposed change to JSON formatting rules 
> > for Query responses
> > 
> > > I would expect with our approach to resource formats now, we could 
simply
> > 
> > > represent the query response as:
> > >
> > > ...
> > >
> > > Thus eliminating the intermediate query resource and property, just
> > > include the resources in the response.
> > 
> > That would be even simpler, but I think it interferes with the 
Resource
> > Pagination part of the core spec.
> > Having a 'QueryResult' resource with 'result' properties makes query
> > results just a specific case of Resource Pagination (the properties -- 

all
> > the same in this case -- are continued on additional pages).
> > 
> > There would be a corner case (a bit constructed, admittedly): If the 
page
> > size is 1, a client couldn't tell if the representation means that the
> > properties of the single resource are continued on additional pages, 
or if
> > there are additional resources on these pages:
> > 
> > <rdf:RDF
> >    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
> >    xmlns:dcterms="http://purl.org/dc/terms/"
> >    xmlns:oslc="http://open-services.net/ns/core#"
> >    xmlns:oslc_blog="http://open-services.net/ns/bogus/blogs#">
> > 
> >    <oslc:ResponseInfo rdf:about="http://example.com/query?oslc.from 
[...]
> > entry/1>">
> >       <dcterms:title>Blog Service Query Results for term
> > [remote]</dcterms:title>
> >       <oslc:nextPage rdf:resource="..."/>
> >    </oslc:ResponseInfo>
> > 
> >    <oslc_blog:Comment rdf:about="http://example.com/blogs/comment/5">
> >      <!-- Comment propery values, etc. -->
> >      <dcterms:title>Comment #5</dcterms:title>
> >    </oslc_blog:Comment>
> > 
> > </rdf:RDF>
> > 
> > This representation could mean
> > 1) There are more properties of oslc_blog:Comment on the next page
> > 2) There are more oslc_blog:Comment resources on the next page
> > 
> > Regards,
> > Patrick
> > 
> > 
> > > >
> > > > Some concerns that I have:
> > > >
> > > > 1) Wouldn't these resources/properties also have to be spec'd by 
the
> > > > domains? I.e. the CM spec would have to define e.g. a
> > > > 'oslc_cm:ChangeRequestQueryResult' resource. Currently, I don't 
see
> > > > anything about query results e.g. in the CM, QM and RM specs.
> > >
> > > I have an outstanding action to add definition of this for 
"oslc:results"
> > 
> > > for JSON query results.
> > > I made an assumption about the RDF/XML and XML form (as illustrated
> > above)
> > > that I need to get clarification on, where I thought we didn't need 
to
> > > define query resources for the response.
> > >
> > > > 2) Does a domain specific query result resource provide added 
value
> > over
> > > a
> > > > generic 'oslc:QueryResult' resource with 'oslc:results' 
properties? I
> > > see
> > > > that we get "Type Safety" by the domain specific 
resources/properties,
> > > but
> > > > the convenience of a common format for query results seems to 
outweigh
> > > > that, IMO.
> > > >
> > > > Thanks,
> > > > Patrick
> > > >
> > > >
> > > >
> > > >
> > > >   From:       Steve K Speicher <sspeiche at us.ibm.com>
> > > >
> > > >   To:         oslc-core at open-services.net
> > > >
> > > >   Date:       07/27/2010 10:57 PM
> > > >
> > > >   Subject:    [oslc-core] Proposed change to JSON formatting rules
> > > > for Query    responses
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Current JSON guidance [1] doesn't address what the result array 
name
> > > > should be.
> > > >
> > > > I recommend that we use "oslc:results" array, like for delegated 
UIs
> > [2]
> > > >
> > > > See also example at [3], how does a consumer know to look for 
array
> > > named
> > > > "oslc_blog:comment" in this example.  I think it would be best to 
use a
> > > > general OSLC property.
> > > > So this example would become:
> > > >  "oslc:results" : [{
> > > >        "oslc:qname" : "oslc_blog:BlogComment",
> > > >        "rdf:resource" : "http://example.com/blogs/comment/346",
> > > >     },
> > > >
> > > > [1]
> > > > http://open-services.net/bin/view/Main/
> > > > OSLCCoreRepresentationsGuidance#Guidelines_for_JSON
> > > >
> > > > [2]
> > > > http://open-services.net/bin/view/Main/
> > > > OslcCoreSpecification#Delegated_User_Interface_Dialogs
> > > >
> > > > [3]
> > > >
> > >
> > 
http://open-services.net/bin/view/Main/OSLCCoreSpecAppendixD#Query_Resource


> > >
> > > >
> > > > Thanks,
> > > > Steve Speicher | IBM Rational Software | (919) 254-0645
> > > >
> > > >
> > > > _______________________________________________
> > >
> > >
> > 


_______________________________________________
Oslc-Core mailing list
Oslc-Core at open-services.net
http://open-services.net/mailman/listinfo/oslc-core_open-services.net







More information about the Oslc-Core mailing list