Kingsley Idehen wrote:
Nathan wrote:
Pat Hayes wrote:
On Jun 30, 2010, at 6:45 AM, Toby Inkster wrote:
On Wed, 30 Jun 2010 10:54:20 +0100
Dan Brickley <dan...@danbri.org> wrote:
That said, i'm sure sameAs and differentIndividual (or however it is
called) claims could probably make a mess, if added or removed...
You can create some pretty awesome messes even without OWL:
# An rdf:List that loops around...
<#mylist> a rdf:List ;
rdf:first <#Alice> ;
rdf:next <#mylist> .
# A looping, branching mess...
<#anotherlist> a rdf:List ;
rdf:first <#anotherlist> ;
rdf:next <#anotherlist> .
They might be messy, but they are *possible* structures using
pointers, which is what the RDF vocabulary describes. Its just about
impossible to guarantee that messes can't happen when all you are
doing is describing structures in an open-world setting. But I think
the cure is to stop thinking that possible-messes are a problem to be
solved. So, there is dung in the road. Walk round it.
Could we also apply that to the 'subjects as literals' general
discussion that's going on then?
For example I've heard people saying that it encourages bad 'linked
data' practise by using examples like { 'London' a x:Place } - whereas
I'd immediately counter with { x:London a 'Place' }.
Surely all of the subjects as literals arguments can be countered with
'walk round it', and further good practise could be aided by a few
simple notes on best practise for linked data etc.
IMHO an emphatic NO.
RDF is about constructing structured descriptions where "Subjects" have
Identifiers in the form of Name References (which may or many resolve to
Structured Representations of Referents carried or borne by Descriptor
Docs/Resources). An "Identifier" != Literal.
If you are in a situation where you can't or don't want to mint an HTTP
based Name, simply use a URN, it does the job.
Surely that's Linked Data or a variant of EAV, not RDF - why should the
core level data model be restricted so that it can't be used to say
simple things like { 1 x:lessThan 2 ) ?
Moreover, { :a :b "something" } == { "something" [owl:inverseOf :b] :a }
aside: you know I fully grok all the benefits of linked data and am a
huge proponent, but rdf at it's core isn't linked data and saying:
{ x:London rdfs:label "London" }
is the same as saying
{ "London" is rdfs:label of x:London }
afaik, directionality doesn't come in to it.
Best,
Nathan
please do correct me if I'm wrong