Based on the comments in http://groups.drupal.org/node/152939 I made a draft implementation of what I was considering as a 'semantic form widget' using Freebase's 'suggest' widget.
Module code is available here: http://github.com/adorsk-whoi/fb_reference
Details
The module defines a 'Freebase Reference' field type which can be used to reference freebase topics via Freebase's suggest widget.
The field stores the label and mid of a Freebase topic. It renders values either as (1) 'Topic Name + mid ('Harold and Maude [mid: /m/03gmw] '), (2) just the topic name ('Harold and Maude'), or (3) just the mid ('/m/03gmw') .
Possible Uses<
One way to use this module is to easily add controlled vocabularies to your site. The terms from these vocabularies would have semantic identifiers which could be referenced on the web.
For example, say I'm making a database of film reviews and I want to identify film names with unique, referenceable identifiers.
I would make a Freebase Reference field and limit its choices to Freebase's '/film/film' type.
When users make data entries and select film names they would see an autocomplete whose choices are films in freebase. When they select a film they would store both a readable film name (e.g. 'Harold and Maude') and a unique ID for the film (e.g. '/m/03gmw').
I could then later use that id to build a referenceable URI (e.g. http://rdf.freebase.com/rdf/m.03gmw ) .
Or I could use the Freebase mid to query Freebase via MQL.
Thoughts
What I like about this is that Freebase's suggest widget is highly usable, that I can easily add new terms to Freebase, and that I don't have to host any vocabularies myself.
I also like that my users can see readable data rather than raw machine-readable ids.
Perhaps the idea of 'Labeled URIs' (LURIs?) could be useful for other linked data tools.
For example, if there was a way to use the results of a SPARQL view as the source for an autocomplete (as linclark suggested in http://groups.drupal.org/node/152939#comment-510434 ) . When something from the autocomplete was selected it would generate a string like 'Human Readable Label [http://myvocab.com#mylabel]'
If this is useful to other people maybe I'll consider developing it as a proper contrib module.
Otherwise I'll plan to leave it on github.
I hope that this helpful. Any feedback is welcome.
Comments
Great idea for a module
It sounds great, @adorsk. Please keep going with it, and consider making it a module. I work with a nonprofit, SpaceforGood, which is looking for exactly what you have done. The founder is working on the taxonomy (as an editor on Freebase) for charities (non-profits), wanting to pull in that data and taxonomy without having to have it on the website. That's step one, then the idea is to categorize videos semantically, for easier search. I think it would be great for many folks to have this functionality available, though I'm not yet technically savvy enough to know how it works with what Lin Clark and scor are doing. Hopefully they will join this conversation.
Best, Marilyn
We were involved in the
We were involved in the original brainstorming on the other post :) It should work just fine. So long as the values are links (they have an href to the URI) or the resource attribute is used, then they will be properly processed in the RDFa.
A good place to test this is the Sindice Inspector.
I haven't installed yet to
I haven't installed yet to test, but it sounds like it would make a useful module to me.
I am creating a site which would have Locations which would be universities and speaker names. This sounds like it would be a perfect companion to help with the accuracy/standardization of the user's data entry for those two fields.
This seems like a subset of the VIVO ontology
http://vivoweb.org/download
Love the idea, but am having an issue
Is this the right place to report bugs/issues?
I'm trying it out on my Drupal 7.12 site. It works well when I create it as a field w/in a new content type, but when I actually try to use when generating content it doesn't work at all (the field is empty/has no suggestions).
Thanks so much for leading this effort!
Seems like you also created
Seems like you also created an issue on github at https://github.com/adorsk-whoi/fb_reference/issues/1. I'd advice to contact the creator of the module (adorsk) via his drupal.org contact form and ask him if he is still maintaining that module, and where to report issues. It might help if he moved to drupal.org as a sandbox.