W3C home > Mailing lists > Public > public-bibframe2schema@w3.org > February 2019

Bibframe to SChema.org conversion examples

From: Richard Wallis <richard.wallis@dataliberate.com>
Date: Wed, 27 Feb 2019 11:51:19 +0000
Message-ID: <CAD47Kz5TO2jQsU8xWghoCeUf_PDymr3mRJDfqR6GCSFYGP4n9Q@mail.gmail.com>
To: public-bibframe2schema@w3.org
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

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
the page contains more complex examples, such as Work
and 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 Wallis
Founder, Data Liberate
Linkedin: http://www.linkedin.com/in/richardwallis
Twitter: @rjw
Received on Wednesday, 27 February 2019 11:51:53 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 27 February 2019 11:51:54 UTC