Ivan, all,
Le 06/07/2010 18:00, Ivan Mikhailov a écrit :
> After 7 days of discussion, are there any volunteers to implement this
> proposal? Or you specify the wish and I should implement it (and
> Kingsley should pay) for an unclear purpose? Sorry, no.
Not only there are volunteers to implement tools which allow literals as
subjects, but there are already implementations out there.
As an example, take Ivan Herman's OWL 2 RL reasoner [1]. You can put
triples with literals as subject, and it will reason with them.
Here in DERI, we also have prototypes processing generalised triples.
Other reasoners are dealing with literals as subjects. RIF
implementations are also able to parse triples with literals as
subjects, as it is required by the spec.
In addition to the existing implementations, it should be noticed that
the main standards built on top of RDF(S) (SPARQL, OWL 2, RIF) are all
using generalised triples instead of the restrictive RDF triples. So,
basically, all the upper levels of the Semantic Web layer cake are not
based on RDF but on generalised RDF...
Some people mentioned scalability issues when we allow literals as
subject. It might be detrimental to the scalability of query engines
over big triple stores, but allowing literals as subjects is perfectly
scalable when it comes to inference materialisation (see recent work on
computing the inference closure of 100 billion triples [2]).
Considering this amount of usage and use cases, which is certainly meant
to grow in the future, I believe that it is time to standardised
generalised RDF. In addition, there are readily available serialisations
for it (N3, or a straightforward extension of N-triple or Turtle) and a
backward compatible extension of RDF/XML has been proposed in this
thread (by Sandro Hawke).
A possible compromise would be to define RDF 2 as /generalised RDF +
named graphs + deprecate stuff/, and have a sublanguage (or profile)
RDF# which forbids literals in subject and predicate positions, as well
as bnodes in predicate position.
Then SPARQL, OWL 2 and RIF would really refer to RDF 2 instead of each
redifining generalised RDF. People implementing optimisations of triple
stores would be implementing a W3C-approved part of RDF (namely, RDF#),
just like people implementing OWL 2 QL implement part of OWL 2 for
efficient data indexing and query answering.
Honestly, it's just about putting a W3C stamp on things that some people
are already using and doing. Just like named graphs and other stuff.
Plus, it's an easy one since the semantics is already there.
[1] http://www.ivan-herman.net/Misc/2008/owlrl/
[2] Jacopo Urbani, Spyros Kotoulas, Jason Maassen, Frank van Harmelen,
and Henri Bal. "OWL reasoning with WebPIE: calculating the closure of
100 billion triples" in the proceedings of ESWC 2010.
Regards,
AZ.
--
Antoine Zimmermann
Post-doctoral researcher at:
Digital Enterprise Research Institute
National University of Ireland, Galway
IDA Business Park
Lower Dangan
Galway, Ireland
[email protected]
http://vmgal34.deri.ie/~antzim/