- From: Jonas Liljegren <jonas@paranormal.o.se>
- Date: Sat, 18 Dec 1999 22:18:31 +0100
- 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"/>
</rdf:Property>
<rdfs:Class id="CList">
<rdfs:label>CList</rdfs:label>
<rdfs:comment>CList is a list of coordinate tuples. Coordinates
in the tuple are separated commas. Tuples are
separated by whitespace</rdfs:comment>
</rdfs:Class>
<rdf:Property id = "lineString">
<rdfs:range resource = "#CList"/>
<rdfs:domain resource = "#LineString"/>
</rdf:Property>
<rdfs:Class id="LineString">
<rdsf:subClassOf resource = "Geometry"/><
<rdfs:label>LineString</rdfs:label>
<rdfs:comment>Line string is a piecewise linear curve defined by
an asscoiated CList</rdfs:comment>
/rdfs:Class>
<rdf:Property id = "polygon">
<rdfs:range resource = "#LineString"/>
<rdfs:domain resource = "Polygon"/>
</rdf:Property>
<rdfs:Class id="Polygon">
<rdfs:subClassOf resource = "#Geometry"/>
<rdfs:label>Polygon</rdfs:label>
</rdfs:Class>
Polygon --polygon--> LineString --lineString--> CList --cList--> Literal
And with Sequences:
Polygon --polygon--> Seq --_1--> LineString
--_2-->
--_3-->
--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