- From: Wilson, Kirk D <Kirk.Wilson@ca.com>
- Date: Fri, 3 Aug 2007 13:03:30 -0400
- To: "Pratul Dublish" <Pratul.Dublish@microsoft.com>, "Lynn, James \(HP Software\)" <james.lynn@hp.com>, "Smith, Virginia \(HP Software\)" <virginia.smith@hp.com>, <public-sml@w3.org>
- Message-ID: <F9576E62032243419E097FED5F0E75F303275F48@USILMS12.ca.com>
My apologies: I missed the following point in my reading of the text: SML IDCs do make use of existing inter-document references (in this example, the sml:key constraint will use existing inter-document references from the datacenter document to navigate to the server documents) but they do not result in new inter-document references. In fact, the passage I quoted says that if you read it from this perspective: IDCs "traverse" inter-doc references. The precise import and impact of this statement went over my head. (It turned out to be kind-of a duck-rabbit statement.) Thanks for this VERY clarifying statement, Pratul. Ok, so let me see if I understand this. My original example, where A in Document D1 has an acyclic reference to B in Document D2 and B defines a key in A and provides a keyref based on that key, has to assume that there is an inter-document reference from B back to A (for the IDC to "constrain"), thereby violating the acyclicity of the original reference. So the example ultimately amounts to a violation when the example is well-formed, i.e., all its assumptions are made explicit. Kirk Wilson, Ph.D. Research Staff Member CA Labs 603 823-7146 ________________________________ From: Pratul Dublish [mailto:Pratul.Dublish@microsoft.com] Sent: Friday, August 03, 2007 12:40 PM To: Wilson, Kirk D; Lynn, James (HP Software); Smith, Virginia (HP Software); public-sml@w3.org Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models Pls see inline From: Wilson, Kirk D [mailto:Kirk.Wilson@ca.com] Sent: Friday, August 03, 2007 8:05 AM To: Pratul Dublish; Lynn, James (HP Software); Smith, Virginia (HP Software); public-sml@w3.org Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models Sorry, I've been traveling. Again, apologies for missing Thursday's teleconf. Pratul, your statement that "Key references are not inter-document references" is strange and even apparently contradictory when applied to the sml key references. See the spec: "SML defines analogs for these [XSD] constraints, whose scope extends to multiple documents by allowing them to traverse inter-document references." XS IDCs are not inter-document references, but I thought sml IDCs were-at least they are a FORM or TYPE of inter-document references. SML IDCs can be defined across multiple documents (e.g., the document for a datacenter can define a sml:key constraint that references the documents corresponding to servers in the data center and specifies that server names are unique) but the IDCs themselves are not inter-document references (in this case, the sml:key constraint is about the uniqueness of server names). SML IDCs do make use of existing inter-document references (in this example, the sml:key constraint will use existing inter-document references from the datacenter document to navigate to the server documents) but they do not result in new inter-document references. I agree-everyone has convinced me-that acyclicity only applies to sml references defined with sml:ref="true". But if I want a graph of the references in my model, I want to see the IDCs as well. The primary key to foreign key relationships are shown in an entity-relationship diagram, so why wouldn't the sml IDC arcs be part of a graphical representation of an SML model? A graphical rendering of an SML model can display the IDCs that exist between documents - nothing in the spec prevents this. Please help me understand why this requires SML IDCs to be categorized/labeled as inter-document references. Perhaps what I'm looking for is explicit recognition of a fact that's implicit in the spec-that the arcs representing inter-document references are of different type and have different semantics. There are sml:ref=true semantics, which carries lots and lots of special constraints and then there are IDC arcs carry their own individual semantics. I hope this clarifies what my concerns seem to boil down to. Kirk Wilson, Ph.D. Research Staff Member CA Labs 603 823-7146 ________________________________ From: Pratul Dublish [mailto:Pratul.Dublish@microsoft.com] Sent: Sunday, July 29, 2007 6:45 PM To: Wilson, Kirk D; Lynn, James (HP Software); Smith, Virginia (HP Software); public-sml@w3.org Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models Acyclicity is defined for inter-document references (sml:acyclic can only be specified on sml:refType and its derived types). Key references are not inter-document references (rather they are analogous to foreign keys in databases), and therefore acyclicity does not apply to them. Acyclicity is determined polymorphically, and this should be made clearer in the SML spec. In particular, if sml:acyclic="true" for a reference type R, then a model is invalid if edges of R and any derived types of R create a cycle in the model. It will be good to see a use case for the "strict" attribute proposed by Jim. From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On Behalf Of Wilson, Kirk D Sent: Thursday, July 26, 2007 7:22 AM To: Lynn, James (HP Software); Smith, Virginia (HP Software); public-sml@w3.org Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models Here's what I have in mind as a potential problem: Assume there is a reference element E which is defined as acyclic. E contains element A (just a property like Name) and the reference scheme. The reference scheme points to an element S. S defines E.A as a key and provides a key reference back to E based on A. Does this structure violate the acyclicity requirement of E? If so, I don't think the text is clear that it is not allowed. On the other hand, if it doesn't violate the requirement, why isn't this a cyclic reference? (Does this make sense?) If this does not make, then my underlying question is, how come key references aren't subject to similar constraints as SML references (esp. acyclicity)? And deeper: what is the scope of the word "reference"? If just SML references, then are key references "references" or not? I think you bring up another good issue: How polymorphic is acyclicity? Yes, polymorphology might have to be an option. Kirk Wilson, Ph.D. Research Staff Member CA Labs 603 823-7146 ________________________________ From: Lynn, James (HP Software) [mailto:james.lynn@hp.com] Sent: Thursday, July 26, 2007 8:31 AM To: Wilson, Kirk D; Smith, Virginia (HP Software); public-sml@w3.org Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models Kirk, Section 3.3 defines acyclic in terms of edges of a graph which are instances of some type which is derived from sml:refType. I think we might make this a bit more clear, perhaps as part of our effort to separate the Normative from the Non-normative in the spec. One point that is not very clear is whether acyclicity is determinied by exact match, i.e. references of type R, or whether the criterion should include R and all derived types of R. I think a use case could be given for either way, perhpas indicating a need for a "strict" attribut. Jim James Lynn HP Software 610 277 1896 ________________________________ From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On Behalf Of Wilson, Kirk D Sent: Wednesday, July 25, 2007 7:05 PM To: Smith, Virginia (HP Software); public-sml@w3.org Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models I have a question on references. What is the scope of 'reference' in this context? Does it include key references or just (SML) reference schemes? Could a cycle be constructed by having a key reference cycle back to an element that is an acyclic SML reference? Kirk Wilson, Ph.D. Research Staff Member CA Labs 603 823-7146 ________________________________ From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On Behalf Of Smith, Virginia (HP Software) Sent: Wednesday, July 25, 2007 6:22 PM To: public-sml@w3.org Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models To answer the 2 questions, I posed in the original email - I've spoken to an engineer at HP who worked on an SML validator project last year. He does not see any technical problems in implementing cycles based on elements instead of (or in addition to) cycles based on documents. This verifies Valentina's comment. -- ginny --------------------- Virginia Smith HP Software / BTO R&D 916-785-9940 8000 Foothills Blvd | Roseville | CA 95747 www.hp.com/software ________________________________ From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On Behalf Of Valentina Popescu Sent: Tuesday, June 26, 2007 12:36 AM To: Smith, Virginia (HP Software) Cc: public-sml@w3.org; public-sml-request@w3.org Subject: Re: Bugzilla Issue: 4639 - Cyclic SML models There is an SML validator implementation in the COSMOS open source project http://www.eclipse.org/cosmos/ <http://www.eclipse.org/cosmos/> and I am leading this team. We did not have any issue with supporting cycles at the element level as opposed to ( or complementing ) document cycles as described by the current specification. Our validator is using a file based SML repository implementation. To be honest, I think that what is missing here are the set of usecases we want to enable with this function. Thank you, Valentina Popescu IBM Toronto Labs Phone: (905)413-2412 (tie-line 969) Fax: (905) 413-4850 "Smith, Virginia (HP Software)" <virginia.smith@hp.com> Sent by: public-sml-request@w3.org 06/25/2007 05:45 PM To <public-sml@w3.org> cc Subject Bugzilla Issue: 4639 - Cyclic SML models This email is to start a discussion on document-based cycles vs. element-based cycles in SML. http://www.w3.org/Bugs/Public/show_bug.cgi?id=4639 In the current SML spec, there is a mismatch in that references are defined as pointing to elements and model cycles are defined based on documents. Since the concept is question (references) are based on elements, it makes sense to me that SML model cycles should be defined based on elements. I see 2 scenarios that pose a problem when testing for cycles according to the current spec. 1) Since a reference can point to an element defined in the same document as the reference, a cycle could exist within a single document but not appear as a cycle in a document-based graph. (false negative) 2) Let's say Document A contains a reference to element X in Document B and Document B contains a reference to element Y in Document A and elements X and Y are not related in any way. This is not really a cycle (of element references) but will appear as a cycle in a document-based graph. (false positive) I think we need to answer the following question: - Are there implementation-related reasons to support document-based graphs but not element-based graphs? (An SML validator implementation must be realistically achievable.) Does anyone have experience with implementing an SML validator (or know someone with relevant experience)? -- ginny ------------------------------------------- Virginia Smith HP Software / BTO R&D 916-785-9940 8000 Foothills Blvd | Roseville | CA 95747 www.hp.com/software
Received on Friday, 3 August 2007 17:03:40 UTC