Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exemple fix ? #178

Open
ghost opened this issue Oct 18, 2020 · 0 comments
Open

Exemple fix ? #178

ghost opened this issue Oct 18, 2020 · 0 comments

Comments

@ghost
Copy link

ghost commented Oct 18, 2020

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants