|WikiProject Computing||(Rated C-class, Mid-importance)|
List of triplestore implementations language
Its not clearly stated if the Language row in the List of triplestore implementations table describes the programming language the triplestore is programmed in or if it means the programming language that one can use to access the triplestore. — Preceding unsigned comment added by ProfessorBaltasar (talk • contribs) 20:05, 17 January 2012 (UTC)
I removed the following ref, the domain name is now dead.
I had an impression that AllegroGraph together with AllegroStore are written in Common Lisp. Are there any reliable sources to confirm that they are written in Java?--vityok (talk) 11:05, 5 March 2010 (UTC)
- I don't know where to find a reference for this. Wrting "?" for now. Nicolas1981 (talk) 08:00, 14 October 2010 (UTC)
- Yes, it's EAV, but done right.
- EAV is one of many triples, but it's only one of many potential triples. There is a pre-defined schema that defines "where" (if not "what") E, A & V mean. RDF triplestores are broader than this. Anything that fits that data model, no matter what it means by "entity" can be fitted into the triplestore model. It's the same argument as to why RDF is more than a "metadata protocol" (I hate that). Putting EAV into a triplestore is trivial, but not all models that can easily be held in triplestores can be held in EAV systems.
- In practice, triplestores may actually be storing quints, for efficiency reasons. Although it's fundamental to the basic theory of RDF that everything can be resolved into triples, it's more efficient to denormalise a few (actually four, in some architectures) of these together and have a hard-coded representation of the triples that represent a structure from the schema, the data type of that schema attribute, and then the data value for particular instances. Andy Dingley (talk) 22:12, 10 December 2010 (UTC)
Is "graphd" really a triplestore?
Why / why not?
All the documentation on Freebase consistently refer to it as a "tuplestore", and it does contain 6 elements, not 3. This is obviously a matter of definition.
- It's general practice for "triplestores" to actually work with n-tuples, where n is some fixed number >3. They work with triples, they don't have to be implemented out of triples alone.
- The underlying data model is based on triples and much of the theory, and even RDF, is based on triples (i.e. 3-tuples). However when you build a practical triplestore, it becomes useful to bind some of these triples together because they're only ever used (in the context of a t-store) in this grouped form. There is subject, object, predicate (as for the basic theoretical triple) but there's also one indicating the overall model in which these exist, to a data-type etc. It's still possible to break this down into a theoretical triple-based description and express it in N3. However when coding an actual triplestore with working code, the datatype or reification triples are only ever used in that context, never as arbitrary first-class triples in the same way as the other members of the subject, object, predicate set are. It's thus more efficient to code the store on the basis of this n-tuple (n depending on how it's implemented), not merely on a larger number of 3-tuples. My own patent on triplestore implementation is based on 5-tuples. Andy Dingley (talk) 16:19, 13 December 2011 (UTC)
- Thanks. So I understand that triplestores are often implemented with n-tuples (n>3) and I understand why. So graphd is not disqualified as a triplestore because it uses 6 tuples in it's implementation.
- Whether to define it as a triplestore must depend on whether the theory or conceptual model behind it is that of a triplestore, or what?
- The beginning of the article defines it as "storage of rdf data". Well, Freebase is not RDF data. But it is a graph with primitives very similar to those of RDF. Maybe that definition is too narrow?
- graphd is indeed very close to my understanding of a triplestore, but according to the first line of this article strictly it is not, and with regards to their conceptual model I am in doubt.
- A triplestore is something that stores triples.
- There's really no more implied than this. It certainly doesn't imply how it does it.
- I don't know the detail of "Freebase is not RDF data." It could well share the RDF model, but just not use RDFS or OWL for its taxonomy (it's folksonomy based, which tends to suggest not). There are many folksonomy systems that do use the RDF model, but because they can't then use OWL (some still even use RDFS), they claim to not be W3C / SemWeb / RDF systems. Many of these can be identified by the way their practitioners believe that RDF is "doing it all wrong". Silly cults.
- The first line of this article is doubly wrong. There are more triples out there than RDF's, and RDF is for much more than metadata. However it seems to be axiomatic that all SemWeb content on Wikipedia is ignorant crap, because the WP community turns on SemWeb people and tries to topic ban them for knowing too much about a subject. They even did it to DBpedia, which is certainly trying to eat its own children. As a result, WP has become rather an irrelevance to the field. Andy Dingley (talk) 21:10, 13 December 2011 (UTC)
Merge from RDF Database
ProfessorBaltasar (talk) 18:24, 8 February 2012 (UTC) I think it is clear from the RDF Database page that not all RDF databases are triplestores, and thus that the abstract concept should have its own place. Oracle Database supports RDF queries, so is that also a triplestore or is it a RDF store/database? —Preceding undated comment added 18:24, 8 February 2012 (UTC).
- There are no RDF databases that are not also triplestores.
- RDF Databases may not have an exceptionally abstracted view of what "triples" are, but RDF's interpretation is pretty good and can be considered complete for practical purposes (i.e. there are no credible "triples" that can't be represented fully in RDF).
- There are many (although thankfully a declining number) of RDF/XML databases that have no concept of triples. However these are RDF/XML databases, not RDF databases - they (erroneously) handle RDF through the XML Infoset model based on an RDF/XML serialisation. This is a common misunderstanding, but I hope I don't have to explain again how wrong the RDF model vs. RDF/XML confusion is.
- There are a number of triplestores built on top of SQL databases. As SQL databases are cheap, powerful and have been available off-the-shelf for years, this has obvious attractions. I understand that Oracle have gone somewhere down this path. HP did once (and long before Oracle), but abandoned it when they closed HP Labs' work. I think SAP were looking in this direction too. All of these are still triplestores: they may not be native triplestores internally, but if they have the ability to store triples as a service, they are thus triplestores. Andy Dingley (talk) 18:45, 8 February 2012 (UTC)