Skip to content

Add more export formats (e.g. as offered but obsolete at schema.rdfs.org) #208

Open
danbri opened this Issue Dec 28, 2014 · 5 comments

3 participants

@danbri
danbri commented Dec 28, 2014

schema.rdfs.org offers JSON and CSV views of schema.org. However it is un-maintained. We are now reasonably well set up to do more of this kind of thing within schema.org itself than when both sites were first launched.

  • JSON(-LD)
  • Turtle #317
  • CSV
  • Other?
@danbri
danbri commented Dec 28, 2014

Here's a quick look at reproducing the CSV export for types. You can run it in localhost:8000/console in appengine.

    # CSV for types:
    # id,label,comment,ancestors,supertypes,subtypes,properties
    # ComedyClub,Comedy Club,,Thing Organization LocalBusiness EntertainmentBusiness,EntertainmentBusiness,,

    import pprint
    from api import *

    t = 'CreativeWork'

    di = Unit.GetUnit("domainIncludes")
    ri = Unit.GetUnit("rangeIncludes")

    def GetLabel(term):
        for triple in term.arcsOut:
                if (triple.arc.id == 'rdfs:label'):
                    return triple.text
    def PropsForType(term):
            for prop in sorted(GetSources(di, term), key=lambda u: u.id):
                pprint.pprint("Property: %s" % prop.id )

    term = Unit.GetUnit(t)
    term_desc = GetComment(term)
    p_subtypes = GetImmediateSubtypes(term)
    p_supertypes = GetImmediateSupertypes(term)

    subs =  ( "Direct subtypes of %s: %s" % ( term.id, ', '.join([str(x.id) for x in p_subtypes]) ) )
    sups =  ( "Direct supertypes of %s: %s" % ( term.id, ', '.join([str(x.id) for x in p_supertypes]) ) )

    pprint.pprint("Term: %s Label: %s Desc: %s Subs: %s Supers: %s Properties: %s" % (term.id, GetLabel(term), term_desc, subs, sups, PropsForType(term) )  )
@sesuncedu

What about mapping to/from OWL? Now I have a microdata->RDF parser working, I can get back to hacking on this.

I'm not sure if it's better to use anonymous union classes where there are multiple domain and range statements given, or whether defining a named equivalent class is nicer (that has the advantage of possibly catching some missing abstractions when the hierarchy is classified ).

I'm feeling lazy enough to not bother trying to be clever about properties that are data and object valued, and just box incoming literal values.

@danbri danbri added this to the sdo-gozer release milestone Jan 21, 2015
@danbri danbri self-assigned this Jan 21, 2015
@gebrits
gebrits commented Dec 11, 2015

@danbri is this still on the agenda? Specifically looking for an up-to-date json-LD representation including attribute-types

@danbri danbri removed the type:enhancement label Mar 7, 2016
@danbri
danbri commented May 15, 2016

Yup, this still matters...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.