55 |
|
|
56 |
Also, if it's spatial, it should also have z ;) |
Also, if it's spatial, it should also have z ;) |
57 |
|
|
|
- Should we merge PP (directed links) into FF? |
|
|
|
|
58 |
- What should be the namespace prefix? ``vocabulary``, |
- What should be the namespace prefix? ``vocabulary``, |
59 |
``rdf`` or ``terms`` or ``rdfv``? |
``rdf`` or ``terms`` or ``rdfv``? |
60 |
|
|
81 |
> |
> |
82 |
> where ``id`` is chosen by the person creating the namespace. |
> where ``id`` is chosen by the person creating the namespace. |
83 |
|
|
84 |
|
- Should we separate cLink from FF? A separate CLink namespace? |
85 |
|
|
86 |
|
RESOLVED: Yes. It is sufficiently orthogonal to other structures. |
87 |
|
|
88 |
|
- Should we merge PP (directed links) into FF, or something else? |
89 |
|
|
90 |
|
RESOLUTION: Move to DLINK, Analogous to CLink and Canvas2D, |
91 |
|
this property creates its own orthogonal substructure. |
92 |
|
|
93 |
|
- What should the types of coordx, coordy be? Float? Int? Numeric? |
94 |
|
|
95 |
|
- Should each vocabulary also define its "identity", a RDF node that |
96 |
|
is used to talk about that vocabulary. This could be useful for describing |
97 |
|
the schema of some data, e.g. "This is spatial canvas data with dLinks". |
98 |
|
|
99 |
|
- Where should the RDF schemas the objects be defined? |
100 |
|
|
101 |
XXX Change changes to retained, + javadoc |
XXX Change changes to retained, + javadoc |
102 |
|
|
103 |
Changes |
Changes |
104 |
======= |
======= |
105 |
|
|
106 |
General |
Goals of the structure |
107 |
------- |
---------------------- |
108 |
|
|
109 |
|
It would be Really Nice if we could structure the vocabularies so |
110 |
|
that each class contains a small, self-contained structural universe. |
111 |
|
This means that the code implementing access using the vocab. of a certain |
112 |
|
class should be relatively independent of the other vocabularies. |
113 |
|
|
114 |
|
For instance, a spatial canvas is a reasonable unit: there is a canvas, it contains |
115 |
|
certain nodes at certain locations. However, the PP links (now dLinks) or xu links (now CLinks) |
116 |
|
between different canvases do not actually belong in the same place; they are orthogonal |
117 |
|
to the spatial structure. |
118 |
|
|
119 |
|
Currently, our code is pretty well along this structure: CanvasView2D takes |
120 |
|
care of the spatial canvas, and PPConnector (name needs to change) of the dLinks. |
121 |
|
|
122 |
|
The more independent we can make the codes, the easier it will be to slot in new |
123 |
|
behaviours. |
124 |
|
|
125 |
|
Overall changes |
126 |
|
--------------- |
127 |
|
|
128 |
Create new package, ``org.fenfire.vocab.lava``. |
Create new package, ``org.fenfire.vocab.lava``. |
129 |
|
|
141 |
definitions there, in their javadocs. There shall be no members |
definitions there, in their javadocs. There shall be no members |
142 |
or classes without good documentation. |
or classes without good documentation. |
143 |
|
|
144 |
Vocabularies |
Vocabulary changes, prior to freezing |
145 |
------------ |
------------------------------------- |
146 |
|
|
147 |
ALPH |
ALPH |
148 |
"""" |
"""" |
156 |
|
|
157 |
Then, we have left ``xuLinkFrom``, ``xuLinkTo``, ``xuLinkType``. |
Then, we have left ``xuLinkFrom``, ``xuLinkTo``, ``xuLinkType``. |
158 |
We should probably avoid 'xu' in the permanent names, |
We should probably avoid 'xu' in the permanent names, |
159 |
just in case. These should be moved to FF.CLink, FF.cLinkFrom, |
just in case. These should be moved to CLINK.CLink, CLINK.cLinkFrom, |
160 |
FF.cLinkTo for clink, "content link", a term Ted at some point used. |
CLINK.cLinkTo for clink, "content link", a term Ted at some point used. |
161 |
|
|
162 |
FF |
FF |
163 |
"" |
"" |
164 |
|
|
165 |
Retain. |
Retain. Javadocs:: |
166 |
|
|
167 |
|
/** RDF Vocabulary of central concepts of Fenfire. |
168 |
|
*/ |
169 |
|
public class FF { |
170 |
|
/** A property signifying fluid media "content" of a node. |
171 |
|
* Used as (node, FF.content, literal) where the literal is |
172 |
|
* an enfilade |
173 |
|
* parseable by alph. |
174 |
|
* This is analogous to spreadsheet or zzStructure cell contents. |
175 |
|
*/ |
176 |
|
static public Object content; |
177 |
|
} |
178 |
|
|
179 |
|
CLINK |
180 |
|
""""" |
181 |
|
|
182 |
|
A new namespace for Xanalogical content links. |
183 |
|
Javadoc:: |
184 |
|
|
185 |
|
/** RDF Vocabulary of content links. |
186 |
|
*/ |
187 |
|
public class FF { |
188 |
|
/** The RDF type for content links. An node which is a content link |
189 |
|
* must have both the cLinkFrom and cLinkTo properties. |
190 |
|
*/ |
191 |
|
static public Object CLink; |
192 |
|
/** The Alph-parseable enfilade literal of a content link from-end. |
193 |
|
*/ |
194 |
|
static public Object cLinkFrom; |
195 |
|
/** The Alph-parseable enfilade literal of a content link to-end. |
196 |
|
*/ |
197 |
|
static public Object cLinkTo; |
198 |
|
} |
199 |
|
|
200 |
|
|
201 |
PAPER, SPATIAL |
PAPER, SPATIAL |
202 |
"""""""""""""" |
"""""""""""""" |
206 |
|
|
207 |
Rename coordX, coordY to x, y. |
Rename coordX, coordY to x, y. |
208 |
|
|
209 |
|
Javadoc:: |
210 |
|
|
211 |
|
/** RDF Vocabulary of 2D spatial canvases. |
212 |
|
*/ |
213 |
|
public class CANVAS2D { |
214 |
|
/** The RDF type of spatial 2D canvases. |
215 |
|
* Canvases contain (with the "contains" property |
216 |
|
* nodes, which shall have the "x" and "y" properties. |
217 |
|
*/ |
218 |
|
static public Object Canvas2D; |
219 |
|
/** The property by which the canvas is connected to |
220 |
|
* the nodes, as (canvas, contains, node). |
221 |
|
*/ |
222 |
|
static public Object contains; |
223 |
|
/** The x and y coordinates of a node on a canvas. |
224 |
|
* (node, x, literal), where the literal is parseable |
225 |
|
* as an integer (XXX). |
226 |
|
* Note that these are the <em>default</em> coordinate |
227 |
|
* properties: later on, we might make it possible for a Canvas2D |
228 |
|
* to define its own coordinate attributes, which would take |
229 |
|
* use close to Ted's floating world ideas. |
230 |
|
*/ |
231 |
|
static public Object x, y; |
232 |
|
} |
233 |
|
|
234 |
PP |
PP |
235 |
"" |
"" |
236 |
|
|
237 |
Remove everything except association. |
Remove everything except association. Move association to DLINK. |
238 |
|
Remove class. PP is really a special-case user interface for a subset of the full |
239 |
|
fenfire structure, so it's quite reasonable not to include a special vocabulary for it. |
240 |
|
|
241 |
|
DLINK |
242 |
|
""""" |
243 |
|
|
244 |
|
New class for what used to be called PP connections (directed, typeless connections). |
245 |
|
Name comes from "Directed LINK". |
246 |
|
Javadoc:: |
247 |
|
|
248 |
|
/** RDF vocabulary for directed (so far typeless) |
249 |
|
* one-to-one links. |
250 |
|
*/ |
251 |
|
public class DLINK { |
252 |
|
/** The directed link association. |
253 |
|
* A and B are linked by the tuple (A, DLINK.dLink, B) |
254 |
|
*/ |
255 |
|
static public Object dLink; |
256 |
|
} |
257 |
|
|
258 |
|
|
259 |
RDF |
RDF |
260 |
""" |
""" |
261 |
|
|
262 |
Leave as is, javadoc properly. |
Leave as is, javadoc properly. Javadoc:: |
263 |
|
|
264 |
|
/** RDF vocabulary of central RDF URIs defined outside fenfire. |
265 |
|
*/ |
266 |
|
public class RDF { |
267 |
|
|
268 |
|
/** The RDF type attribute. A node's type can be declared to be Foo |
269 |
|
* by a triple * (node, RDF.type, Foo). |
270 |
|
*/ |
271 |
|
static public Object type; |
272 |
|
} |
273 |
|
|
274 |
|
|
275 |
RST |
RST |
276 |
""" |
""" |