W3C home > Mailing lists > Public > www-rdf-interest@w3.org > December 1999

Re: Modelling collections of elements of a specific type in RDF/S

From: Jonas Liljegren <jonas@paranormal.o.se>
Date: Sat, 18 Dec 1999 22:18:31 +0100
Message-ID: <385BFA27.C3AFE9FE@paranormal.o.se>
To: rlake@galdosinc.com, RDF Intrest Group <www-rdf-interest@w3.org>

Ron Lake wrote:
> I am involved in the development of a specification for encoding
> spatial information in XML which has now reached public RFC status in
> the OGC (OpenGIS Consortium). I think we could make good use of RDF/S
> to model our spatial information. I have looked at the RDFMS and RDFS
> specifications and have a few questions, perhaps you
> could help me with:
>   1. How do I model a collection of elements of a particular type ?  I
>      would like to say for example that Polygon is a Property with a
>      range which is a sequence of LinearStrings, but I have no
>      restriction on the number of such strings.

As I understand it; if a property has LinearStrings as its range, it
can also be a container with LinearStrings. The type of container
can't be specified in the schema specification. Some rules have to be
stated outside RDF.

>   2. I would like to say that LinearString is a property whose range
>      is a sequence of Coordinate Lists which are literals.
>   3. I would also like to say that Polygon is a Class (actually a
>      subclass of Geometry) as well as being a property.
>   4. All of the Geometry types should be Properties of a Feature.

> Here is a rough start:

With my changes. Properties starts with lower case. Classes starts
with upper case. Just for clarity. It could be something like this...

<rdf:Property    id = "cList">
    <rdfs:range resource = "rdfs:Literal"/>
    <rdfs:domain resource = "#CList"/>

<rdfs:Class id="CList">
    <rdfs:comment>CList is a list of coordinate tuples.  Coordinates
                  in the tuple are separated commas.  Tuples are 
                  separated by whitespace</rdfs:comment>

<rdf:Property id = "lineString">
    <rdfs:range resource = "#CList"/>
    <rdfs:domain resource = "#LineString"/>

<rdfs:Class id="LineString">
    <rdsf:subClassOf  resource = "Geometry"/><
    <rdfs:comment>Line string is a piecewise linear curve defined by
                  an asscoiated CList</rdfs:comment>

<rdf:Property id = "polygon">
    <rdfs:range resource = "#LineString"/>
    <rdfs:domain resource = "Polygon"/>

<rdfs:Class id="Polygon">
    <rdfs:subClassOf  resource = "#Geometry"/>

Polygon --polygon--> LineString --lineString--> CList --cList--> Literal

And with Sequences:

Polygon --polygon--> Seq --_1--> LineString 

     --lineString--> Seq --_1--> CList --cList--> Seq --_1--> Literal
                         --_2-->                      --_2-->
                         --_3-->                      --_3-->

But I havent given any thought about how this is going to be
used, since I don't entierly understand your comments. But I think
that the names should be changed.

/ Jonas  -  http://paranormal.o.se/perl/proj/rdf/schema_editor/
Received on Saturday, 18 December 1999 16:18:57 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:44:21 UTC