- From: Richard Smith <richard@ex-parrot.com>
- Date: Wed, 12 Feb 2014 22:45:05 +0000 (GMT)
- To: Semantic Web <semantic-web@w3.org>
- Message-ID: <alpine.LRH.2.02.1402122132500.9417@sphinx.mythic-beasts.com>
Martynas Jusevičius wrote: > I'm not sure what you intend to use the vocabulary for, Perhaps I should have given a bit more background. I have a tool for managing a collection of files (or links to them). The main part is a SPARQL engine that at the moment allows me to answer queries like "find all pictures of John Smith in France" by writing queries like PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX schema: <http://schema.org/> PREFIX dcterms: <http://purl.org/dc/terms/abstract/> SELECT ?file WHERE { ?file a foaf:Image ; foaf:depicts [ a foaf:Person ; foaf:name "John Smith" ] ; dcterms:spatial [ a schema:Place ; schema:name "France" ] . } That's simplified quite a bit (and if I've introduced errors in the process, my apologies), but basically it's all working well enough for my purposes. However, ideally I also need to be able to handle queries based on the modification date, media type, file length and (for somewhat obscure reasons) the ETag header it gets served with. At the moment I change Last-Modified headers to dcterms:modified (and reformat the date to be a xsd:dateTime), but Content-Type, Content-Length and ETag just get converted into my own custom properties. If something more formal exists, I would much rather use them. Your suggestion of <http://purl.org/NET/mediatypes> and dcterms:format for Content-Type is a good one, and solves that problem. The two obvious choices for Content-Length are dcterms:extent and schema:contentSize is that they're underspecified. In the former case, the property's range is a dcterms:SizeOrDuration: its value is *not* a literal, despite how almost all examples (including the RSS 1.0 spec) seem to use it. I could use it with rdf:value, e.g.: <foo.jpg> dcterms:extent [ rdf:value 514090 ] . But in that example, or as with schema:contentSize, there's no indication of what units are in use. Are they bytes? The schema.org spec suggests kB or MB are preferred. As for the ETag header, I doubt anything suitable exists unless there's already a vocabulary of HTTP headers, hence my quesiton. > but for logging there are templates: > > Turtle access log formatter for Apache: > http://www.ebremer.com/paladin/pipelogger/2013-04-08 > Turtle access log formatter for Tomcat: > https://gist.github.com/pumba-lt/5656373 They make it easier to use the w3's HTTP-in-RDF vocabulary, but that vocabulary is not suitable so it doesn't help here. That's because the set of RDF statements produced do not reference the URL of the file being fetched, so I cannot add it to my SPARQL. (Yes, I could compose the name in SPARQL with a CONCAT of a literal "http:", and the http:connectionAuthority and http:absolutePath properties. But that's very, very messy, and ineffecient in the parsers I'ved tried.) Richard
Received on Wednesday, 12 February 2014 22:45:35 UTC