diff --git a/goblin/properties.py b/goblin/properties.py
index f803052..912bb20 100644
--- a/goblin/properties.py
+++ b/goblin/properties.py
@@ -172,6 +172,8 @@ class Integer(abc.DataType):
     def validate(self, val):
         if val is not None:
             try:
+                if isinstance(val, long):
+                    return long(val)
                 return int(val)
             except (ValueError, TypeError) as e:
                 raise exception.ValidationError(

64-bit Integer Properties
`goblin.Integer` uses the built-in python `int` for validating whether a given value is integer (https://github.com/davebshow/goblin/blob/master/goblin/properties.py#L175). However, this causes problems with 64-bit integers. For example, `list` and `set` cardinality creates `*VertexPropertyManager` instances that call validate on each argument they are given.

In order to support correct GraphSON serialization to `Int64`, `gremlin_python` creates a `long` type in `gremlin_python.statics`. Developers should cast integers to that sub-class of `int` if they want them to be serialized correctly to the database. Sets of 64-bit integers, however, get cast back to the 32-bit `int` because of the validator.

I propose replacing the existing validate with:

```python
                if not isinstance(val, long):
                    return int(val)
                else:
                    return val
```

where `long` is `from gremlin_python.statics import long`. Happy to pull request for this again.
diff --git a/tests/test_properties.py b/tests/test_properties.py
index bb7a620..c264e5a 100644
--- a/tests/test_properties.py
+++ b/tests/test_properties.py
@@ -144,6 +144,10 @@ def test_set_change_set_card_vertex_property(place):
 def test_set_card_union(place):
     place.important_numbers = set([1, 2, 3])
     place.important_numbers = place.important_numbers.union({3, 4, 5})
+
+def test_set_card_64bit_integer(place):
+    place.important_numbers = set([long(1), long(2), long(3)])
+    assert all(isinstance(i.value, long) for i in place.important_numbers)
         
 def test_set_card_validation_vertex_property(place):
     with pytest.raises(exception.ValidationError):

pip install -e .
parse_log_pytest
requirements.txt
pytest pytest-asyncio
3.5
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
aiogremlin==3.2.4
aiohttp==1.3.3
async-timeout==4.0.2
attrs==22.2.0
certifi==2021.5.30
chardet==5.0.0
charset-normalizer==2.0.12
coverage==6.2
coveralls==1.1
docopt==0.6.2
-e git+https://github.com/davebshow/goblin.git@6328a004969d2cf02af9748045719020324bf8d5#egg=goblin
idna==3.10
importlib-metadata==4.8.3
inflection==0.3.1
iniconfig==1.1.1
multidict==5.2.0
packaging==21.3
pluggy==1.0.0
py==1.11.0
pyparsing==3.1.4
pytest==7.0.1
pytest-asyncio==0.16.0
PyYAML==3.12
requests==2.27.1
tomli==1.2.3
typing_extensions==4.1.1
urllib3==1.26.20
yarl==0.9.8
zipp==3.6.0

name: goblin
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - aiogremlin==3.2.4
      - aiohttp==1.3.3
      - async-timeout==4.0.2
      - attrs==22.2.0
      - chardet==5.0.0
      - charset-normalizer==2.0.12
      - coverage==6.2
      - coveralls==1.1
      - docopt==0.6.2
      - idna==3.10
      - importlib-metadata==4.8.3
      - inflection==0.3.1
      - iniconfig==1.1.1
      - multidict==5.2.0
      - packaging==21.3
      - pluggy==1.0.0
      - py==1.11.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - pytest-asyncio==0.16.0
      - pyyaml==3.12
      - requests==2.27.1
      - tomli==1.2.3
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - yarl==0.9.8
      - zipp==3.6.0
prefix: /opt/conda/envs/goblin

tests/test_properties.py::test_set_card_64bit_integer
tests/test_properties.py::test_set_change_property tests/test_properties.py::test_property_default tests/test_properties.py::test_validation tests/test_properties.py::test_setattr_validation tests/test_properties.py::test_set_id_long tests/test_properties.py::test_id_class_attr_throws tests/test_properties.py::test_set_change_vertex_property tests/test_properties.py::test_vertex_property_default tests/test_properties.py::test_validate_vertex_prop tests/test_properties.py::test_set_change_list_card_vertex_property tests/test_properties.py::test_list_card_vertex_property_validation tests/test_properties.py::test_set_change_set_card_vertex_property tests/test_properties.py::test_set_card_union tests/test_properties.py::test_set_card_validation_vertex_property tests/test_properties.py::test_cant_set_vertex_prop_on_edge tests/test_properties.py::test_meta_property_set_update tests/test_properties.py::test_meta_property_validation tests/test_properties.py::TestString::test_validation tests/test_properties.py::TestString::test_to_db tests/test_properties.py::TestString::test_to_ogm tests/test_properties.py::TestString::test_initval_to_db tests/test_properties.py::TestInteger::test_validation tests/test_properties.py::TestInteger::test_to_db tests/test_properties.py::TestInteger::test_to_ogm tests/test_properties.py::TestInteger::test_initval_to_db tests/test_properties.py::TestFloat::test_validation tests/test_properties.py::TestFloat::test_to_db tests/test_properties.py::TestFloat::test_to_ogm tests/test_properties.py::TestFloat::test_initval_to_db tests/test_properties.py::TestBoolean::test_validation_true tests/test_properties.py::TestBoolean::test_validation_false tests/test_properties.py::TestBoolean::test_to_db_true tests/test_properties.py::TestBoolean::test_to_db_false tests/test_properties.py::TestBoolean::test_to_ogm_true tests/test_properties.py::TestBoolean::test_to_ogm_false tests/test_properties.py::TestBoolean::test_initval_to_db_true
goblin/properties.py
goblin/properties.py