Hi Graham,

thanks a lot for this suggestion. I spent some more time in making this concept a bit more solid [1,2]. Here the features that I added/changed in the v0.3 proposal (+ for added, ~for modified):

 + olo:next - to associate the next slot of a slot in an ordered list
 ~ olo:length - to enable a single length association to an ordered list
 ~ olo:length - rdfs:range xsd:positiveInteger (no empty lists!)
~ olo:index - to enable a single index association to a slot in an ordered list ~ anonymous inverse property of olo:slot to rdfs:type owl:FunctionalProperty

With that changes it should be possible

... to create a unique neighbourhood relation; the list ends if the slot hasn't a neighbour (that means no is:next property is set) ... to associate a single index to a slot; however, this still not prevents from inserting several slots with the same index
... to associate a single length to an ordered list

To model the unique relations for index and length I followed the pattern from here[3].

I think, if the size of the ordered list is defined in its length, which should be used by a rule for validation, why we need than another property, which defines its max length (see also my thoughts about practical application)? I still believe that it isn't possible to guarantee full valid ordered lists, without the use of some rules (only with the rdf:first/rdf:next/rdf:nil pattern). However, rules are created for some purpose, so why not use them (think practical here). Another practical thought is, if something changes in the ordered list, e.g. a new slot would be added, than the graph of the list will be rewritten or a new one would be created (that depends on the used revision mechanism).

Comments, suggestions, critics on the new proposal are very welcome.

Cheers,


Bob


[1] http://motools.svn.sourceforge.net/viewvc/motools/orderedlistsonto/branches/orderedlistsonto_v03/rdf/orderedlistontology.n3 [2] http://motools.svn.sourceforge.net/viewvc/motools/orderedlistsonto/branches/orderedlistsonto_v03/gfx/olo_-_orderedlist.gif
[3] http://www.w3.org/TR/2004/REC-owl-guide-20040210/#simpleCardinality

Am 28.06.2010 10:51, schrieb Graham Klyne:
Bob,

A desired feature that led to the current rdf:List structure is the
ability to "close" a list - so some separate sub-graph can't "silently"
add properties not in the original. Your pattern might allow this
through additon of a "maxSlotIndex" property on "olo:OrderedList" (not
suggesting this as a design, just an example).

#g
--


Bob Ferris wrote:
Hello everybody,

in a longer discussion in the Music Ontology mailing list about how to
model a playlist, Samer Abdallah came up with a very good proposal[1]
of modelling a sequence/ordered list (as recently also discussed at
RDFNext Workshop[2]) as semantic graph (in RDF).
So, here we go:

- specification[3] (please also note the anonymous inverse properties)
- concepts and relations in a graphic[4]
- funky playlist example[5,6]

Again, thanks a lot Samer Abdallah for that cool concept.
Comments, suggestions, critics are very welcome.

Cheers,


Bob

PS: its all OWL based ;) however, we could also downgrade the concept
on the basis of rdfs:class, if needed.



[1]
http://groups.google.com/group/music-ontology-specification-group/msg/305a42362a1e4145

[2] http://www.w3.org/2009/12/rdf-ws/slides/rdflist.pdf
[3]
http://motools.svn.sourceforge.net/viewvc/motools/orderedlistsonto/trunk/rdf/orderedlistontology.n3

[4]
http://motools.svn.sourceforge.net/viewvc/motools/orderedlistsonto/trunk/gfx/olo_-_orderedlist.gif

[5]
http://motools.svn.sourceforge.net/viewvc/motools/orderedlistsonto/trunk/examples/orderedlist_-_example.n3

[6]
http://motools.svn.sourceforge.net/viewvc/motools/orderedlistsonto/trunk/gfx/olo_-_orderedlist_example.gif






--
--------------------BEGIN-OF-SIGNATURE--------------------

Bob Ferris

website: http://elbklang.net
e-mail:  z...@elbklang.net

--------------------END-OF-SIGNATURE----------------------

Reply via email to