Hi David,
I have found a way to reuse the existing xs:any in rim:AnyValueType to
return SPARQL query response in a query:QueryResponse.
This eliminates the need to add a new xs:any to the response schema as
proposed earlier. With the following spec below there is no need for a
shchema change in core schemas. Thank you for your valuable feedback.
Below is the new spec content regarding SPARQL query response...
QueryResponse Requirements
A server MUST process a SPARQL query
and return its response within a QueryResponse. The following
additional requirements are defined for a server to return a
QueryResponse for a SPARQL query:
-
A server MUST process the SPARQL
query according to [SPARQL] within the context of the OWL content
published within its repository. Specifically a server SHOULD NOT need
to query its Registry metadata to process the SPARQL query
-
A server MUST return the SPARQL
response as a sparqlx:sparql element in the SPARQL Query Results XML
Format as specified by [SPARQLX]
-
The sparqlx:sparql MUST be the child
element of a rim:Slot/rim:ValueList/rim:ValueListItem of type
rim:AnyValueType within a Slot with name
“urn:oasis:names:tc:ebxml-regrep:profile:webontology:2.0:sparqlResponse”
and a dataType of “urn:oasis:names:tc:ebxml-regrep:profile:webontology:2.0:sparql”
within the query:QueryResponse element
-
The QueryResponse element SHOULD NOT
have a query:RegistryObjectsList child element
The following
example shows SPARQL response within a QueryResponse:
<query:QueryResponse
...>
...
<rim:Slot name="urn:oasis:names:tc:ebxml-regrep:profile:webontology:2.0:sparqlResponse"
dataType="urn:oasis:names:tc:ebxml-regrep:profile:webontology:2.0:sparql">
<rim:ValueList>
<rim:ValueListItem
xsi:type="rim:AnyValueType">
<sparqlx:sparql>
...
<sparqlx:sparql>
</rim:ValueListItem>
</rim:ValueList>
</rim:Slot>
</query:QueryResponse>
Farrukh Najmi wrote:
Hi David,
We already use xs:any in our schema. This is not a new pattern.
Implementations should ignore any elements that the core spec or
profiles they implement do not specify. I am not quite seeing how this
is different than existing use of xs:any where we need to allow
profiles to define extend the content models.
The reason for using xs:any rather than a new OWL Profile specific
sub-type is to make extension easier for profiles without needing to
define new schemas.
David RR Webber (XML) wrote:
Farrukh,
That's fine for OWL - but ANYONE can start putting any content in here
- not just OWL.
Then that becomes a problem. Including insertion attacks BTW...
--
Regards,
Farrukh
Web: http://www.wellfleetsoftware.com