-
Notifications
You must be signed in to change notification settings - Fork 9
revise to use "abstract data model" to unify "abstract syntax" and "data model" #232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -3,7 +3,7 @@ | |||||||||
| <head> | ||||||||||
| <meta charset="utf-8"> | ||||||||||
| <meta name="color-scheme" content="light dark"> | ||||||||||
| <title>RDF 1.2 Concepts and Abstract Syntax</title> | ||||||||||
| <title>RDF 1.2 Concepts and Abstract Data Model</title> | ||||||||||
| <script src="https://www.w3.org/Tools/respec/respec-w3c" class="remove"></script> | ||||||||||
| <script src="./common/local-biblio.js" class="remove"></script> | ||||||||||
| <script src="./common/fixup.js" class="remove"></script> | ||||||||||
|
|
@@ -77,9 +77,9 @@ | |||||||||
| <section id="abstract"> | ||||||||||
| <p>The Resource Description Framework (RDF) is a framework for | ||||||||||
| representing information on the Web. | ||||||||||
| This document defines an abstract syntax (a data model) | ||||||||||
| This document defines an abstract data model | ||||||||||
| which serves to link all RDF-based languages and specifications. | ||||||||||
| The abstract syntax has two key data structures:</p> | ||||||||||
| The abstract model has two key data structures:</p> | ||||||||||
| <ul> | ||||||||||
| <li>RDF graphs are sets of subject-predicate-object triples, | ||||||||||
| where the elements may be IRIs, blank nodes, datatyped literals, or triple terms. | ||||||||||
|
|
@@ -119,7 +119,7 @@ <h2>Introduction</h2> | |||||||||
| <p>The <em>Resource Description Framework</em> (RDF) is a framework | ||||||||||
| for representing information on the Web.</p> | ||||||||||
|
|
||||||||||
| <p>This document defines an abstract syntax (a data model) | ||||||||||
| <p>This document defines an abstract data model | ||||||||||
| which serves to link all RDF-based languages and specifications, | ||||||||||
| including the following:</p> | ||||||||||
|
|
||||||||||
|
|
@@ -135,9 +135,9 @@ <h2>Introduction</h2> | |||||||||
| </ul> | ||||||||||
|
|
||||||||||
| <section id="data-model"> | ||||||||||
| <h3>Graph-based Data Model</h3> | ||||||||||
| <h3>Graph-based Abstract Data Model</h3> | ||||||||||
|
|
||||||||||
| <p>The core structure of the abstract syntax is a set of | ||||||||||
| <p>The core structure of the abstract model is a set of | ||||||||||
|
||||||||||
| <p>The core structure of the abstract model is a set of | |
| <p>The core structure of the abstract data model is a set of |
lisp marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's good to keep "abstract syntax" where applicable. It needs some explanation, such as "the form of the abstract data model" (will consider that more in w3c/rdf-star-wg#172).
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Note also that [=namespace IRIs=] and [=namespace prefixes=] are not a formal part of the RDF abstract model. | |
| Note also that [=namespace IRIs=] and [=namespace prefixes=] are not a formal part of the RDF abstract data model. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <p>The RDF abstract model is <em>atemporal</em>: <a>RDF graphs</a> | |
| <p>The RDF abstract data model is <em>atemporal</em>: <a>RDF graphs</a> |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <p>This specification, <em>RDF 1.2 Concepts and Abstract Model</em>, | |
| <p>This specification, <em>RDF 1.2 Concepts and Abstract Data Model</em>, |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| defines an abstract model and related vocabulary for use in | |
| defines an abstract data model and related vocabulary for use in |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that "vocabulary" has a rather specific meaning in the context of RDF, I would keep the word "terminology" here.
| defines an abstract model and related vocabulary for use in | |
| defines an abstract model and related terminology for use in |
NB: arguably, we are also defining an RDF vocabulary (in the rdf: namespace), but I don't think that's what is referred to here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i had suggested the change because the document does introduce specific rdf terms.
at the same time, other passages do remain at the abstract level of terminology.
an alternative is to draw in all three aspects
abstract model and related terminology and elements of a vocabulary
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That might be proper. AFAICS, it defines five datatypes (rdf:langString, rdf:dirLangString, rdf:HTML, rdf:XMLLiteral, and rdf:JSON). (I'm not sure if it fully defines rdf:reifies as that is at least further documented in RDF Schema.) Perhaps keep "terminology" here, and if needed add a sentence after? Something like:
It also defines some of the terms in the RDF vocabulary.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <em>RDF 1.2 Concepts and Abstract Model</em>, | |
| <em>RDF 1.2 Concepts and Abstract Data Model</em>, |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we keep "abstract syntax" where applicable (see above), I propose to keep it in places discussing syntactic details:
| <p>An IRI in the RDF abstract model | |
| <p>An IRI in the RDF abstract syntax |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| (This is done in the abstract model, so the IRIs are resolved | |
| (This is done in the abstract syntax, so the IRIs are resolved |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| The abstract model uses only fully resolved <a>IRIs</a>. | |
| The abstract syntax uses only fully resolved <a>IRIs</a>. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Simple literals are syntactic sugar for data model | |
| Simple literals are syntactic sugar for abstract syntax |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| i.e., the case difference in the concrete syntax does not propagate into the abstract model. | |
| i.e., the case difference in the concrete syntax does not propagate into the abstract syntax. |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| part of the RDF abstract model, but are entirely dependent | |
| part of the RDF abstract syntax, but are entirely dependent |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <p>Blank nodes do not have identifiers in the RDF abstract model. The | |
| <p>Blank nodes do not have identifiers in the RDF abstract syntax. The |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <p>The RDF Abstract Model is not used directly for conveying information, | |
| <p>The RDF Abstract Data Model is not used directly for conveying information, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <p>The RDF Abstract Model is not used directly for conveying information, | |
| <p>The RDF Abstract Data Model is not used directly for conveying information; |
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| although concrete serialization forms are specifically intended to do so.</p> | |
| concrete serialization forms are specifically intended to do so.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, with the period to end the previous line.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lisp — I suggested ending the previous line with a semicolon, which is why I suggested this line retain the lowercase concrete instead of changing to an uppercase Concrete.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i did see the previous suggestion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lisp — I'm confused...
You "did see the previous suggestion", that being to end the previous line with a semicolon, but you previously said "with the period to end the previous line".
Are you now saying you're OK with the semicolon, or are you pushing for the period? If the period is to happen, then although concrete must change to Concrete rather than concrete, as it stands, upon which you did not comment, and I think this puts too much separation between "conveying information" from the "specific [intent]".
My full preferred suggestion:
<p>The RDF Abstract Model is not used directly for conveying information;
concrete serialization forms are specifically intended to do so.</p>
What I think you want:
<p>The RDF Abstract Model is not used directly for conveying information.
Concrete serialization forms are specifically intended to do so.</p>
These are very similar, but not identical, in their effect. The semicolon tightly connects the latter phrase to the former, making it clearer that to do so refers to conveying information, i.e., making it clearly say concrete serialization forms are specifically intended to convey information without repeating the latter two words.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| and clarifies that, in the abstract model, IRIs are resolved, | |
| and clarifies that, in the abstract syntax, IRIs are resolved, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's important to consistently spell out "data" in "data model", since "model" may refer to domain models (related to (properties and classes in) an interpretation).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in general, my concern is clarity.
the suggestion, to use "abstract model" rather than "abstract data model" was intended to create more distance to "data model", which itself tends to concern domains.
reintroducing the phrase "abstract syntax" where one intends the topic to be "syntax" could make sense, were it that the document contained an actual abstract syntax. as it does not, its appearance in the title misleads.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, clarity is the goal here.
This document defines RDF graphs as sets of RDF triples. Using notions from Wikipedia (FWIW), those are a kind of graph, which is a data structure (a kind of data type). And "an abstract syntax of data is its structure described as a data type". I'm not sure how clear that is; but do you say that the set of triples so defined, while being a structure, is not described properly as a data type?
I can accept data model:
if it's clear enough to avoid conflating that with any kind of conceptual model, which is sometimes called an abstract model (and therein lies the rub).
I've been happy enough with "abstract syntax", to avoid cans of worms such as "what is the model, and what does it model".
I think we need to make this clearer still; perhaps keep explicitly saying "graph data model" instead of "abstract", and note that the abstract syntax is "the structural definition of this data model". I recall @franconi wanting to include a grammar for this as well; would that be useful? Such as:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indeed.
without this
you have a discursive description which introduces terminology.