- From: Richard Wallis <richard.wallis@dataliberate.com>
- Date: Wed, 27 Feb 2019 11:51:19 +0000
- To: public-bibframe2schema@w3.org
- Message-ID: <CAD47Kz5TO2jQsU8xWghoCeUf_PDymr3mRJDfqR6GCSFYGP4n9Q@mail.gmail.com>
Hi All, I have assembled a set of SPARQL scripts that I have used to enhance Bibframe 2.0 RDF entities with Schema.org triples and reproduced them into a page on our Wiki <SPARQL Conversion Examples <https://www.w3.org/community/bibframe2schema/wiki/SPARQL_Conversion_Examples_-_from_RJW> > The scripts assume that they are being run against a SPARQL endpoint of a triplestore containing Bibframe 2.0. They assume that the Schema.org triples will be inserted into the store. These can easily be changed to just output the triples, as the results of a query, by replacing the INSERT verb with CONSTRUCT. A triplestore is not necessarily a prerequisite as the scripts could also be used within an inline process script. I am working on such a script that I use, to get it into a sharable state -- *more of that later!* My approach has been to produce individual scripts for each Biframe entity or property that can usefully used to identify Schema.org equivalents. I find this produces more maintainable/debuggable scripts than producing a humungous single script that 'does everything', not that this approach doesn't have its own problems. They are there to view and comment upon - please join in. Apart from simple conversions such as for Organization <https://www.w3.org/community/bibframe2schema/wiki/SPARQL_Conversion_Examples_-_from_RJW#Organization>, the page contains more complex examples, such as Work <https://www.w3.org/community/bibframe2schema/wiki/SPARQL_Conversion_Examples_-_from_RJW#Work>, Instance <https://www.w3.org/community/bibframe2schema/wiki/SPARQL_Conversion_Examples_-_from_RJW#Instance>, and Item <https://www.w3.org/community/bibframe2schema/wiki/SPARQL_Conversion_Examples_-_from_RJW#Item>. These attempt to solve some of the more significant challenges encountered with conversion from Bibframe to Schema.org: - Typing - Identifying the correct schema types to assign for audio, video, dataset, etc. - Preserving the relationship between Work, Instance and Item entities using the schema workExample and exampleOfWork properties. - Denormalisation of Work data - copying properties [that in Bibframe that only appear in Work] from the Work entity into Instance and Item definitions. (Schema.org expects that a single entity could stand alone containing all relevant properties) One challenge I have not yet been able to solve is '*how the heck do you decide that an entity should be defined as a schema:Book*'. There is bookFormat & BookFormat, but in my test data they don't appear to be used. It is a little frustrating that I can easily identify Map, AudioObject, & ImageObject types but can't reliably pick out what is a Book - Any advice gratefully received! Need also to work out what to do with Agent entities that are not also defined as being either a Person or Organization. If anybody has similar scripts that we can share to help us towards our goal, please upload to the wiki. ~Richard. Richard Wallis Founder, Data Liberate http://dataliberate.com Linkedin: http://www.linkedin.com/in/richardwallis Twitter: @rjw
Received on Wednesday, 27 February 2019 11:51:53 UTC