[oslc-core] Example of a self-subject query capability representation?

Dave snoopdave at gmail.com
Mon Apr 26 16:50:59 EDT 2010


Thanks Arthur. I'm going to have to think on this some more. We've got
a ways to go before this is dumbed down to my level ;-) I have a
couple more questions, if you please:

* Why would you use a multi-subject query vs. a single-subject query?
I would like to spell this out in the section that defines the two
types.

* Are there different parameters that apply with single vs. multi? I
could not see any, but perhaps I did not read closely enough.

* If you define a single-subject query must you also define the
"shape" of the resulting response And specifically, how did we know,
in Tack's example, that the root element would be <ems:ProjectList>?

Thanks,
- Dave


On Mon, Apr 26, 2010 at 3:44 PM, Arthur Ryman <ryman at ca.ibm.com> wrote:
> The most frequent case would be a self-subject query since any resource
> can be its base URL. The Query Capabilities then simply identify a few
> root resources to start off the discovery process. That is what Reporting
> is supporting.
>
> The multi-subject case allows some additional use cases (e.g. full text
> search across all resources, search across multiple lists of the same
> type, e.g. different project areas) but perhaps these are not worth
> specifying in the core.  If no one has a compelling need for this, I am OK
> with dropping it.  Perhaps the more powerful types of query should be
> handled by an RDF index running full SPARQL.
>
> 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:
> Dave <snoopdave at gmail.com>
> To:
> Arthur Ryman/Toronto/IBM at IBMCA
> Cc:
> oslc-core <oslc-core at open-services.net>,
> oslc-core-bounces at open-services.net
> Date:
> 04/26/2010 03:09 PM
> Subject:
> Re: [oslc-core] Example of a self-subject query capability representation?
>
>
>
> I think the differences in format are pretty different. In one case
> you have a response that contains a sequence of resource
> representations, each with properties, and in the other case you get
> one resource with a multi-valued property that has resource
> values-types.
>
> Conceptually, this may make sense but I think it is pretty hard to
> explain to consumer and provider implementations. Can't we just have
> one format of query response?
>
> - Dave
>
>
>
> On Mon, Apr 26, 2010 at 2:58 PM, Arthur Ryman <ryman at ca.ibm.com> wrote:
>> Dave,
>>
>> It is very easy to convert the format of a single-subject response into
> a
>> multi-subject reponse that just has one subject. You merely put the
>> single-subject response inside <rdf:RDF> ... </rdf:RDF>. I don't think
>> this is a big burden for parsers (i.e. to logically supply rdf:RDF if it
>> is missing).
>>
>> The single-subject response is similar to the representation you get
> from
>> an HTTP GET on a resource URL without any query parameters, and that one
>> has no rdf:RDF. On the other hand, a multi-subject response MUST in
>> general start with rdf:RDF.  So I think we need both (unless we are
> happy
>> requiring ALL RDF/XML representations to start with rdf:RDF).
>>
>>
>> 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:
>> Dave <snoopdave at gmail.com>
>> To:
>> oslc-core <oslc-core at open-services.net>
>> Date:
>> 04/26/2010 02:38 PM
>> Subject:
>> Re: [oslc-core] Example of a self-subject query capability
> representation?
>> Sent by:
>> oslc-core-bounces at open-services.net
>>
>>
>>
>> Thanks Arthur,
>>
>> That is very helpful and I think I understand how single-subject query
>> responses are formed.
>>
>> My next question is this: is it possible for us to continue to have
>> two different conceptual types of queries (single and multi-subject)
>> but to use the very exact same response representation for both? This
>> would be very helpful to clients, who would not have to maintain two
>> separate code paths for parsing OSLC query results.
>>
>> - Dave
>>
>>
>>
>> On Mon, Apr 26, 2010 at 2:27 PM, Arthur Ryman <ryman at ca.ibm.com> wrote:
>>> Dave,
>>>
>>> The example query response in the core spec is a mult-subject response
>>> since it begins with <rdf:RDF>.
>>>
>>> A "container" resource or a "collection" resource is a plain old
>> resource
>>> that has some multi-valued property that we regard as a membership
>>> property. The values of this property are the members of the
>>> container/collection/list/... We can filter, sort, etc. this set of
>>> members using "member list pattern" queries.
>>>
>>> The core spec links to examples of self-subject query responses [1].
> For
>>> example, the resource  http://braintwistors.example.com/ems10/Project
> is
>> a
>>> container resource that contains the list of all project resources. It
>> has
>>> a multi-valued property ems:memberProject that refers to the member
>>> projects.
>>>
>>> <ems:ProjectList xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#
> "
>>>   xmlns:dc="http://purl.org/dc/terms/" xmlns:ems="
>>> http://open-services.net/software-metrics/"
>>>   rdf:about="http://braintwistors.example.com/ems10/Project">
>>>   <dc:title>BrainTwistors Corp. Project List</dc:title>
>>>   <dc:description>
>>>      This is the list of all Project resources contained in
>>>      BrainTwistors Corp. MetricServer web application.
>>>      </dc:description>
>>>   <ems:service rdf:resource="http://braintwistors.example.com/ems10" />
>>>
>>>   <ems:memberProject rdf:resource="
>>> http://braintwistors.example.com/ems10/Project/2009" />
>>>   <ems:memberProject rdf:resource="
>>> http://braintwistors.example.com/ems10/Project/3707" />
>>>   <ems:memberProject rdf:resource="
>>> http://braintwistors.example.com/ems10/Project/3998" />
>>>   <!--
>>>      Other members of this ProjectList resource have been omitted for
>>>      brevity.
>>>   -->
>>> </ems:ProjectList>
>>>
>>> The following query filters the project list:
>>>
>>>
> http://braintwistors.example.com/ems10/Project?oslc.where=dc:identifier=
>>> "2009"
>>>
>>> The query response is:
>>>
>>> <ems:ProjectList xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#
> "
>>>   xmlns:dc="http://purl.org/dc/terms/" xmlns:ems="
>>> http://open-services.net/software-metrics/"
>>>   rdf:about="http://braintwistors.example.com/ems10/Project">
>>>   <ems:memberProject rdf:resource="
>>> http://braintwistors.example.com/ems10/Project/2009" />
>>> </ems:ProjectList>
>>>
>>> [1]
>>>
>>
> http://open-services.net/bin/view/Main/OslcSimpleQuerySemanticsV1#Examples
>>> 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:
>>> Dave <snoopdave at gmail.com>
>>> To:
>>> oslc-core <oslc-core at open-services.net>
>>> Date:
>>> 04/26/2010 12:45 PM
>>> Subject:
>>> [oslc-core] Example of a self-subject query capability  representation?
>>> Sent by:
>>> oslc-core-bounces at open-services.net
>>>
>>>
>>>
>>> I need a little help understanding the most recent changes in the
>>> Query Capabilities section of the spec. We now have two types of query
>>> capabilities, multi-subject and self-subject but we only illustrate
>>> multi-subject queries in our examples. I'm trying to understand what a
>>> self-subject query response would look like. Here's how it is
>>> described in the Core spec:
>>>
>>> "The RDF/XML representation of the query result begins with a node
>>> element whose rdf:about attribute value is equal to the base URI.
>>> Typically, the base URI is a container resource that may have a long
>>> list of members, e.g. the list of all defects in a bug tracking
>>> system. Since the list may contains hundreds of thousands of members,
>>> queries are used to filter the list for members that satisfy certain
>>> conditions, e.g. the bugs that have high priority and were created
>>> this week."
>>>
>>> I don't know what "the base URI is a container resource that may have
>>> a long list of members" means. Are we using a multi-valued property
>>> here to hold the resources that match the query? Tack or Arthur, would
>>> one of you please provide a simple example of a self-subject query
>>> response?
>>>
>>> Thanks,
>>> - Dave
>>>
>>> _______________________________________________
>>> Oslc-Core mailing list
>>> Oslc-Core at open-services.net
>>> http://open-services.net/mailman/listinfo/oslc-core_open-services.net
>>>
>>>
>>>
>>>
>>
>> _______________________________________________
>> 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