- From: Sean B. Palmer <sean@mysterylights.com>
- Date: Wed, 15 Oct 2003 16:28:22 +0100
- To: <danny666@virgilio.it>
- Cc: <www-archive@w3.org>
[Some out of date notes that I was preparing. I've actually gone a lot further than this and implemented a schema-aware RDF editor, which I'm just about to post about to rdfweb-dev. Figured that I'd send the history to www-archive just for a laugh.] Just a bunch of notes. I've been wondering about really quick languages for scribbling down RDF, and I figured that your email was a good seed for some of those ideas, but that it'd take it off-topic for rdfweb-dev, hence www-archive. I'm essentially wondering what happens when you create a language that's more abbreviated than N3, easier to scribble, has less baggage but probably ends up being less expressive, or difficult to learn and use. > (loaded as a bunch of standard defs) > Person = http://xmlns.com/foaf/0.1/Person > name = http://xmlns.com/foaf/0.1/name > nick = http://xmlns.com/foaf/0.1/nick > knows = http://xmlns.com/foaf/0.1/knows One of the proposals for Notation3, and something that I used in N3S, is the following syntax: @use Person, name, nick, knows <http://xmlns.com/foaf/0.1/> . Which is very similar to Python import syntax! from http://xmlns.com/foaf/0.1/ import Person, name, nick, knows. Of course. > (at command line) > Person-> > name-> Dan Brickley > nick-> danbri > knows-> > Person-> > name-> Libby Miller > nick-> libby I realise that this was just a very quick sketch of what you'd like to be able to achieve, but it has an interesting mix of nice features and practical problems that I'd like to investigate. The obvious thing missing is typing--I suppose everything's typed as a URI if it's recognized from the config file, though, and typed as a literal otherwise. It appears that the "->" things are actually redundant. But this current syntax assumes striping. It shows you how to descend into new objects, but not get out of them ("<-", perhaps?). Just try adding another property to the danbri Person root node... nick-> libby <- email danbri@example.org And what happens if you want to use classes as subjects/objects in the graph itself, rather than to type? For example, if I wanted to type :Person rdf:type rdfs:Class. Would I have to put the statement on a single line to denote that? In other words: Person-> type-> Class becomes [ a :Person; rdf:type rdfs:Class ] . but Person type-> Class becomes :Person rdf:type rdfs:Class . It gets quite confusing quite quickly, but I like the principle of easy RDF creation. What I'd like to be able to do is load the names in from schemata automatically. Seems like that's why we have a Semantic Web in the first place... to put machine readable data up on the Web. You could specify a list of cascading preferred schemata, so that if there are duplicate terms in different ones the one with the higher preference wins. But this may have the "import * from x" problem. -- Sean B. Palmer, <http://purl.org/net/sbp/> "phenomicity by the bucketful" - http://miscoranda.com/
Received on Wednesday, 15 October 2003 11:29:39 UTC