Historic place-name modelling part N

5 views
Skip to first unread message

Jo Walsh

unread,
Jun 29, 2011, 5:56:15 AM6/29/11
to pedant...@googlegroups.com
Just after the New Year we had a chat about historic place-name
modelling and vocabularies. I'm now in last-day-of-frotting-the-demo
mode and would benefit from instruction on what i'm now doing wrong :)

http://geoxwalk-at.edina.ac.uk/chalice/place/linked/cheshire/prestbury/bosley/bosley/boselega


(and the turtle output is also included at the bottom here)

My main problem is the difference between URI-for-object and
URI-for-document. There is a license statement at the bottom - ODbL, yay! -
but it currently is attached to the URI used to identify the *place* -
which is not differentiated from the document itself.

Compare how geonames.org does something like this, with URLs that
respond to content negotiation, and an 'about.rdf' suffix that one can
use to view the RDF without explicitly sending the header "Accept:
application/rdf+xml":

<gn:Feature rdf:about="http://sws.geonames.org/2656197/">
<rdfs:isDefinedBy>http://sws.geonames.org/2656197/about.rdf</rdfs:isDefinedBy>

'about.rdf' URI gets the license statement; and a browser-based request
for only the trailing slash URI, redirects to the human-readable version.

I have a sense i may be wading into a row here - i don't want to care
about 303s and http-range-14, am not concerned with Doing It Right only
with Not Doing It Wrong at the moment - is this a *terrible* thing to
confess on the pedantic-web list?

In short, does the geonames model seem reasonable to follow?
Sample data below:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix dc: <http://purl.org/dc/elements/1.1/#> .
@prefix dct: <http://purl.org/dc/terms/>
@prefix place: <http://made.up.domain.name/place/> .


</chalice/linked/cheshire/prestbury/bosley/bosley> a place:Place;
dc:title "Bosley" ;
geo:lat "53.19012";
geo.long "-2.12553";
place:isPartOf </chalice/linked/cheshire/prestbury/bosley> .


</chalice/linked/cheshire/prestbury/bosley/bosley/boselega> a
place:PlaceName;
dc:title "Boselega" ;
place:nameFor </chalice/linked/cheshire/prestbury/bosley/bosley> .

</chalice/linked/cheshire/prestbury/bosley/bosley/boselega#attested> a
place:PlaceNameAttestation;
place:place </chalice/linked/cheshire/prestbury/bosley/bosley> ;
place:known_as
</chalice/linked/cheshire/prestbury/bosley/bosley/boselega> ;
place:source </chalice/linked/cheshire/source/DB> ;
place:date "1086" .


</chalice/linked/cheshire/source/DB> a place:Source;
dc:title "The Domesday Survey of Cheshire (ChetNS 75), 1916; cf.
Tait." .


</chalice/linked/cheshire/prestbury/bosley/bosley> a rdf:Description;
rdfs:seeAlso
</chalice/linked/cheshire/prestbury/bosley/bosley/boselega> ;
dct:license <http://opendatacommons.org/licenses/odbl/1.0/> .

--
Jo Walsh

Unlock places - http://unlock.edina.ac.uk/
phone: +44 (0)131 650 2973
skype: metazool

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

Damian Steer

unread,
Jun 29, 2011, 6:56:53 AM6/29/11
to pedant...@googlegroups.com

On 29 Jun 2011, at 10:56, Jo Walsh wrote:

> Just after the New Year we had a chat about historic place-name modelling and vocabularies. I'm now in last-day-of-frotting-the-demo mode and would benefit from instruction on what i'm now doing wrong :)
>
> http://geoxwalk-at.edina.ac.uk/chalice/place/linked/cheshire/prestbury/bosley/bosley/boselega
>
> (and the turtle output is also included at the bottom here)
>
> My main problem is the difference between URI-for-object and URI-for-document. There is a license statement at the bottom - ODbL, yay! -
> but it currently is attached to the URI used to identify the *place* - which is not differentiated from the document itself.

Hi Jo,

This may either beg the question or simplify things ;-)

ODbL covers databases not individual or small collections of facts. I'd expect the licence to apply to the larger dataset this page is part of. You could try something like:

<> void:inDataset <...dataset id...> .
<...dataset id...> a void:Dataset ; dc:license <http://opendatacommons.org/licenses/odbl/1.0/> .

Damian

Jo Walsh

unread,
Jun 29, 2011, 7:09:25 AM6/29/11
to pedant...@googlegroups.com
On 29/06/11 10:56, Jo Walsh wrote:
> <gn:Feature rdf:about="http://sws.geonames.org/2656197/">
> <rdfs:isDefinedBy>http://sws.geonames.org/2656197/about.rdf</rdfs:isDefinedBy>

> In short, does the geonames model seem reasonable to follow?

That's what I've just done, anyway; the human-readable URIs now have an
'Accept' header version which returns RDF.

http://geoxwalk-at.edina.ac.uk/chalice/place/cheshire/prestbury/bosley/bosley
- now the URI for the place
http://geoxwalk-at.edina.ac.uk/chalice/place/linked/cheshire/prestbury/bosley/bosley
- 'linked/' now the URI for the document, with license statement

And i feel reasonably happy with it... [yes some of the sameAs links to
OS Open Data are still broken, working on that]

Hogan, Aidan

