Skip to content

Exemple fix ? #178

@ghost

Description

Hey !

As I'm discovering this cromulent package you developed, I might have encountered several issues with the exemple, I allowed the use of E31_Document which was discouraged (not to say, forbidden) and property names in the .tsv which were renamed.

Thus, I updated the example code but I haven't done the pull request (may I ?), the reason is mainly because you don't mess in somemone else's voacab ;) Maybe there are some issues with the E31 I don't have knowledge of.

from cromulent.model import factory, Identifier, AuthorityDocument, Document, Activity, Event, TimeSpan, HumanMadeObject, Acquisition, Type

# Locally "subclass" to create consistent patterns with E55 and AAT
class Painting(HumanMadeObject):
	def __init__(self, *args, **kw):
		super(Painting, self).__init__(*args, **kw)
		self.classified_as = Type("http://vocab.getty.edu/aat/300033618")

class LugtNumber(Identifier):
	def __init__(self, *args, **kw):
		super(LugtNumber, self).__init__(*args, **kw)
		# ???
		self.classified_as = Type("http://vocab.getty.edu/aat/300033618")	

class TMSNumber(Identifier):
	def __init__(self, *args, **kw):
		super(TMSNumber, self).__init__(*args, **kw)
		# Repository Number
		self.classified_as = Type("http://vocab.getty.edu/aat/300404621")

class LotNumber(Identifier):
	def __init__(self, *args, **kw):
		super(TMSNumber, self).__init__(*args, **kw)
		# Lot Number
		self.classified_as = Type("http://vocab.getty.edu/aat/300404628")


# Or actually subclass in an extension vocab
class Mosaic(HumanMadeObject):
	_type = "extension:Mosaic"

factory.base_url = "http://data.getty.edu/provenance/"
factory.default_lang = "en"

catalog = Document("catalog")
page = Document("catalog-entry")
catalog.c_part = page
auction = Activity("auction")
catalog.documents = auction
lot = Activity("lot")
auction.part = lot
page.documents = lot
txn = Acquisition("sale")
lot.part = txn
what = Painting('my-painting')
txn.transferred_title_of = what
what._label = "My First Paint By Numbers"
what.identified_by = TMSNumber("")


# print(factory.toString(catalog, compact=False))
factory.elasticsearch_compatible = True
factory.context_uri = {
    "name": "http://schema.org/name",
    # This means that 'name' is shorthand for 'http://schema.org/name'
    "image": {
      "@id": "http://schema.org/image",
      # This means that 'image' is shorthand for 'http://schema.org/image'
      "@type": "@id"
      # This means that a string value associated with 'image' should be interpreted as an identifier that is an IRI
    },
    "homepage": {
      "@id": "http://schema.org/url",
      # This means that 'homepage' is shorthand for 'http://schema.org/url'
      "@type": "@id"
      # This means that a string value associated with 'homepage' should be interpreted as an identifier that is an IRI 
    }
}
factory.base_dir = "C:/_Archi/Etudes/20ND_Reperage/CRM_ModélisationConnaissances/PY-A_Script Exif/_out"
factory.full_names = True
factory.toFile(catalog, filename="out.json",compact=False)

print(factory.toString(catalog, compact=True))

Looking forward to output via python some .ttl from the crom json.
Bests,
Antoine

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions