"Freebase currently has no explicit support for RDF. We've got a lot of features that we're..."
see the rdf schema doc
the core rdf schema constructs map almost exactly into the metaweb.
rdfs:resource - /type/object
rdfs:class - /type/type
rdfs:property - /type/property
rdfs:type - /type/object/type
rdfs:label - /type/object/name
rdfs:range - /type/property/expects_type
rdfs:domain - /type/property/schema
these have no equivalent in mql:
rdfs:subClassOf
rdfs:subPropertyOf
while you could express subtyping in the metaweb (and there are hints
to the clients to do just that), the query engine itself doesn't infer type
membership - other than the implicit /type/object, all typing must be
represented explicitly.
rdf containers and mql collections are very different.
- rdf is low-level and more expressive.
- metaweb collections are simpler.
- enforcing rdf container well-formedness is put off to the application.
- metaweb collection consistency is enforced through mql.
- rdf containers are bags (duplicate elements allowed)
- metaweb collections are sets (no duplicates) (?)
rdf containers are themselves resources
- requires an extra object as a level of indirection.
- ordering is handled by having a different predicate for each index
mql collections are just multiple-valued properties.
- the collection is not itself an object
- ordering is handled by decorating the links with additional links
- representation of ordering is less efficient, but a more natural
extension of unordered collections.
- possibly more flexible in representing partial orders?
rdfs collections are just lisp lists (first/rest/nil)
- no equivalent in the metaweb datamodel, but would be easy to add
- no mql support for these lists though.
todo:
compare rdfs reification with mql link reification
the core rdf schema constructs map almost exactly into the metaweb.
rdfs:resource - /type/object
rdfs:class - /type/type
rdfs:property - /type/property
rdfs:type - /type/object/type
rdfs:label - /type/object/name
rdfs:range - /type/property/expects_type
rdfs:domain - /type/property/schema
these have no equivalent in mql:
rdfs:subClassOf
rdfs:subPropertyOf
while you could express subtyping in the metaweb (and there are hints
to the clients to do just that), the query engine itself doesn't infer type
membership - other than the implicit /type/object, all typing must be
represented explicitly.
rdf containers and mql collections are very different.
- rdf is low-level and more expressive.
- metaweb collections are simpler.
- enforcing rdf container well-formedness is put off to the application.
- metaweb collection consistency is enforced through mql.
- rdf containers are bags (duplicate elements allowed)
- metaweb collections are sets (no duplicates) (?)
rdf containers are themselves resources
- requires an extra object as a level of indirection.
- ordering is handled by having a different predicate for each index
mql collections are just multiple-valued properties.
- the collection is not itself an object
- ordering is handled by decorating the links with additional links
- representation of ordering is less efficient, but a more natural
extension of unordered collections.
- possibly more flexible in representing partial orders?
rdfs collections are just lisp lists (first/rest/nil)
- no equivalent in the metaweb datamodel, but would be easy to add
- no mql support for these lists though.
todo:
compare rdfs reification with mql link reification

