valueflows / agent

agent has moved to https://lab.allmende.io/valueflows/agent
10 stars 4 forks source link

User defined context? #26

Closed fosterlynn closed 8 years ago

fosterlynn commented 8 years ago

I'm trying to understand how to think about the user (network) defined agent types and relationship types. Should they be generated as a context in the namespace of the network? Or should they be part of the data, not the context?

On the side of context: For agent types, the things they are subclasses of will be in the context (Organization, etc.). For relationship types, the same kinds of things will be part of the context, or at least other contexts. I.e. there are a bunch of relationship names in the various standards - member, follow, etc.

On the side of data: The vocabulary of the networks will not be stable. If they delete an agent type or relationship type, it is suddenly gone from their namespace. So basically, nobody else can count on using them, so are they really vocabulary? Doesn't seem like it, but... ?

ahdinosaur commented 8 years ago

i was imagining we would put the abstract vocabulary as the context and the user-defined vocabulary (agent types and relationship types) as the data. my intuition tells me to avoid adding our own defined opinions to our context (any specific agent types or relationship types).

i could be convinced of having our own set of pre-defined vocabulary that we think would align with most networks, although even then when in comes to implementation i'll want to try and figure out how to handle owl:equivalentClass and owl:equivalentProperty properly so user-defined vocabularies are always in a local namespace.

ahdinosaur commented 8 years ago

@fosterlynn great topic for discussion by the way, i've been thinking about this as well and appreciate hearing more sides to the story.

fosterlynn commented 8 years ago

@ahdinosaur Yeah, I lean towards that too - keep it in the data. Although to clarify, yes I would have put them in their own namespaces, i.e. dhen, sensorica, enspiral, etc. But the more I think about it, the more I think vocabulary has to be long-lived. And these people wouldn't even know they were creating vocabulary.

I think I'll proceed in that direction for now, and we'll see how it goes.

Other more experienced opinions welcome!

i could be convinced of having our own set of pre-defined vocabulary that we think would align with most networks,

That's where I was going with putting Network in as a subclass of Group, seemed like a useful definition for lots of people. But I'm fine leaving that out for now per @elf-pavlik suggestion, and letting that develop more organically.

ahdinosaur commented 8 years ago

we also have a use case of vocabulary authors like @joshuavial with OpenOS (initial doc) who are creating agent types (individual, pod, community, network) and relationship types (agreement, commitment, delegation) that are meant to be applicable beyond their specific network.

the more I think vocabulary has to be long-lived.

i have the opposite reaction. when i think about natural human language, it seems to be the opposite of long-lived: the semantics and identifiers are always changing. if we assimilate with other cultures, we bring their language into our language as our own; if we scrape historical data from lost sources, we can reconstruct snapshots from that point in time to be referenced again. i think it's more appropriate to focus on making intelligent systems so our vocabularies are portable and able to reference past, present, and future versions of each other, rather than assume they won't move or change.

gcassel commented 8 years ago

I think it will ultimately be very helpful to develop crowdsourced and crowdrated technical thesauri/thesauruses, within which the 'synonym matches' per term can be sorted (or resorted) according to specific projects and/or groups of raters/participants.

Thesauri certainly aren't a 'whole answer' in themselves, because terms can't be directly translated between genuinely different types of systems.

bhaugen commented 8 years ago

@ahdinosaur - please explain?

relationship types (agreement, commitment, delegation)

Agreement or commitment to what? Delegation of what?

Just going by the common meanings of those words, they don't seem like simple organizational relationships where (for example) one agent is a member of a pod, but relationships between two or more agents about some other object (agreement or commitment to do something together, where the "something" has its own definition, for example). What am I missing?

fosterlynn commented 8 years ago

I think it will ultimately be very helpful to develop crowdsourced and crowdrated technical thesauri/thesauruses, within which the 'synonym matches' per term can be sorted (or resorted) according to specific projects and/or groups of raters/participants.

@gcassel That makes a lot of sense to me in general. Will require some collaborative processes between people and/or groups to come to some consensus on definitions I would think - as you imply with "crowdsourced and crowdrated". But in the end will make everything more interoperable.

Besides how, a question is when. So now, for example, the herbal network we are working with is learning and defining their relationship terms as they go, and they certainly don't need to be slowed down by any further thought on that issue. (It is easily changeable in the system for them.) On the other hand, a lot of their relationship types will apply to other farm / food situations. One network might want to know that a "grower" (or "farm" or "harvesting site" or whatever) from this other network could be a "grower" for them too.

I think it will need to happen when the need arises between networks, and hard to make it happen before. And maybe will happen more with defining "sameAs" or "equivalentClass" type constructs, I don't know.

Would it be a different use case when someone like @joshuavial is actually defining vocabulary with careful thought about ontology, as opposed to say a bunch of herbalists and farmers? Maybe. Although I'm guessing we would still want more than one group to want to use it.