- From: Markus Lanthaler <markus.lanthaler@gmx.net>
- Date: Tue, 18 Mar 2014 23:13:31 +0100
- To: <public-hydra@w3.org>
On Monday, March 17, 2014 10:02 PM, Ruben Verborgh wrote:
> > You could work around the UI issue by doing an AJAX call instead of
> > reloading the whole page. Loading JSON-LD would make it quite trivial
> > to do the templating client-side.
>
> Exactly, although Turtle might be faster in this particular case since
> the output are triples.
It would be interesting to benchmark that.. I was thinking of JSON-LD
representations of the following form
[
{ "@id": "http://subject", "http://predicate": { "@value": "object" },
{ "@id": "http://subject", "http://predicate": { "@id": "http://object" },
...
]
> > Hmm.. I don't care that much but the former looks a bit strange to
> > me. We also need to consider datatypes and language tags. So we
> > have 4 cases:
> >
> > 1) IRI (+ bnode ID)
> > 2) literal of type rdf:string
> > 3) literal of type rdf:langString
> > 4) literal of any other type
> >
> > We could of course also combine 2 & 4 by always including the
> datatype
>
> My current answer is:
> 1) < . > or _:x
> 2) "string"
> 3) "string"@en
> 4) "string"^^<type>
>
> Gregg remarked that <.> are not necessary.
I agree
> I'd just them to differentiate between qnames and full IRIs,
> but that might not be needed.
Probably not. However, *if* we decide to support them, I would prefer to
special-case qnames. I'm offline at the moment but I think the CURIE spec
recommends wrapping them in square brackets [prefix:suffix].
> >> Both can coexist;
> >> with OWL, we could say that hydra:filter has the restriction
> >> that the property paths are always direct mappings.
> >
> > I haven't checked that yet. Do you have that declaration at hand?
>
> It depends on how we'd express property paths.
I think the simplest thing would be to use lists
> >> But at the moment, this selection happens on the meta-level
> >> and not the data-level, i.e., filtering on triple's
> >> subject/predicate/object,
> >> not on the actual concepts they describe.
> >>
> >>> I meant a Hydra ApiDocumentation along with the used
> >>> vocabularies basically provides a client a(nincomplete) map
> >>> of the graph a service is exposing. Could that map be used to
> >>> dynamically solve queries?
> >>
> >> I see. That could be interesting indeed, but might be a little to
> >> deep for Hydra (and the reason there would be an LDF vocabulary).
> >
> > I'm not sure that anything new is needed, it's more about exploiting
> > the information that's already available.
>
> It would be needed we'd also need to detail how each part of the graph
> can be accessed, i.e., what kind of fragments your are offering.
> Without that, no query plan, without query plan, exponential times
> (or you'd have to download the whole thing before querying it).
Well, the ApiDocumentation along with property ranges and supportedProperty
kind of expresses that information, doesn't it?
--
Markus Lanthaler
@markuslanthaler
Received on Tuesday, 18 March 2014 22:14:29 UTC