unread,
Jun 29, 2011, 9:50:49 AM6/29/11
to pedant...@googlegroups.com
Hi Jo,

...just nitpicking a little on a data-level. More suggestions than
anything else.

> > <gn:Feature rdf:about="http://sws.geonames.org/2656197/">
> >
>
<rdfs:isDefinedBy>http://sws.geonames.org/2656197/about.rdf</rdfs:isDefi
ne
> dBy>

<rdfs:isDefinedBy
rdf:resource="http://sws.geonames.org/2656197/about.rdf"/>

> I have a sense i may be wading into a row here - i don't want to care
> about 303s and http-range-14, am not concerned with Doing It Right
only
> with Not Doing It Wrong at the moment - is this a *terrible* thing to
> confess on the pedantic-web list?

*gulp* ;)

Would set an explicit @base URI value since you use relative URIs.

> </chalice/linked/cheshire/prestbury/bosley/bosley> a place:Place;
> dc:title "Bosley" ;
> geo:lat "53.19012";
> geo.long "-2.12553";
> place:isPartOf </chalice/linked/cheshire/prestbury/bosley> .

* dct:isPartOf instead of place:isPartOf
* favour dct:title over dc:title
* possibly use skos:prefLabel for current and skos:altLabel for
historical ?
* lang tag for "Bosley"@en ?
* datatype for geo:lat/geo:long; e.g. "53.19012"^^xs:decimal ?

> </chalice/linked/cheshire/prestbury/bosley/bosley/boselega> a
> place:PlaceName;
> dc:title "Boselega" ;
> place:nameFor </chalice/linked/cheshire/prestbury/bosley/bosley>
.
>
> </chalice/linked/cheshire/prestbury/bosley/bosley/boselega#attested> a
> place:PlaceNameAttestation;
> place:place </chalice/linked/cheshire/prestbury/bosley/bosley> ;
> place:known_as
> </chalice/linked/cheshire/prestbury/bosley/bosley/boselega> ;
> place:source </chalice/linked/cheshire/source/DB> ;
> place:date "1086" .

Need for both PlaceNameAttestation and PlaceName? Why not just:

</chalice/linked/cheshire/prestbury/bosley/bosley/boselega> a
place:HistoricalPlaceName;
dct:title "Boselega" ;
place:nameFor </chalice/linked/cheshire/prestbury/bosley/bosley>
;
dct:date "1086" ;
dct:source </chalice/linked/cheshire/source/DB> ;
...

Not sure if this covers what you want, but I would find this more
intuitive?

Hope this helps. Good luck with your export!

Cheers,
Aidan

Jo Walsh

unread,
Jun 29, 2011, 10:13:15 AM6/29/11
to pedant...@googlegroups.com
On 29/06/2011 14:50, Hogan, Aidan wrote:
> Would set an explicit @base URI value since you use relative URIs.

So the URIs would look like :prestbury/bosley/bosley ?

> * dct:isPartOf instead of place:isPartOf
> * favour dct:title over dc:title

rdfs:label was suggested in the past too. don't know if either is
suggestive of a placename, have changed both of these anyway.

> * lang tag for "Bosley"@en ?
> * datatype for geo:lat/geo:long; e.g. "53.19012"^^xs:decimal ?

I want to keep it simple/readable as possible ...

> </chalice/linked/cheshire/prestbury/bosley/bosley/boselega> a
> place:HistoricalPlaceName;
> dct:title "Boselega" ;
> place:nameFor</chalice/linked/cheshire/prestbury/bosley/bosley>
> ;
> dct:date "1086" ;
> dct:source</chalice/linked/cheshire/source/DB> ;

Because one placename could have many attestations in different sources,
and because one wants to be able to annotate the attestation (give it a
confidence level or add a note concerning a historical transcription error)

William Waites

unread,
Jun 29, 2011, 10:15:01 AM6/29/11
to pedant...@googlegroups.com
* [2011-06-29 15:13:15 +0100] Jo Walsh <jo.w...@ed.ac.uk> �crit:

] rdfs:label was suggested in the past too. don't know if either is

] suggestive of a placename, have changed both of these anyway.

Given the time to work it through, I'd be tempted to try to model
placenames as SKOS concept schemes since they're not really real-world
things as such but sometimes fuzzy and ambiguous and overlapping ideas
about real-world things...

] >* lang tag for "Bosley"@en ?


] >* datatype for geo:lat/geo:long; e.g. "53.19012"^^xs:decimal ?
]
] I want to keep it simple/readable as possible ...

If you use xsd:double it will end up being

:foo geo:lat 53.19012.

which without the quotation marks is even simpler and more readable.

Cheers,
-w
--
William Waites <mailto:w...@styx.org>
http://river.styx.org/ww/ <sip:w...@styx.org>
F4B3 39BF E775 CF42 0BAB 3DF0 BE40 A6DF B06F FD45

nat lu

unread,
Jun 29, 2011, 3:13:26 PM6/29/11
to pedant...@googlegroups.com
Great work, even if the pedants have nits to pick - its great to see
some fruit for your efforts Im sure.

Personally, I'd love to see the 303 stuff too if it helps make the
ontology available, referencable and reusable with colleagues, friends
and enemies.

On 29/06/11 10:56, Jo Walsh wrote:

Reply all
Reply to author
Forward
0 new messages