- From: Nathan <nathan@webr3.org>
- Date: Sun, 06 Jun 2010 17:17:39 +0100
- CC: Richard Cyganiak <richard@cyganiak.de>, Semantic Web <semantic-web@w3.org>, Linked Data community <public-lod@w3.org>, dret@berkeley.edu
All, My brains breaking over this one - can see it and can't quite flesh out the details (or figure out if it's worth it) - it's very much a marmite (love/hate) idea that I haven't fully formed, and is targeted at addressing some common problems with namedgraph, reification, provenance tracking and metadata about data. And as I'm sure you realise by now I'm not afraid to be wrong or simply throw out ideas in to the public domain, so here goes: 1: Introduce a 'value' property Where currently we can say: :me foaf:name 'nathan' . I'd propose introducing an ex:value property that allows us to say: :me foaf:name [ ex:value 'nathan' ] . or :me foaf:name :myname . :myname ex:value 'nathan' . I'm hoping the basic human understanding of this is pretty obvious, sorting out the domain & range of ex:value, class of :myname, ontology details and related are hurting my head a bit at the minute. And thus you could describe a value: :me foaf:name [ ex:value 'nathan' ; ex:type xsd:string ; ex:language 'en-gb' . ] . And do some funkier stuff: :me foaf:mbox :myemail ; :myemail ex:value <mailto:nathan@webr3.org> ; ex:sha_1 'KLSJFS9F7S9D8F7SLADFSLKDJF98SD7' ; dcterms:created '2010-06-03T15:19:35-05:00' ; dcterms:replaces :oldmail . :oldmail ex:value <mailto:oldemail@webr3.org> . so because of the way ex:value works, in there we have the triple: <mailto:nathan@webr3.org> dcterms:replaces <mailto:oldemail@webr3.org> . but we've also introduced a way to make non http URIs dereferencable.. <http://webr3.org/nathan#oldmail> ex:value <mailto:oldemail@webr3.org> . see why my head is hurting with this? 2: Double Serialization In a way we can already do this with rdf:XMLLiteral :x content:encoded '<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="http://ex.org/egg#i"><rdfs:label xml:lang="en">egg</rdfs:label></rdf:Description></rdf:RDF>'^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> . so we could say: :x a ex:NamedGraph ; ex:graph '<rdf:RDF...'^^rdf:XMLLiteral . or including ex:value as outlined in 1 earlier: :graph1 a ex:NamedGraph ; ex:graph [ ex:value '''some serialized rdf in here''' ; ex:type 'text/rdf+n3' . ] . Would allow you to strap provenance / meta to a value and/or the named graph.. and here's where it's either so simple, or so complex that my brain simply pickles: example onto: ex:graph rdfs:domain ex:NamedGraph; rdfs:range ex:Graph . example graph: :graph1 ex:graph :v3 . :v3 ex:value '''some serialized rdf in here''' ; ex:type 'text/rdf+n3' ; dcterms:replace :v2 . v2 ex:value '''old serialized rdf here''' ; ex:type 'text/rdf+n3' ; dcterms:replace :v1 . ...... I'm sure there's something in using [ log:content, log:n3String, log:uri ] here instead, and quite sure that by stating that graph contents where either a Truth or a Falsehood you could use for rdf updates.. So, is there something in this, am I going down a wrong path, thoughts, feedback, anything? Best, Nathan
Received on Sunday, 6 June 2010 16:18:22 UTC